Live data from Hacker News

Show HN: C# Game Engine with its own scripting language and IDE

github.com

41–50 of 73 posts

Re: Show HN: C# Game Engine with its own scripting language and IDE

#41
post #8
post #3

Apart from "I have fun working on this", which is always legit, what's the point and who's supposed to use it? What'd be the benefit using with or working on it over e.g. Godot, which is, imo, pretty much the open source way to go if you want more than an IDE and libs/code you'd use to make a game. It's also written in C# and offers GDScript as a more lightweight programming language with C# being ready to be used fo…

No successcull game engine is written in c#

Stride and MonoGame come to mind

Re: Show HN: C# Game Engine with its own scripting language and IDE

#42

To any aspiring game developers out there: If you need AAA-equivalent graphics and are willing to tank the overhead, use UE5. Otherwise, homebrew everything in the language you prefer (use an LLM, make sure you understand the architecture perfectly). Using a half-baked semi-supported game engine which you don't understand will destroy your project sooner or later. The cognitive overhead of understanding someone else'…

Eh, what's wrong with using Unity or Godot or GameMaker?

[deleted]

Re: Show HN: C# Game Engine with its own scripting language and IDE

#43
I've also been making a game engine based on MonoGame (and prime31/Nez), and one thing I recommend looking into is headless mode for both the game and the editor. I started my engine in the first place because I want to get back into gamedev, but there's no way I'm going back to the convoluted editor-centered workflow of Unity/Godot. And with proper MVVM, you can get the game headless too, so agents can play without the UI and run thousands of simulations of the gameplay.

Overall, MVVM should be getting a renaissance because of how well it determines the layers and data flow for AI. I have multiple projects using it, and even in early 2025, models had almost no issues understanding my code and implementing new features. Now I set up MVVM-inspired headless architectures including for Swift or React Native projects and it works like a charm.

Re: Show HN: C# Game Engine with its own scripting language and IDE

#44
post #21

Wow, my post suddenly went viral! Just opened GitHub a few minutes ago, and saw +17 stars on my project from the last few hours... Anyway, i see a lot of people asking WHY making ky own engine or language. So the main answer is: for fun. it's clearly not going to be even close to a professional engine like godot/unity/modern gamemaker, but this is mine, and the others aren't :) But i wrote more about it here: https:/…

Two thoughts/questions: - do you feel that this could be used to make a (simple) drawing program? - have you considered setting up your codebase as a Literate Program? http://literateprogramming.com/ Notably, that would then allow publishing the project as a PDF for didactive purposes.

1. Not in the current state of the engine, but in the future - after implementing all the graphics functions that i plan to add - yes, absolutly.

2. Hmm no, first time i hear about it

Re: Show HN: C# Game Engine with its own scripting language and IDE

#45
> The engine and IDE themselves are written in C#, but the language you use inside ArcadeMaker to program your games is my custom language, not C#.

Is there a plugin system that allows me to code in C#? (Or F#, or perhaps any of the other dotnet scripting languages?) I'd prefer to avoid a new language if possible.

Re: Show HN: C# Game Engine with its own scripting language and IDE

#46
post #45

> The engine and IDE themselves are written in C#, but the language you use inside ArcadeMaker to program your games is my custom language, not C#. Is there a plugin system that allows me to code in C#? (Or F#, or perhaps any of the other dotnet scripting languages?) I'd prefer to avoid a new language if possible.

So I need to implement again the assembly manager in the IDE. which will allow you to add your own C# libraries (DLLs) and then the answer would be yes, but from within the engine's language, like this:

  C#:
  public void DoSomething(Exp.Instance? callingInst, Exp.IValue?[] args)
  {
     ...
  }

  Exp:
  doSomething("hello")
There is already a relection-based way to call C# functions from my language, i call it "extern classes":

  extern class File = "System.IO.File"
  println(File.readAllText(filePath))
it can also be used with non-static classes, and you can use new(...) expressions on them, and "is" tests and access properties and so on... it SHOULD feel like a normal Exp class. The only exception is that it does not fit to performance-critical contexts, because it uses the slow reflection APIs of C#. but it's already working, unlike the assembly manager feature that is not implemented yet but will allow fast invocations.

Re: Show HN: C# Game Engine with its own scripting language and IDE

#48
post #21

Wow, my post suddenly went viral! Just opened GitHub a few minutes ago, and saw +17 stars on my project from the last few hours... Anyway, i see a lot of people asking WHY making ky own engine or language. So the main answer is: for fun. it's clearly not going to be even close to a professional engine like godot/unity/modern gamemaker, but this is mine, and the others aren't :) But i wrote more about it here: https:/…

Two thoughts/questions: - do you feel that this could be used to make a (simple) drawing program? - have you considered setting up your codebase as a Literate Program? http://literateprogramming.com/ Notably, that would then allow publishing the project as a PDF for didactive purposes.

[deleted]

Re: Show HN: C# Game Engine with its own scripting language and IDE

#49
post #45

> The engine and IDE themselves are written in C#, but the language you use inside ArcadeMaker to program your games is my custom language, not C#. Is there a plugin system that allows me to code in C#? (Or F#, or perhaps any of the other dotnet scripting languages?) I'd prefer to avoid a new language if possible.

Seems rather trivial, just extend the codebase.
Post reply on HN