Mission KYS

[Studio Project 4]
Genre: 2D Top Down Stealth
Platform: PC
Language: C++
Made With: OpenGL


Modular dialogue system; dialogue content pushed and iterated dynamically 

My fourth Studio Project, and by far the toughest OpenGL project I’ve worked on.

The base framework for this project is from my “AI Behavior Demo” project.

Time was very limited and many features needed to be completed. To add on to that, I hated static coding and wanted robust and modular systems for everything. This resulted in a rough situation for the team as I revamped many things from the base framework.

I wanted this project to “feel like a game”, and therefore I decided to focus a lot on the aesthetics of the game this time around.

I also wanted to venture more on this project and thus, more experimenting was done. I experimented with Visual Graphics like Fading and coded my own UI Manager, to make the game more aesthetically appealing.

Dynamic Button classes with aspect ratio coded in was also done, making the UI work for any ratio.

Later on, I decided to add a Loading Bar to the game, but since multi-core programming on OpenGL is a hassle, I tried many other alternatives and stumbled across a way to do it by swapping Glut Buffer Displays.

Despite all the obstacles and time constraints faced, the project was completed on time and I ended up with a more dynamic framework to work with for my future OpenGL projects, and I was very pleased.

All my efforts on experimenting paid off as I learned many things I wouldn’t have without this project, and I can now code more visually appealing games in the future with this framework.

Now about the game. This is a stealth game where the player has to avoid the enemies and diffuse bombs. New AI techniques was also implemented this time round and a help system was made to aid the player.

To diffuse a bomb, the player has to complete a Mini Game, and when all 4 bombs are diffused, the player wins.

The player loses when the enemy kills the player by shooting at him. Relax, the enemy will only shoot at you if you get spotted.

The player has no way to attack the enemy and can only dodge their bullets once under attack. Going out of range of the enemy’s viewing frustum will stop the attack.


Main Menu Screen with Dynamic Buttons scaled with Aspect Ratio of the screen


Fading systems that fade sprites and speech in / out


Actual loading of the game by swapping glut buffer displays


AI NPC help system to aid the player


Game revolves around player trying to avoid an enemy’s “viewing frustum”



Enemy AI Algorithms implemented. The above shows the Flocking AI Behavior

No comments:

Post a Comment