4 ms·
This looks awesome for game development! Short feedback loops are a superpower.
by hu3 5y ago
This looks awesome for game development! Short feedback loops are a superpower.
- seba_dos1 5y agoI have implemented live reload (in a much simpler and naive way) for my little game engine/framework written in C a few years ago, as a "scene" is essentially a reloadable shared library there. When it worked it was a huge productivity booster and time saver indeed, but I've eventually stopped using this feature that much once I started relying more and more on passing function pointers around as callbacks - so things break pretty bad when the function address changes. I had some ideas on how to tackle that, but never got around to implementing it so far. Language level support looks very neat.
- slimsag 5y agoThis is exactly what I'm aiming to use Zig for: I'm working on a game engine in Zig[0] that I hope to leverage hot code reloading with [0] https://hexops.com/mach/ https://hexops.com/mach/
- deaddodo 5y agoIf you watch some of Notch’s old game jam live streams; this is exactly how he used his Java environment and is probably why he was so invested in it. You can see some examples here when he just tests logic changes: https://youtu.be/MhQ70O1MiXc https://youtu.be/MhQ70O1MiXc (Though, he restarts often since he’s editing preloaded assets also)
- pjmlp 5y agoThe irony is that C++ got it before Java, but those environments were too resource hungry for them to suceed in the market. Now almost 30 years later is when we see them being adopted. "Lucid Energize Demo VHS 1993" https://www.youtube.com/watch?v=pQQTScuApWk https://www.youtube.com/watch?v=pQQTScuApWk Visual Age for C++ v4 had a similar capability, it was image based and allowed for Smalltalk like workflows.
- torginus 5y agoYeah it's weird - basically all JIT compilers have this feature built-n - they usually create stubs for not yet called functions which invoke the JIT, and replace the stub calls with actual executable code.
- pjmlp 5y agoVisual Studio also has had it for several years in debug mode for C++, Edit-and-Continue. Since last year they have been working on it to make it more dynamic, improving the use cases. It is these little things that make it so much better than the UNIX alternatives. However there is also ROOT and now CINT from CERN, or Live++.