Botch works using worlds. You know how HL2 has server and client dll’s, and you edit them to modify the game. Well Botch works like that, except you can have multiple dlls, and multiple worlds in the dlls.
I chose to do it this way for a few reasons. It forces me to code more modularly, compile times are a LOT faster, and it’s pretty cool.
Today I coded Hot Loading for worlds, which I’m calling Hot Compiling. It allows you to recompile the world dll while the game is running, then the game will automatically reload the dll and the worlds. Check it out:
(You should watch this full screen so you can see what’s going on)
The eventual goal is to get the galaxy (container of the worlds) to save the state of all the worlds, and try to load them back when it restores (right now it just reloads whatever worlds were running when it detected changes).