upvote
Any interesting insights about using Godot with C#? I love C# and I'm happy using it in Godot even though it's not as seamless as in Unity: in Godot 4 we still can't export to Web if the project is C#, and there's the whole conversion between C# types and Godot types that adds inefficiencies and extra allocations, etc.; it feels like it's a second-class language in Godot.

I'm always interested in seeing what people find when developing larger projects in C#.

reply
The founding developers were all software engineers with .NET experience, so it was the natural choice even though at the time it was Godot 3.x with Mono. I had used Unity before but not Godot. The project is structured as mostly plain C# DLLs with a relatively thin Godot UI layer controlling it, so the Godot type system is fairly encapsulated. We haven't really seen any issues with those decisions beyond just working out the communication between Godot and DLL. But again we were just working from what we knew so I can't really say if this was the best way to go about it.
reply
We were building on C# Godot and I think it is a second class citizen in the sense that 1) you can't export to wasm and 2) they are moving the interface to be handled by gdextension.

That said, I think once you get the gist of it and understand the landmines, it is really nice to use vanilla dotnet rather than unity's fork.

reply
I have this principle of "5% scripting". If the high level scripting on top of C++ consumes about 5% of frame time, then the language of the script does not matter.
reply
Oh my, this brings me back! One of my fondest gaming memories involves a massive Civilization 3 PBEM match between a number of Civilization fan sites, where we all had private forums and ran these virtual nations against each other. This was way back in 2002 or 2003!

I believe Civfanatics was in it (run by “Chieftess” if I recall), Apolyton (which I was a member of — elected in as Minister of Public Works and had to come up with a plan to clear our pesky jungles) and a number of other sites.

It was such an awesome time. Real diplomacy and trade negotiations between the fan sites while waiting to play our turns. Man, it was fun.

reply
I was also there at Civfanatics watching from the sidelines. Fond memories indeed, and some of those same people laid the foundations for this project.
reply
I didn’t do that stuff but I remember…was it Kryten? Making a multi unit graphic utility, I used it to make and publish some multi units. Fun times. CivFanatics was great.
reply
Would it be feasible to add an API to OpenCiv3 (or run it as an SDK) so we can script up actions?
reply
There will certainly at least be (technically already is) a Lua scripting interface for mods. We've hand-waved some talk of a proper C# SDK but have no concrete plans yet.
reply
Have you considered adding LLM features for the negotiations? Could be cool.
reply
From what I've seen with projects like this, the successful ones do a good job of 'sticking to the mission' of faithfully recreating the original game in a modern engine (openMW, daggerfall unity, all my points of reference are TES related)

The neat part is that they are open source, so anyone who wants to take it in a different direction can fork it. The multiplayer version openMW being a great example of this.

reply
you may be interested in https://www.paxhistoria.co/
reply
No information on the website, but a login. Suspicious.
reply
You are getting downvoted, but this is a cool idea. Diplomacy has historically been a weak part of the series, and being able to shore that up may be a lot of fun to play against.
reply
I would say diplomacy is the most misunderstood feature of the series. Players constantly say they want a stronger AI that's smarter at diplomacy. But whenever they have built an AI like that, their play testers complained that it doesn't behave like a real world leader (too ruthless).

This experience led Soren Johnson (co-designer of Civ III and lead designer of Civ IV) to the realization that Civ AIs are supposed to "play to lose" [1].

[1] https://www.youtube.com/watch?v=IJcuQQ1eWWI

reply
That makes sense, but at the end of the day, it may be more fun to play around with opponents that act more relatedly. This could take the form of in-game/session-appropriate diplomatic responses that don't read like pre-canned text, or, having explanatory text for why the AI is acting perhaps in goofy ways (which comes up a lot).
reply
I am so tired of game designers/developers being so pathetically wrong about stuff like this. Modders have to CONSTANTLY fix these boneheaded, user hostile decisions in nearly every game. A lot of game developers are not the people actually loving/playing their games in the same way that the cello maker is usually not the cello player.

Even many popular mods fuck this up! DEI in Total War Rome 2 needs submods to make the AI play by the same rules as the player!!! This is top of the most subscribed list right now FOR A REASON!!! https://steamcommunity.com/sharedfiles/filedetails/?id=36258...

Make the AI play by the exact same rules as the player. Make a scaling AI difficulty slider which goes from "piss easy" to "insane grandmaster" but without cheats. It's not that hard to do this, the chess engine crowd figured it out back in 2001. FEAR figured it out in 2004. Game AI has straight up not improved and at many times gotten worse in the ensuing two decades.

reply
It's not that hard to do this, the chess engine crowd figured it out back in 2001.

They really didn't. No one likes playing against weaker chess engines. They play perfectly like a higher-rated engine and then randomly make an obvious blunder. They don't play naturally like a human player of that rating.

The weaker AIs in Civ games do a far better job at "playing to lose" than low rated chess engines. It's not even close!

reply
Maybe ask Ghandi for his favorite scone recipe, so that he won’t nuke you.
reply
Gandhi*
reply
not sure if serious...
reply
Even if you don't want an LLM for the actual functionality of negotiations, LLM-generated text would be neat. As-is, the text becomes irrelevant, "Our words are backed with nuclear weapons" is just "nukes = true" - letting an LLM tell you the AI has nukes seems like harmless fun.
reply
Lifelong Civ player. I have always felt the negotiations part of the game is laughably bad, and a huge missed opportunity. The ability to use language as a tool -- diplomacy, but also rhetoric, veiled threats, etc -- is something I excel at, and I would love the chance to test my mettle against an enemy in an imaginary nuclear war context, because when else do you get to play high stakes games like that with words in real life? Civ is the perfect venue for it, but the game designers are extremely boneheaded about how they executed that particular part of the game.
reply