Behold my Bachelor's thesis: Developing a 2D video game engine using MonoGame

Posted by : at

Category : update

I’ve been through hell of a months lately, but I’m back to business now. I’ve managed to acquire my Computer Science degree (better late than never…) which means I had also finished my bachelor’s thesis regarding 2D video game engine development using MonoGame. I will share this document publicly, hopefully some people can benefit from it.
Please note that although I’m a seasoned software engineer, the video game development is a fairly new domain for me, and although I did my best to write this engine as good as possible, there might things I’m doing wrong or just simply not the best way possible. I will update the document as I also gain more experience, and if there is something that can be done better, don’t hesitate to let me know.
The engine will evolve further and although I will do my best to reflect these changes in this document, the purpose of this isn’t to serve as a documentation for my engine, but to give some ideas on how to implement your own video game engine.
I hope you’ll enjoy reading it as much as I enjoyed writing it, and let me know what you think about it!

Showcase game demo (Windows executable):

Source code:

About Lajos

Enterprise Java for a living. Video game development for the soul.

Email :

Website :

About Lajbert

My name is Lajos, a software engineer who decided to chase his childhood dream of becoming a video game developer. I have a long road ahead of me until I can release my first game, but the path taking me there is already very rewarding. There are many great people around the internet who spends time, energy and even money to make great tutorials, shares their Github repos and distribute knowledge, and this blog is my attempt to pay my respect to them and follow their lead of giving back to the community. You’ll find tips, tricks, bits and pieces of what I learned while working on my project, which is also my learning path, so if you see something on my blog that is incorrect or can be done better, please leave a comment, so we all can learn something. Currently I’m working on a simple, generic 2D engine called Monolith engine, built on MonoGame framework, but many of my ideas are generic, and can easily be translated to your favorite language or game engine. Hopefully you’ll find something useful here. :) You can find the source code of the engine with same projects in my Github repo.

Useful Links