
David Sta. Cruz
Game Programmer








Omega Thunder is a 3D game I developed at Lamar University for my Game Development II semester project. It was developed using C++, Microsoft Visual Studio, Lightwave, Adobe Photoshop, Timeline FX, Audacity, and The GX Toolkit engine, which is the game engine provided for the course. The project was to create our own original 3D game using the provided engine's API. The project was about a month long and we had an option of working in groups of two or solo. I developed this game in solo and the concept, sound editing, art, models, animations, and programming are all done by me.
The protagonist's name is Raiu and his mission is to destroy a robot-alien spaceship that will destroy the world. The goal of the game is to defeat as many enemies as possible and earn a total score of at least 100,000 points. Doing so will destroy the ship thus, saving the world. On the other hand, reaching the endgame with a score less than 100,000 points will not destroy the ship, which in turn will destroy the world.
I designed the game to be an action game with elements of endless runner, hack-and-slash, and shooter games. The player can shoot lasers using the gun and cut through enemies or projectiles using a blade that can be swung two times. The enemies spawn endlessly and levels up to 10 as the player destroys them. The gun and blade also levels up to 10 in the same manner, increasing their stats. The number of enemies spawned increases by 10 for every time they level up. There are also healing pads in the game which can heal a quarter of the character's health every time the player runs through it. Its spawn time depends on the remaining health of the player and spawns more often when the player's health is less than 25%. The game ends once the player loses all its health, which initiates a self-destruct and destroys all enemies on screen. If the final score is 100,000 or more, a winning screen is shown along with the score, total time played, and the number of enemies defeated. Otherwise, a losing screen is shown if the final score is less than 100,000.
The source code can be found here.