by diegomacario on 1/24/20, 1:04 PM with 12 comments
by diegomacario on 1/24/20, 1:08 PM
After 4 months of effort, I can finally show you my first game!
I decided to work on this project to gain a deeper understanding of some fundamental concepts of computer graphics and real-time rendering in particular.
In a way, this game is built on top of my own tiny game engine, but I don't like to call it that because it's not very flexible. It's more of a set of classes that can be reused to build other games.
There are many things that I'm proud of, but also many things that I know were big mistakes.
My goal was to write a game without using any global variables, where each game state (e.g. menu, play, pause, win, etc.) would be fully independent and encapsulated.
And while you won't find any global variables in the code, and while you'll see that each game state is represented by its own class, I did not foresee how sharing components (e.g. the camera, the 3D objects, etc.) between the different game states would essentially make those components global.
This lead to game states that depend on each other tightly, which is precisely what I wanted to avoid.
Regardless of that failure (or perhaps because of it), building this game was an amazing learning experience, and the end result is surprisingly beautiful.
The code is fully open source in case anyone wants to learn from my mistakes.
I hope you enjoy my first game! :-)
by jwilber on 1/25/20, 7:17 PM
by im3w1l on 1/25/20, 10:22 AM