Wow, if I am understand this right, this relies on the bytecode outputted by MRuby. So it's not yet another Ruby implementation in that sense. What a fun project!
evolve2k [3 hidden]5 mins ago
> “.. to ensure seamless integration with C#-based game engines.”
Which game engines do they probably have in mind?
unclad5968 [3 hidden]5 mins ago
The author has several other repos that are libraries for unity, so probably that, but it's just a VM so it could be any of them.
Stride is the only C# implemented engine I'm aware of, but I'm sure there are others.
All the big engines have C# scripting, so a scripting language for your scripting language?
Rohansi [3 hidden]5 mins ago
I wouldn't really classify C# as a scripting language even if some of those engines say it is. The main criteria (IMO) of a scripting language is to be easily embeddable and C# is not.
MindSpunk [3 hidden]5 mins ago
Whether you classify C# as a scripting language isn't really important though. In Unity and other engines C# is the 'language you write game scripts with', which has nothing to do with whether C# falls into the woefully vague and borderline useless category of "scripting language".
p_ing [3 hidden]5 mins ago
$CSharpCode = @"
using System;
public class HelloWorld
{
public static void SayHello()
{
Console.WriteLine("Hello, World!");
}
}
"@
Add-Type -TypeDefinition $CSharpCode -Language CSharp
[HelloWorld]::SayHello()
There's your scriptable-in-PowerShell C# ;-)
lIl-IIIl [3 hidden]5 mins ago
Even better, C# has top-level methods, no classes needed:
Does that run under Windows PowerShell, or just PowerShell [core]?
MrLeap [3 hidden]5 mins ago
I agree with you but maybe for different reasons. (Depends on how you defined embeddable I suppose). The primary purpose of a scripting language for gamedev is for mod support. If end users can't open the scripts up in notepad, play around and have them change the game, you're adding friction to this.
hnlmorg [3 hidden]5 mins ago
That’s never been a blocker for game modding.
- Worms: required a CLI tool to convert SFX
- Doom: WAD files were pkzip format
- Duke3D: came with its own level editor
- Jazz Jack Rabbit 2: also came with its own level editor
- Grand Theft Auto: massive modding community for the original game on PC via unofficial 3rd party hacks
- Minecraft, Roblox, Mario Maker, etc: all have massive communities of user generated content and none of that has been created via notepad.exe.
It would be harder to come up with examples, either modern or retro, where plain text files were the preferred method for modding.
johnisgood [3 hidden]5 mins ago
> - Doom: WAD files were pkzip format
> - Duke3D: came with its own level editor
Add ioquake3 forks to it (there are many), such as Tremulous (massively modded, initially came from Quake 3), Urban Terror, Unvanquished (development is very active), etc.
(Tremulous mappers use NetRadiant.)
Anyways, you are absolutely right, although maybe I am just a boomer by now. I was 14 years old (along with many other players and modders) when I started modding Tremulous. I wish Tremulous was still active, but it is not. :( I still keep in touch with players from >15 years ago.
pimeys [3 hidden]5 mins ago
Urban Terror. That's a game I haven't heard about in a long time. It must've been somewhere between 1998-2002 I played it. Damn, we even had a clan, and I played it on my Linux PC.
Does it still exist? If so, I probably get instantly killed if I dare to join any of the public servers...
I think for the purposes of a third-party system, the ease of embedding is pretty much a question of whether or not it’s already embedded.
dismalaf [3 hidden]5 mins ago
I mean, Unity and Godot used to embed Mono... And C# is used as a scripting language for both, in the sense that the user uses C# to call engine functions (dunno about all of Unity's internals but Godot is written entirely in C++) to script gameplay behaviour. It doesn't matter what you classify C# as because they use it for scripting.
jayd16 [3 hidden]5 mins ago
More like IL as the, well ... intermediate language.
mastax [3 hidden]5 mins ago
Unity, surely.
trevorhinesley [3 hidden]5 mins ago
And Godot
ROFISH [3 hidden]5 mins ago
The author mentioned Unity in the README, but every other game engine I know requires NativeAOT support. I hope it doesn't run into the limitations of NativeAOT otherwise it's just Unity-only.
Rohansi [3 hidden]5 mins ago
Even Unity games compile AOT via IL2CPP. It's optional on PC/macOS but required for most other platforms. The only real reason games may not build with it enabled is if they want to allow modding via IL decompilation.
Which game engines do they probably have in mind?
Stride is the only C# implemented engine I'm aware of, but I'm sure there are others.
https://dotnet.microsoft.com/en-us/apps/games/engines
And Capcom's own fork, used on Devil May Cry for the PlayStation 5.
"RE:2023 C# 8.0 / .NET Support for Game Code, and the Future"
https://www.youtube.com/watch?v=tDUY90yIC7U
It took a while since Arena Wars was published in 2004, but eventually it took off.
https://en.wikipedia.org/wiki/Arena_Wars
https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals...
- Worms: required a CLI tool to convert SFX
- Doom: WAD files were pkzip format
- Duke3D: came with its own level editor
- Jazz Jack Rabbit 2: also came with its own level editor
- Grand Theft Auto: massive modding community for the original game on PC via unofficial 3rd party hacks
- Minecraft, Roblox, Mario Maker, etc: all have massive communities of user generated content and none of that has been created via notepad.exe.
It would be harder to come up with examples, either modern or retro, where plain text files were the preferred method for modding.
> - Duke3D: came with its own level editor
Add ioquake3 forks to it (there are many), such as Tremulous (massively modded, initially came from Quake 3), Urban Terror, Unvanquished (development is very active), etc.
(Tremulous mappers use NetRadiant.)
Anyways, you are absolutely right, although maybe I am just a boomer by now. I was 14 years old (along with many other players and modders) when I started modding Tremulous. I wish Tremulous was still active, but it is not. :( I still keep in touch with players from >15 years ago.
Does it still exist? If so, I probably get instantly killed if I dare to join any of the public servers...
Apparently there are players, too: "Online: 208 servers with 109 players" at this time.[1]
[1] https://www.urbanterror.info/servers/home/