Tomorrow Corporation Tech Demo
retrogameinternals5 HN recommenders · 2023–2026
107K views · demo · evergreen · Uploaded 2023-02-21
Allan Blomquist demonstrates the internal programming and debugging tools Tomorrow Corporation uses to make games, including live modification of a running game and time-travel debugging.
Held up in debugger and tooling threads as an amazing ideal of a tight feedback loop and what debugging could be.
38:47RailsConf 2014 - All the Little Things by Sandi Metz
Confreaks
40:20"Testing Distributed Systems w/ Deterministic Simulation" by Will Wilson
Strange Loop Conference
1:03:55🚀 TDD, Where Did It All Go Wrong (Ian Cooper)
DevTernity Conference
54:20Bret Victor - Inventing on Principle
Rui Oliveira
1:04:04Overwatch Gameplay Architecture and Netcode
GDC Festival of Gaming
1:02:26Solving Problems the Clojure Way - Rafal Dittwald
Clojure/north
52:35Debugging Under Fire: Keep your Head when Systems have Lost their Mind • Bryan Cantrill • GOTO 2017
GOTO Conferences
42:15"Performance Matters" by Emery Berger
Strange Loop Conference
7 comments from Hacker News
A whole world of creative opportunities open up when the toolchain and related debugging tools don't suck. Check out this wild video[1] of someone modifying and debugging a game in real time. [1]: [VIDEO]
> I should mention that the perfect debugger doesn’t exist It may not exist, but this demo has got to be the closest thing to the perfect debugger I've ever seen: [VIDEO]
Allan Blomquist's tooling demo they mention is incredible, go watch it: [VIDEO] Really sells the value of having a tight developer feedback loop: it shows hot reloading for code and graphics, a reversible debugger, live profiling with flame graphs, a data inspector with data breakpoints, time travel inspection with a scrub bar, session sharing and replay with the same scrub bar and direct links from the call stack to a breakpoint, and more. Above the many niggles they had with Rust itself, this greatly helps me understand why Rust left them wanting more from their working environment. They say they've switched back to Unity with [LINK] to try to capture some of that, and now I see why. (It's a shame that hot reloading tooling in Rust wasn't ready for them yet, but I see why they've moved on instead of waiting/contributing.)
He mentions Common Lisp as something he did a game in, and you can see the link he praises [VIDEO] as basically a very well-developed Lisp image approach with timetravel debugging etc aimed at game dev. So the implicit comparison to Lisps is sort of a big undercurrent to this whole article.
Yes, I'm a big fan of Bret Victor's work. I share his Inventing on Principle talk on a near yearly basis. I've seen light table years ago and thought it looked really neat, but I haven't looked into it much as it wasn't directly applicable to my environments. But, probably worth a look for ideas. On the topic of time-travel debugging, have you seen the demo: [VIDEO] (Tomorrow Corporation Tech Demo) Very impressive, worth a watch.
This is a legitimate question but this was clearly generated using an LLM. To add something constructive, this demo represents an amazing ideal of what debugging could be: [VIDEO]
Reminds me of the Tomorrow Corporation (developer of World of Goo) tech demo: [VIDEO] Their entire stack is custom (language, compiler, IDE, build system, engine). Has neat features like time-travelling debugging and instant hot-reloading for code and assets.