what is the best structure for a game?

hello im new to monogame it looks a lot like libGDX, however i cannot find good tutorials for game development, i have been watching only indroductions where they explain how to render images, how to add them, input, i already know how to do that, but im looking a better structure i can use, like levels, support for diferent screen sizes, how to xport to xbox, etc.etc.

any help or link to more advanced tutorials would be appreciated.

Hi, Welcome to the forums…

MonoGame is more akin to XNA, so finding resources based on that would be more ideal for you. Concerning XBOX, just use the search feature on the forum; there is plenty of data on here regarding how to go about it.

Code On!

There is no standard way of doing either of those tasks, its up to the developer how they are gonna do them.

ie. For screen size you could: Render stuff to a render target or pass transform matrix to the spritebatch that does scaling or write custom scaling code, etc.

Unfortunately, game development is still very much a black art as a result of a lack of quality documentation in terms of the various game engines available.

However, with MonoGame, like libGDX, there is a preliminary structure for the methods in the main module, which defines a standard game loop for the processing.

I would suggest that you put as little into this primary module as possible since it is only there to handle the master game loop process. The rest of your functionality should be broken down into sub-sections of the master project or libraries that support specific functionality. This way, you can design a game in similar style to building a business application.

Structuring your game in this fashion will have little affect on overall performance since everything is processed through the .NET CLR and the MonoGame libraries.

If you would like, I could send a you an image of my own game project solution to give you an idea as to how I have set up my own work…


There is no “right way” nor “wrong way” to design a game with MonoGame. MonoGame is just a game framework so it just provides a minimal abstraction over the windowing/graphics/input etc. Its up to the developer to setup whatever system they like on top of it.

thnaks , that will be helpful.

i know there is no standard way and it have maximum abstraction, im not new to game development, in libgdx we have scene2d, however i want to know what are the most common setup for your proyects and the best practices used here, i saw an example weeks ago where have all the code in classes called Levels, i understand the basic game loop, input and rendering i just want to start working creating a game in the better way, i also will create my own Sprite class implementation, but maybe my java/libgdx aproach is not the correct, i think monogame should have their own methods or implementations.

Again, there is no standard, MonoGame is lower level than libGDX so it does not have built it levels or anything similar.

Go for it, there is nothing wrong with libgdx approach.

Here is an image of my current project solution. It does not have any tiers as of yet but I may not require any. If however, you would like to see an image of a project solution for a business application with tiers, I’ll post one as well for you…


Download image here…

do you have that solution on github?

There are a bunch of open source MG games if you want to check some out: Are there any open source MonoGame projects around?

i’ll take a look at it, thanks.

Here is a download link to my project… Project Download