I’m a beginner in game development and for the first time with C#, .NET and MonoGame I’m really motivated to work, whereas with game engines I don’t get excited.
But I hear everywhere that using a framework rather than an engine is not the right thing to do, that it’s too complicated and I would like to know, according to you, what it takes to make a real game with MonoGame.
Do I need to be an excellent developer and work much more than I would in a game engine to build something?
I feel you on the engines not doing it for u. This could be the place for you my friend.
That depends on what you value. If you want to crank out your game ideas as fast as possible then using an engine will be the way to do that. If speed is less of a concern and you want to learn a bit more about how things work under the hood and then have more control and freedom (and pride) because of it then something like monogame will probably be better.
Engines are opinionated. You learn to do things in them in a certain way and you may not learn why or even realize they could be done differently.
Not per say.
Depends on your definition of a real game. Give some examples!
If you want to quickly build something robust with clean code that scales well: yes you need to be an excellent developer. If you have low expectations on those things, then no. As you’re willing to put in the work and learn, what you can do will expand with your experience and understanding of the concepts involved.
It’s true that “real game” is not clear, especially since I don’t want to reduce simple games. But I wanted to talk about a game with a minimum of complex structure, like an RPG or a management game, something different from an arcade game that takes place on a single scene like Flappy Bird.
it sounds like Stardew Valley fits your description? It was made in monogame by a single guy and i think it was even his first game! But it took him more that a couple weekends…
Id say Monogame won’t hold you back building those types of games youre describing.
With game engine, you need to just make a game.
With monogame, you need to make a game engine AND a game at the same time.
This is why it’s harder. Not only you need to know how games are made, you also need some lower level knowledge to make a decent architechture.
Lucky for you, some people already did the engine part for you, so you can just use it if you’re so determined to use monogame. But honestly, I’d just pick a proper game engine if I were you.
I’ll link my baby, but you can find some other options if you search around.
The previous posts did a good job answering this. I thought I’d throw in my 2 cents too.
^^
Summary of My Reply:
If your goal is immediate money and rapid-development: __pre-made engines (at first anyway)
If you enjoy making engines(that’s me ;p ) & want more knowledge & full control: __make-your-engine-from-framework (& is fun) [later you can re-use your own engine]
__
I’ve recently seen some ppl putting out some criticisms of not using an existing developed engine.
It’s true that it takes much longer - at least for the first project or 2 (until your own engine is fleshed-out) - so if making an income from games quickly is a priority, then using an existing engine and sound-packs and such might be good for getting that initial income (I should have taken my own advice on that ;p )
I see engine building (from framework) a bit like a hobby - like someone who builds their own custom motorcycles for fun. Once you have a good prototype, it’s easy to copy and customize the process.
The major advantage is you can do entirely anything you want and are limited to what your graphics card can handle and if anything goes wrong - you understand all of the contents and can fix the guts of the engine yourself. For me - this kind of power is very valuable.
If you plan to do 2D, Monogame’s actually pretty easy to do it with since there are lots of existing support-code out there.
3D stuff takes a little bit more knowledge and patience - but the information is out there. Technically it’s possible to do a breath-taking 3D game using Monogame framework if you had the time and knowledge. Monogame sorta acts like a multi-platform communication gateway for allowing you to tell the hardware what to do.
Games for smartphones that are played in a little free time require a load time of less than one second.
If the load time exceeds that, the game is immediately declared a crap game, regardless of the game content.
Off-the-shelf game engines were all based on the premise of “lightweight 2D games” or “epic 3D games”.
Been using monogame when XNA came out long ago. I have tried unity, godot, gamemaker, construct/construct2, others, and always come back to monogame. The thing about engines, yes they give you all the tools but you’re limited in those tools. Its good to start off with an engine because it forces you simplify your games but that isn’t a bad thing. It will make you a better developer since you will stop making complicated systems.
Most games made in Monogame are fairly easy to make once you know how collision works, how to make coroutines, animate, tween, etc. Coroutines are not a unity thing but ever since IEnumerator came out, they were a thing.
Monogame isnt an engine but a framework to make your systems your own way.