- This project is where I refactored an existing 3D Game Engine codebase, improved the Graphics System maintenance, and extended the engine's functionality with new features.
- Created a platform-independent interface for the Graphics System, with platform-specific representation of meshes, effects, and shaders for both Direct3D and OpenGL.
- Implemented Reference Counting to keep track of Graphics data in a multi-threaded environment.
- Created a human-readable mesh file format using Lua, then read and output the geometry data in binary to improve performance.
- Built a Maya plug-in to seamlessly export meshes and geometry from Maya directly into the game engine.
- Implemented my own Networking System using the UDP Client-Server model, that supports real-time communication between multiple clients of a game.
- Put together a final multiplayer space-shooting game to showcase all the various engine systems I worked on.
Given below are my weekly write-ups describing my progress, my development process, challenges I overcame, and things I learnt along the way!