Live data from Hacker News

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

github.com

61–70 of 76 posts

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

#61
post #59

Earlier quoted context omitted.

It sounds like you don't like programming. I am in the process of writing my own language/IDE/compiler on the side of making games, and have already written a dialect of C# with a compiler that transpiles it to legal C# for use in the meantime. I would, in fact, love to write my own OS if not for the fact that proprietary hardware vendors make it virtually impossible for anybody to create a new OS that runs on consum…

It sounds like you're talking about making an equivalent of Super Mario from the 80s, but modern games are in fact much more complex. And no, just because people in the 80s enjoyed Super Mario doesn't mean it's the pinnacle of game design, and that there's no need to create anything more complex. > It took less than a month of work for me to get a polished cross-platform system working on five platforms. You simply d…

"Modern games" span a wide range of things. I develop solely 2D games, because I prefer 2D games over 3D games. I think that even today 2D games are more enjoyable than 3D games. That doesn't mean Super Mario Bros. That can mean Europa Universalis IV, it can mean Stardew Valley, it can mean Magic the Gathering Online, it can mean Hollow Knight, it can mean Slay the Spire, it can mean a huge variety of interesting and engaging games, none of which require 3D graphics. 2D games can be as complex as you'd like them to be, far more complex in game logic than a 3D shooter even. The more complex you'd like them to be, the easier it gets to implement them if you understand the primitives you're implementing them with. Imagine trying to optimize your data structures when you don't even know what an int32 is? There are real game developers in the world who don't know even that much. It is a great thing that off-the-shelf game engines provide a level of accessibility to allow anyone to develop games, but they do not represent the pinnacle of what can be achieved in software engineering. They are the exact opposite of it, in fact.

> You simply don't know where the bugs and performance pitfalls are because you haven't encountered them, yet.

What is your point? I profile my games and have detailed logging systems. If I or my users run into performance issues, I address them as I come across them. Understanding my codebase at a low level makes it significantly easier to dig into problems and investigate underlying root causes than anyone on Unity will ever be able to. If you use Unity, you are putting your complete faith that Unity has perfectly optimized X low-level problem away at the engine level. If they haven't, and you run into that issue in your game, you are completely fucked. I love being solely responsible for the defects in my games. That means I can fix them myself. The worst thing in the world in software development is when somebody else's fuck-up becomes your problem, and you can't fix it, so you have to implement some hacky workaround, if you can even figure out why the closed-source engine code you didn't write and can't read is behaving incorrectly to work around it in the first place. Sometimes that still happens anyways -- our hardware-OS stacks are built with tens or hundreds of millions of line of dogshit code, and you can't get around it if you want to create software for platforms people use, but you can at least remove as many dependencies on bad code you have no understanding of as possible.

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

#63
post #25

If Microsoft hadn't killed XNA (what MonoGame is based on) a decade ago, they could be packaging it with Copilot right now as the ideal code-first AI-assisted game engine. Easy to use, easy to test, no visual editor where AI will struggle like with Unity/Unreal/Godot.

For Lazarus (an IDE with visual components similar to Delphi) I switched to code-first components and did away with the form files. You can probably do this with all of these frameworks.

We’re building an AI agent for Delphi — and a major part is it supporting visual form editing. It works. You can see the form change live in the designer as the AI does its stuff.

It’s not publicly available yet but has an active group of beta testers. https://www.remobjects.com/codebot/delphi.aspx

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

#64
post #59

Earlier quoted context omitted.

It sounds like you're talking about making an equivalent of Super Mario from the 80s, but modern games are in fact much more complex. And no, just because people in the 80s enjoyed Super Mario doesn't mean it's the pinnacle of game design, and that there's no need to create anything more complex. > It took less than a month of work for me to get a polished cross-platform system working on five platforms. You simply d…

"Modern games" span a wide range of things. I develop solely 2D games, because I prefer 2D games over 3D games. I think that even today 2D games are more enjoyable than 3D games. That doesn't mean Super Mario Bros. That can mean Europa Universalis IV, it can mean Stardew Valley, it can mean Magic the Gathering Online, it can mean Hollow Knight, it can mean Slay the Spire, it can mean a huge variety of interesting and…

> I address them as I come across them

You're already too late at that point, and you probably lost some players, that wanted to try your game and maybe would've even liked it.

