3 ms·
One of the pleasures of using Lisp for a game is not necessarily needing to add such UIs, or anything else special, to achieve interactive changes; you just cha
by Jach 5y ago
One of the pleasures of using Lisp for a game is not necessarily needing to add such UIs, or anything else special, to achieve interactive changes; you just change the code and recompile while it's running and see the differences. Unhandled bad bug throws you into the debugger? Debugger doesn't unwind the stack, just pauses the thread. You can inspect stuff, there might be relevant pre-made resolutions you can choose from (restarts) and continue, or you can fix things up however and recompile, and resume at any point in the call stack.
But fully fleshed out debug UIs are cool and useful in the large. There's a guy who's been integrating a bunch of C++ stuff including Dear ImGui into a Lisp engine, see: https://twitter.com/borodust/status/1443647135765962763 https://twitter.com/borodust/status/1443647135765962763 and https://twitter.com/borodust/status/1446569651236921346 https://twitter.com/borodust/status/1446569651236921346
- db48x 5y agoYes, having a repl is a superpower. But soon enough you learn which things will find you the most bugs, so you start making a menu out of them. Teleporting to levels, spawning mobs, etc. In this case they were debugging the render, to fix problems that result in game’s own graphics being unusable. So they added their own system on top, so that they can inspect the data being sent to the gpu, turn on wireframes, etc. It’s a delightful look at what all of computing is going to look like in a thousand years, with layer upon layer of tooling as new generations of engineers adapt older programs to work on new systems. Remember “A Deepness in the Sky”?