Introduction
MBOStad is the project to which I have made my biggest contribution. From working on 3D level generation, gameplay mechanics, and front-end UI to designing and implementing a brand-new multiplayer architecture, these challenges have taken my (web) development skills to a whole new level.
About the project
MBO Stad enables VMBO and MBO students to find a suitable education within an engaging digital environment, either individually or in groups. Players control a tram and can engage in conversations with the residents of MBO Stad while onboard. This leads to an interview-style interaction where players must guess the resident's profession. Upon giving the correct answer, players can drop off the resident at their workplace. Each time a resident is dropped off, the workplace receives an upgrade. By interacting with residents, dropping them off at workplaces, and upgrading buildings, players can learn more about various professions.
Additionally, a multiplayer mode has been developed for MBO Stad, allowing students to explore the city collectively in a classroom setting.
My contributions
When I first joined MBOStad, the project was still in its early stages. The tram was a cube, passengers couldn't board, the camera was static, there was no multiplayer, and the list goes on. Working closely with another front-end developer, who primarily focused on UI work, we transformed this bare-bones prototype into a fully shippable product.
Due to the constraints of my NDA, I cannot delve into the specifics of my contributions, but I would like to highlight a few key areas that stood out to me:
Multiplayer
Client <> Server communication
Lobby system
API communication
Client-side movement prediction
Gameplay
Dynamic tram (and tram carriage) movement
Tram navigation system
Dynamic camera movement
In-game cutscenes & animations
Minimap
Dynamic (world) generation
NPC (Non-Playable Characters)
Regions
Buildings
Final thoughts
With my prior experience in game and multiplayer development, MBOStad was the perfect project to expand my web development skills. It was also the most enjoyable project I worked on at DTT due to its high level of challenge, which in turn kept me motivated.
This is definitely a project I will never forget.