And I'm not talking about gameplay logic bugs - I'm talking about issues caused by bad drivers or by not having intimate knowledge about the hardware.

> If you use Unity, you are putting your complete faith that Unity has perfectly optimized X low-level problem away at the engine level

Most major engines allow to bypass high-level abstractions either through scripts that access low-level systems (Unity) or by directly letting people modify the source code (Unreal Engine, Godot).

> I love being solely responsible for the defects in my games.

Players do not care about that.

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

#65
post #64

Earlier quoted context omitted.

"Modern games" span a wide range of things. I develop solely 2D games, because I prefer 2D games over 3D games. I think that even today 2D games are more enjoyable than 3D games. That doesn't mean Super Mario Bros. That can mean Europa Universalis IV, it can mean Stardew Valley, it can mean Magic the Gathering Online, it can mean Hollow Knight, it can mean Slay the Spire, it can mean a huge variety of interesting and…

> I address them as I come across them You're already too late at that point, and you probably lost some players, that wanted to try your game and maybe would've even liked it. And I'm not talking about gameplay logic bugs - I'm talking about issues caused by bad drivers or by not having intimate knowledge about the hardware. > If you use Unity, you are putting your complete faith that Unity has perfectly optimized X…

> by directly letting people modify the source code (Unreal Engine, Godot).

Unreal is not open source, and while Godot is, I would wager 90% of its users never even look at the source code. It very specifically attracts people who want an easy way to make games without prior expertise.

> Players do not care about that.

Users don't care about much when it comes to software quality, honestly. They accept 20 FPS, slow loading, bug-riddled games that consume +20gb ram and +100gb more disk space than necessary. They may complain about a game if it gets bad enough, but they still buy and play those games. My games are significantly more optimized than most. They aren't perfect, but they don't need to be. They don't even need to be as optimized as I have made them, it's mostly just a point of pride and making the kind of software I want to see in the world. I think the only way you lose a player on technical points is if they literally cannot boot your game, but those issues plague engine games too. I had driver issues myself crashing on boot with an UE5 game two weeks ago.

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

#66

Earlier quoted context omitted.

> 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…

Make your own programming language? Penny's Big Breakaway was created using a new programming language named Beef.

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

#68
post #49

We used Monogame at a previous company and it's a nightmare to be productive in it. The lack of any kind of an editor makes any kind of dev a nightmare: 3d adjustments? Good luck, guess it.. UI adjustments: good luck, try it 300 times until you get it right. Switched to Unity, best choice ever.

This comment makes less sense if you are familiar with CSS. Web developers don't have to guess 300 times to make UI adjustments, despite having no direct editor. If this was a problem you should have programmed in better layout primitives.

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

#69
post #35
post #25

If Microsoft hadn't killed XNA (what MonoGame is based on) a decade ago, they could be packaging it with Copilot right now as the ideal code-first AI-assisted game engine. Easy to use, easy to test, no visual editor where AI will struggle like with Unity/Unreal/Godot.

> AI will struggle like with Unity/Unreal/Godot. I am automating Unity with headless method invocation of agent authored editor scripts. I don't think "struggle" is the word I'd use to describe how GPT5.4 is currently performing. I can tell the agent things like "iterate over all scenes. Wrap lightmap baking in a 5 minute timeout. Identify all scenes that exceed baking time. Inspect the scene objects and identify sta…

Quite curious about this. Does the agent gets its own repo and deliver with commits?

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

#70
post #69
post #35

Earlier quoted context omitted.

> AI will struggle like with Unity/Unreal/Godot. I am automating Unity with headless method invocation of agent authored editor scripts. I don't think "struggle" is the word I'd use to describe how GPT5.4 is currently performing. I can tell the agent things like "iterate over all scenes. Wrap lightmap baking in a 5 minute timeout. Identify all scenes that exceed baking time. Inspect the scene objects and identify sta…

Quite curious about this. Does the agent gets its own repo and deliver with commits?

No. Not yet, anyways. I maintain autonomy over source control at the moment. Headless activity is verified in a separate unity editor instance before I push any commits. I might look into source control tools once I get through perspective and orthographic screenshot tools. Giving the agent a way to see the final composed scene seems much more valuable than SCM automation right now.
Post reply on HN