C++ is really not very amenable to this because every change to the contents of a class messes up your entire memory layout. "game as DLL" is definitely a viable solution to that, but so is "game in scripting engine": many games delegate a lot of their mechanics to e.g. Lua precisely because it's so easy to tweak in-engine if you just want to change a bonus from 5% to 10% and so on.
> C++ is really not very amenable to this because every change to the contents of a class messes up your entire memory layout
I think even `dotnet watch` at some point nopes out when you change too much. I think they call it "rude edit" and ask you to completely restart the program in that case. So I don't expect every possible C++ edit to be manageable by hot reload. But changing a few if conditions or constants should be fine or not?
I'm more and more questioning scripting languages in games. What are the main reasons to use something like Lua? I think it's having not to rebuild the engine, no compile times, changing stuff while the game is running and being more accessible to non-programmers. But I think it's rather infuriating, all those points could be less relevant if the tooling for "real" programming languages was better. And with coding agents becoming more wide-spread I guess accessibility to non-programmers also becomes less of a point. I guess it's just my personal dislike for scripting languages in games, but really, it would be so much nicer imo if there was only need for one language that does it all. But seems like a difficult thing to achieve.
I myself don't have much of a dotnet gamedev stack going on unfortunately. Although I've been dabbling with MonoGame and have been enjoying it so far. MonoGame matured quite a bit since I previously used it which was more than 5 years ago!
Unity indeed is still using Mono instead of CoreCLR and is kinda stuck in that sense. But to be fair, they are trying to migrate to CoreCLR which will let them profit from all the crazy optimizations that Microsoft has poured into the runtime and ecosystem.
Godot is kind of a hate love for me when it comes to C#. Godot gives me the most hope that there can be a free, community-driven but powerful game engine and it having C# support built-in seems great at first glance until you realize that GDScript, which is veeeeery dynamic language, pretty much nullifies a lot of the advantages you'd get from using C# because you find yourself doing weird type system stuff that GDScript imposes on all the other languages. The best you can do is doing as much as possible in C# and use Godot as kind of a input and rendering abstraction layer. But then you're missing out on a lot of the functionality that Godot offers which should raise the question why use a game engine in the first place. It's difficult, at least for me. Others might have figured it out much better.
(later notable entry: Andy Grove, Intel CEO, was born Andreas Grov:
"By the time I was twenty, I had lived through a Hungarian Fascist dictatorship, German military occupation, the Nazis' "Final Solution," the siege of Budapest by the Soviet Red Army, a period of chaotic democracy in the years immediately after the war, a variety of repressive Communist regimes, and a popular uprising that was put down at gunpoint... [where] many young people were killed; countless others were interned. Some two hundred thousand Hungarians escaped to the West. I was one of them")
> Consider that he produced the likes of the quake engines in only a couple of years. Reflect long and hard on the raw simplicity of a lot of that code
Things like the famous fast inverse square root are short, but I would hesitate to describe it as simple.
Ironically one of the things that the Quake engine relies on is clever culling. Like Doom, the level is stored in a pre-computed binary space partition tree so that the engine can uniquely determine from what volume you're in what the set of possibly visible quads is (if my memory is correct, oddly the engine uses quads rather than triangles) AND how to draw them in reverse order using painter's algorithm, because the software renderer doesn't have a z-buffer.
The BSP partitioning used to take several minutes to run back in the day.
Anyway, the point I was trying to make was that Carmack used a few, clever, high-impact techniques to achieve effects, which were also "imperfect but good enough".
If you're not Carmack, don't over-optimize until you've run a profiler.
> Things like the famous fast inverse square root are short, but I would hesitate to describe it as simple.
Not the best example. That snippet was in use at SGI for years and actually written by Gary Tarolli. Quake's optimization was mostly done by Michael Abrash.
The original id engines were also famously inflexible. They fit the mold of "developing an engine, not a game" to a T. What you saw them do was all they could do. Look at how much Half-Life needed to add to be viable. idtech3 also only broke out of its niche because Ritual and Infinity Ward heavily modified it and passed it around. There's a good reason the engine-based ecosystem is so prominent now.
What changes were needed in Half-Life? Quake seemed okay enough to modify though it was rushed and getting close to what was possible with the hardware at the time.
> (if my memory is correct, oddly the engine uses quads rather than triangles)
I'm also working off a near 30-year-old memory but I recall quads not being unusual around this time. I remember a preview of Tomb Raider 3 in Official Playstation Magazine making a big deal out of the updated engine using triangles instead of quads to draw things. This was around 1998, so a couple of years after Quake came out.
Unlike many people, I'm on the trailing edge of this. Company is conservative about AI (still concerned about the three different aspects of IP risk) and we've found it not very good at embedded firmware. I'm also in the set of people who've been negatively polarized by the hype. I might be willing to give it another go, but what I don't see from the impressive Show HN projects (e.g. the WINE clone from last week) is .. how do you get those results?
There's several buildings in Edinburgh that have designation "military base" (mostly Territorial Army) and are within a few hundred yards of a school or nursery. Probably the same in many cities.
It's up to the people with bombs not to bomb schools.
Take a step back: Americans voted for this. They want unaccountable police and courts for the Dirty Harry legal system: maximum indiscriminate violence against those designated as criminals.
I've never seen this on a ballot and, maybe with the exclusion of Trump, never heard a candidate campaign on anything similar.
You probably could make the case that Trump did campaign on it so I'll grant that, but this problem started well before he was even firing people on TV.
George Wallace has been dead for something like 30 years, but yes he was very blatant. I have family that knew him in Montgomery, friends of friends kind of a situation. They don't have good things to say about him.
I don't remember Rudy running on such ideas but maybe he did. Arpeio was running as a sheriff, I would never have voted for him but agreed people did absolutely vote for him in a law enforcement capacity with pretty clear views.
I don't know enough about Gosar or Gohmert to comment well about either.
A lot of that turned out to be pushed by Epstein and his associates. It's not hard to figure out why they would enjoy a world with lots of racism, sexism and general inequity. Its really disturbing when you consider how much power this network still has.
reply