I made a game and engine in D that's a cross between Superliminal and Viewfinder, and you can play the demo now

Ethan gooberman at gmail.com
Thu Feb 27 22:52:56 UTC 2025


On Thursday, 27 February 2025 at 09:24:59 UTC, Lewis wrote:
> - Support for DLL-based hotswapping. This required piping a few 
> calls in the DLL's druntime/phobos over to the EXE's druntime 
> (eg. using a GC proxy, thread management). Also, a couple small 
> changes to stuff like the GC initialization in the DLL so the 
> proxy gets set up correctly. This was completely worth it, DLL 
> hotswapping is a gamechanger, just a massive improvement to 
> iteration time. My changes are a tad hacky, but the release 
> build of the game skips the DLL and links everything 
> statically, so any bugs from this hackiness are debug-only.

Obligatory link to talks Manu and myself did on this topic:

https://www.youtube.com/watch?v=Jf7dvOWjLpU

https://www.youtube.com/watch?v=7YjLW7anNfc

https://www.youtube.com/watch?v=nro3txFndbM

https://www.youtube.com/watch?v=Aj9_Mb6wQV0

And yeah, being able to switch between release optimised binaries 
and debug binaries at runtime is one of the key advantages over 
something like Live++. Ultimately, treating code as data and 
making it just another asset in your engine's pipeline is 100% 
the way to go.


More information about the Digitalmars-d-announce mailing list