Marbles game for Windows 8
Finally my first Windows 8 game called Marbles is finished and available in the Windows Store!
That partially explains why i did not wrote any posts on this blog for almost a year 🙂
It’s been emotional!
Seriously, it has been quite a journey.
First i was learning XNA, then Monogame, and then game development in general.
I always wanted to write a game (aren’t we all?) so finally i decided to really do it!
At first i started very enthusiastically and tried building a 2d platformer game, and after solving most of technical problems like character and level rendering and physics i sadly realized that there is no way i will be able to complete it alone without help of level designer and gfx artist, sfx artist etc.
Since i was a one man band that meant this game is not gonna happen…
Just for the record, here is the video of that unfinished game – be warned it was just a early prototype.
So eventually after months of work i got real and abandoned that idea and started from scratch.
I realized that if i want to get anything done i need to start small and build simple game and this is how idea for Marbles was born.
Along the way I discovered that developing games is very much unlike writing other software applications.
When you are running at 60 FPS then every byte counts, every loop is considered not necessary until proven otherwise and every operation needs to be fast or its out!
But writing games is very fun so i enjoyed (almost) every moment of it 🙂
Monogame is for real!
I must say that guys from Monogame team did excellent job and gave XNA another life.
Once you get past initial problems like how to setup environment or how to make the Content Pipeline working you are already making games and Monogame tries to help without getting in your way – just as i expected it.
Forums on the Monogame Codeplex site are very helpful and if you post your questions there you are almost sure to get some answer.
Forget Class Inheritance!
Another interesting thing i discovered on this bumpy road is the Entity Component System pattern.
After struggling some time with class inheritance for the game, i realized that there has to be better way so i started researching and found out that many people are writing games using Entity Component Systems.
I wrote small Entity Component System framework for my game and it worked much better then deep class inheritance approach so i definitely recommend it to any aspiring game dev out there.
If you want to see how real world Entity Component System for game development looks like check out for example Artemis its quite stable framework.
To the future… And beyond!
So now that i wrote a game, i can proceed to my next task – learn how to play drums!
Ok seriously, whats next?
Probably i will soon write some Monogame tutorials on this blog to help beginners that are struggling with typical problems that every game has to solve.
Especially on how to setup Content Pipeline and how to easily do Resolution Independence – the holy grail of Game Programming 🙂
So what else can i say then – stay tuned and in the meantime check out my game and send some criticism or at least few bug reports 😉
Thank you for mentioning Artemis C# 🙂
Artemis was my main inspiration during my development so thank you!