Overview
The Pok Project was a six-month school project where we built a 3D game engine and used it to run a game on Nintendo Switch. My two main roles were Lead Programmer and Lead Engine.
Result

The engine and the required tools were successfully built. The game itself remained closer to an early prototype, but the project was still an excellent learning experience.
If you want to understand more of what went wrong at the project level, read the post mortem.
I learned a lot during the project, especially in C++ and in the following systems:
- Vulkan and rendering in general
- Space partitioning
- Multithreading
- Physics engine work
- Data-oriented programming and ECS
- Resource management
You can also read the article on the particle system. The multithreading article will be migrated in a later pass.
Lead Programmer with 15 members

My main tasks as lead programmer were:
- managing the team and choosing the working tools
- following the overall schedule decided by the lead project
- choosing an overall coding style and programming philosophy
- keeping everyone focused on the project
The core team had five members:
- Lead Programmer and Lead Engine, my role
- Lead Gameplay Programmer
- Lead Tools and DevOps
- Tool Programmer
- Gameplay Programmer
Later on, underclassmen joined to build tools for both Unity and our custom engine. At that point the project had 15 members. We used two-week sprints inspired by Agile and managed work through Trello cards.
Building a custom game engine

As lead engine, I had to:
- design the engine architecture
- manage the engine team
- gather requests from the game and tools teams and translate them into implementation work
For a broader retrospective on those responsibilities, the post mortem remains the best companion article.