Paul Lam (aka. Paul Programmer/ Programmer Paul) is from Hong Kong. He is a game programmer with more than one year of game programming experience and at least 5 years of programming experience, with strong Unity C#, C++ and Unreal Engine programming skills. He has joined 2 game jams and done more than 5 official game projects, both individually and in a team. In those games, He has programmed various aspects in games,such as gameplay, AI, UI, physics, networking, audio and procedural generation, and he prides on applying mathematical skills to create innovative mechanics and tools for his games.
He also had experience as a designer, and had worked professionally as a cinematic designer. During his job, he contributed to 5 video advertisement projects with excellent camera, pacing, timing and story, programmatically-implemented more than 3 tools for other cinematic designers plus several gameplay-related functionalities, shipped 1 video advertisement project on Unity platform that maintained an excellent view-to-download conversion rate, communicated and worked closely with programmers, artists, animators and level designers, and maintained balance between quality and efficiency while working under tight deadlines
For my Interactive Portfolio, please check out: http://www.impaullam.com/game/
My Game Projects
- Developed the main menu UI and character selection menu UI to interact with network-based session room creation.
- Created and programmed the in-game leaderboard and end-game leaderboard, to rank players based on stage elimination.
- Implemented stage transitions, setting up stage timer and game spectating using network replications.
- Programmed the audio SFX, announcer voice and music to play throughout the game, using C++ Wwise Audiokinetic System plugin.
- Implemented 2 enemy AIs using behavioral tree and blackboard.
- Programmed the main character’s melee and ranged attack mechanics with 3D vector math used for projectile aiming and shooting.
- Created the shop menu to allow the players to buy health potions.
- Developed a tool using pixel coordinates calculations to replicate a cursor-like navigation for console gamepads.
- Working as a team of five, including a level designer, an artist, an animator and two programmers
- Responsible for AI using behavioral tree and blackboard, decal spawning
- Programmed the main character’s arrow shooting mechanics with 2D physics calculations.
- Implemented 4 enemy AIs. Applied trigonometry for final boss’s movement, as its ‘servants’ move in circles around him.
- Applied the projectile motion formula to implement the ‘Crying baby’ boss’ projectiles, as his tear projectiles shoots as a parabola.
- Implemented the shooting mechanics of the pistol and AK-47 by applying knowledge from 3D vector mathematics.
- By using a navigation mesh system in Unity, programmed a zombie AI that tracks down the player position to follow the player.
- Implemented the follow camera by applying 3D Quaternion mathematics and lerp to smoothen the camera rotation.
- Developed 3 enemy AIs, a melee rogue that patrols a platform and two rangers that rotates and shoots towards the player.
- Created and implemented the dropdown, patrolling and shooting sequence of the final boss
- Programmed the camera to follow the player to different levels and created spawn points to teleport player between levels.
- Implemented the UI on the health bar of the boss and the hearts (remaining lives) of the ninja
My Cinematic Project
- Using C# and Unity, contributed to the camera, pacing, timing, story and implementation of this project
- Programmatically-implemented gameplay-related functionalities, which includes quaternion, trigonometry, collision, ragdoll physics, etc.
- Communicated and worked closely with programmers, artists, animators and level designers
- Developed by Unity Timeline and tools written by programmers
My Web Projects
UBC Courses Checker
- Using HTML5, CSS3, and JQuery in TypeScript, develop a client-based system to navigate various UBC courses and classrooms
- Non-relational database is used, as JSON datafiles are fetched using JQuery to be displayed in the frontend
- Google Map API is used for displaying classroom locations
Associated Engineering Project
- Using React and Spring Framework, develop a file management system with quick search and full text search functionalities
- Applied MySQL relational database optimization techniques, reduced server response time and improved user experience
- Executing agile software team development structure to increase the efficiency of team collaboration
Food Search App
- Worked as a solo full-stack developer, took care of the front-end, back-end and database
- Using Angular and NodeJS, develop a client that allows the users to find nearby restaurants using the Google Map API with a list of keywords the users typed
- REST API is used to store keywords within online SQL relational database, and allows user to delete, change or add keywords