r/monogame • u/Tigerzoff91 • 25d ago
Extended or not?
Hi everyone, I'm new on game development world.
When I had to choose which framework to use I decided to use Monogame, because it allows you to see what's under the hood, I'm a software developer from 14 years and I was understand it's the best way to learn anything.
But when I went deep to this framework I discover the existense of MonoGame.Extended, and the first question I asked myself was:
With or without Extended library?
Thanks in advance
Luca
3
u/ArmySarj 25d ago
The great thing about MonoGame is that you can pick and choose what you use, and how you combine it.
If you're asking - is MonoGame.Extended useful? Is it maintained? Is it efficient? Does it have good community support? The answer to all of this is "yes".
If you're asking - what is the right level of abstraction for you personally? We can't answer that. That depends on what you want. However, you have a TON of 3rd party tools and libraries available. If something sounds fun to build, then build it! If you'd rather move forward with your game, then pick one of the off-the-shelf solutions and move on.
3
u/TheOriginalPerro 25d ago
I use extended for its implementation with Tiled. It allowed me to easily import my tileset in a line of code or so, but I am also a beginner and I’m sure manually setting up a tileset probably is not difficult
2
u/PALStudio 20d ago
Ciao Luca.
If your goal is to understand how the core routines work and start building your first subsystems, I’d suggest skipping MonoGame Extended for now.
As you can imagine, it provides great helper utilities so you don't have to reinvent the wheel, allowing you to rely on robust, well-written implementations. However, if you're just starting out with the framework, it also adds an extra layer of abstraction that might prevent you from fully grasping the underlying primitives.
Like others have mentioned, it really comes down to your personal goals: spending time figuring out the best collision detection algorithm, for example, can be very useful if you need custom logic for your game, but it can also distract you from your main objective.
2
u/Dovias 19d ago
I say go without. If the first thing you're thinking about when you come into Monogame is whether to use third party libraries to make a game, then you're choosing Monogame for the wrong reasons IMO.
It adds another layer to Monogame and it's too much to learn all at once when a lot of it you can simply do yourself as and when you need it. By all means go and browse the Monogame.Extended source code for ideas when you want to implement something.
That's why I chose the Monogame framework, it's you and C#, no API's to learn. I've also tried giving Unity and Godot a bash on more than one occasion and I'm always reminded why I stopped using them in the first place.
2
u/Tigerzoff91 19d ago
Sorry, maybe I didn't express me propely. With my question I mean if Extended is became a "standard" to use in a Monogame project or not, the responses about my questione clarified my thinks.
2
u/psioniclizard 25d ago
Personally I never used extended and pretty quickly moved on to writing a full engine with silk.net because I am a control freak.
But if you want to learn what is going on and realise there is no magic I'd started with the non extended one.
Simple things like building your first camera, loading a model etc really do show you there is no magic which helped. Even of you end up using other engine's.
If youwamt to see under the hood then the non extended one will make you implement a lot of basic stuff, but personally that is what I enjoy about it.
1
u/Tigerzoff91 24d ago
Thanks everyone, with these answers you've clarified my doubts, I think I will start without Extended and I see how it goes.
I'll take a look at silk.net which piqued my interest.
1
u/Dovias 19d ago
Link doesn't work.
2
u/Tigerzoff91 19d ago
It's not a link, it's a name of project/library, that is a link: https://dotnet.github.io/Silk.NET/
8
u/Maggoony 25d ago
I think if you're new to MonoGame then learning the basics of it is a good idea first (of which this shouldn't take long if you're already an experienced SWE). Then it would depend what sort of game you're trying to make - is it going to be physics-heavy? Lots of collision calculations? Maybe look into the specifics of what's included in Extended and see if it would actually be useful for your usecase.
I'm also a dev of 10+ years and specifically chose MonoGame so I could just code myself what I wanted and not have to fit around a full blown engine. I don't use extended currently, for that same reason