In my second bachelor semester, I had the subject known as “Game Engine Design” (GED in short) in which we redesigned a given game engine framework.
The project was ongoing for the whole semester and (as most people did) I used Visual Studio. You also were forced to do in groups of three. Unfortunately, one team member soon left the unversity and the other one didn’t had much time to spare for this project.
We learnt the basics of C++ and HLSL and then step by step rewrote a given game engine.
This was by far the hardet project at that time as you not only had time pressure with deadlines but also had to write (at that time) complex code while learning the language. Additionally, this was the first project I really used GIT.
Still, our team was happy with the results as we reached a little over 60% of points.
Following is a list of things we had to rewrite or improve:
- Procedural terrain generation via Diamond-Square algorithm
- Dynamic Texture Mapping (applied to the terrain)
- Vertex, Geometry and Pixel Shader with HLSL
- Lighting and reflection (specular reflection, n dot l lighting)
- Player and camera movement
- Spaceship model being attached to the front of the camera (first-person camera)
- Enemy spaceships, which spawn procedural, move and disappear
- Projectiles for the player to shoot. Render-pipeline for the projectile sprites.