Live data from Hacker News

MonoGame: A .NET framework for making cross-platform games

github.com

11–20 of 76 posts

Re: MonoGame: A .NET framework for making cross-platform games

#11
post #7

If you are wondering about the capabilities, Stardew Valley was made in MonoGame. I wonder how it compares, if at all, with Godot nowadays.

There isn't really a comparison to be made between MonoGame and Godot. MonoGame is for programmers. Godot is for people who want to make games but don't care for programming and would rather use a GUI for development. Godot locks you into the Godot way of doing things. MonoGame is a thin cross-platform abstraction over platform APIs for sprite rendering, audio playback, input, and font, leaving you to build your game…

> Godot is for people who want to make games but don't care for programming and would rather use a GUI for development.

You can write a lot of code when using Godot and mix that with capabilities provided by their editor.

You never have to use editor features, but can use them to avoid wasting time reinventing the wheel.

Your comment is like saying that game engines are used by people who don't care for programming and would rather make a call to handle physics interactions.

Re: MonoGame: A .NET framework for making cross-platform games

#12

Earlier quoted context omitted.

There isn't really a comparison to be made between MonoGame and Godot. MonoGame is for programmers. Godot is for people who want to make games but don't care for programming and would rather use a GUI for development. Godot locks you into the Godot way of doing things. MonoGame is a thin cross-platform abstraction over platform APIs for sprite rendering, audio playback, input, and font, leaving you to build your game…

> Godot is for people who want to make games but don't care for programming and would rather use a GUI for development. You can write a lot of code when using Godot and mix that with capabilities provided by their editor. You never have to use editor features, but can use them to avoid wasting time reinventing the wheel. Your comment is like saying that game engines are used by people who don't care for programming a…

> wasting time reinventing the wheel

It's always funny to me that this metaphor is used to indicate a bad thing, but re-inventing the wheel is actually very valuable. Note that our vehicles do not run on stone wheels. Thank goodness we kept re-inventing wheels that were more suitable for our specific use cases! This metaphor is, therefore, exactly apt for describing off-the-shelf game engines. All of the big open game engines are heavy and make a ton of decisions for you that will not be optimal for your specific game, because they make generalized decisions necessary to support all kinds of games. This does save you time, and you can absolutely make games that are good enough with them, but it's ridiculous to me to describe making your own engine as wasting time. It's spending time to gain a benefit, which is a trade-off that is worth it for some and not necessary for others.

Re: MonoGame: A .NET framework for making cross-platform games

#13
post #7

If you are wondering about the capabilities, Stardew Valley was made in MonoGame. I wonder how it compares, if at all, with Godot nowadays.

MonoGame is more like a library than a game engine (a very loaded term nowadays). It's too different from Godot to make a comparison.

Re: MonoGame: A .NET framework for making cross-platform games

#14
I used Monogame back when it was a proprietary framework called XNA developed at Microsoft.

You used to be able to use XNA to build Indie games for the Xbox 360, hard to believe, but this is going on 15 years ago at this point.

I built two indie games and made a couple of hundred bucks back when I was in High School. It's actually what got me into programming in the first place.

I'm happy to see that XNA became Monogame, it's one of the best frameworks I've ever used for gamedev.

Re: MonoGame: A .NET framework for making cross-platform games

#15
post #4

I used MonoGame to port my XNA games to other platforms. It’s really good, also it was very cool as a junior developer to see the code for the methods I used.

I did the same. It was cool seeing some of the games I came up with back in the 360 days running on iPhone and Android devices.

Re: MonoGame: A .NET framework for making cross-platform games

#16
post #7

If you are wondering about the capabilities, Stardew Valley was made in MonoGame. I wonder how it compares, if at all, with Godot nowadays.

MonoGame is more like a library than a game engine (a very loaded term nowadays). It's too different from Godot to make a comparison.

You can compare the idea of trying to make a game with a framework versus an engine rather than compare MonoGame and Godot directly.

Re: MonoGame: A .NET framework for making cross-platform games

#17
It is kind of nice for indie games, unfortunately it is kind of stuck in what XNA 4.0 had as API surface.

And it used to be there was still some dependency on old XNA plugins for assets pipeline on Visual Studio.

No idea where this stands now.

However it was yet another example of community standing up for the anti-.NET sentiment at Windows/XBox teams, when the persons involved left XBox team, XNA was quickly replaced by DirectX TK.

"The billion dollar decision that launched XNA"

https://youtu.be/wJY8RhPHmUQ?is=jwDBVae8AhBH-ANB

https://walbourn.github.io/directxtk/

Re: MonoGame: A .NET framework for making cross-platform games

#18
post #3

Earlier quoted context omitted.

I was trying to compare the two. At first glance, MonoGame has far more stars and recent commits. Or is it just in maintenance mode?

I believe FNA is trying to be more loyal to the original XNA while my monogame tends to introduce new features. I've been happy with monogame when I used it in the past. I'm pretty sure Celeste was made with FNA

You might be mistaken, the Monogame Github README cites Celeste as an example made with it.

Re: MonoGame: A .NET framework for making cross-platform games

#19

Earlier quoted context omitted.

> Godot is for people who want to make games but don't care for programming and would rather use a GUI for development. You can write a lot of code when using Godot and mix that with capabilities provided by their editor. You never have to use editor features, but can use them to avoid wasting time reinventing the wheel. Your comment is like saying that game engines are used by people who don't care for programming a…

> wasting time reinventing the wheel It's always funny to me that this metaphor is used to indicate a bad thing, but re-inventing the wheel is actually very valuable. Note that our vehicles do not run on stone wheels. Thank goodness we kept re-inventing wheels that were more suitable for our specific use cases! This metaphor is, therefore, exactly apt for describing off-the-shelf game engines. All of the big open gam…

Are you going writing your own programming language as well? Can we call it Tolkien? Because you're making a game like J.R.R. Tolkien wrote books, and there's a reason nobody writes books the way he wrote his.

Writing your own engine is great if you want to learn how to write a game engine. Knowing how to make a game engine can be helpful when making a game, but it's not necessary to make a game. Further, if you want to learn how to make a game, it might be more worth your time to simply use an engine that already does all the things you need. That way your time and energy can be focused on making the game, which is what your goal is.

Being condescending or dismissive of tools that do everything your tools you're going out of your way to construct will have to do is... weird logic. Because the same argument goes all the way down. Why wouldn't you make your own text editor? Why wouldn't you make your own compiler? Why wouldn't you make your own kernel? Why wouldn't you make your own architecture? "If you wish to make a pie from scratch, you must first invent the universe."

The answer is: because we're human beings with limited lifespans. We must stand on the shoulders of giants to see further.

Re: MonoGame: A .NET framework for making cross-platform games

#20
post #18

Earlier quoted context omitted.

I believe FNA is trying to be more loyal to the original XNA while my monogame tends to introduce new features. I've been happy with monogame when I used it in the past. I'm pretty sure Celeste was made with FNA

You might be mistaken, the Monogame Github README cites Celeste as an example made with it.

Ah weird. Did a bit of searching and it looks like maybe it targeted multiple frameworks with the xna API. Including xna itself

https://www.pcgamingwiki.com/wiki/Celeste https://celeste.ink/wiki/Version_history

Post reply on HN