Skip to content
0:00 / 0:00

#tomorrowcorporation#time-traveldebugging#hotreloading

Tomorrow Corporation Tech Demo

retrogameinternals

2K subscribers • 1 video on Hallway

YouTube
  • Recommended by 7 people: 5 on Hacker News, 1 on Lobsters and 1 in engineering communities.
  • Presented by Allan Blomquist

Advanced. Deep dive for people who know the field.

107K views3 years ago7 recommendations

Game developmentTools and practiceDebuggingGame programmingBuilding a game engine

Allan Blomquist demonstrates Tomorrow Corporation's custom game development tools, featuring instant hot-reloading and advanced time-travel debugging.

A demonstration of some of the internal programming and debugging tools we use at Tomorrow Corporation to make video games. Our company website: tomorrowcorporation.com My personal twitter: twitter.com/allan_blomquist

Why it's here

7 people recommend this

What people say. Engineers frequently share this demo as an inspiring example of the ultimate developer feedback loop and debugging experience.

purpleposeidonon Lobsters • Recommends

Tomorrow Corporation Tech Demo

u/Better_Pirate_7823in r/gameenginedevs • Recommends

Tomorrow Corporation Developer Shows Off Their Tech

_gabe_on Hacker News • Recommends

On “What a good debugger can do”

> 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: link to this video

modernerdon Hacker News • Recommends

On “Leaving Rust gamedev after 3 years”

Allan Blomquist's tooling demo they mention is incredible, go watch it: link to this 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…

superdiskon Hacker News • Recommends

On “DDD was a great debugger – what would a modern equivalent look like today?”

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: link to this video

Yoofieon Hacker News • Recommends

On “What a good debugger can do”

A whole world of creative opportunities open up when the toolchain and related debugging tools don't suck. Check out this wild video1 of someone modifying and debugging a game in real time. 1: link to this video

MikeSchurmanon Hacker News • Recommends

On “GTFL – A Graphical Terminal for Common Lisp”

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: link to this video (Tomorrow Corporation Tech Demo) Very impressive, worth a watch.

gwernon Hacker News • Mentions

On “Leaving Rust gamedev after 3 years”

He mentions Common Lisp as something he did a game in, and you can see the link he praises link to this 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.

scrlkon Hacker News • Mentions

On “Show HN: C# Game Engine with its own scripting language and IDE”

Reminds me of the Tomorrow Corporation (developer of World of Goo) tech demo: link to this 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.

u/nikandforslowlangin r/ProgrammingLanguages • Mentions

On “What's your killer feature or overarching vision?”

Deterministic runtime and embedded tracing (or something like that). The idea is that recording inputs to the program you can replay it forth and back and investigate how it happened to the bug. I got that from this video [video

u/Feeling-Pilot-5084in r/ProgrammingLanguages • Mentions

On “Is there such thing as a “run-on-write” language? See description for an eg”

Yeah, it's basically "code hot-reloading." It's really hard to achieve and only works very well when you can design all of the tools around your own use case. here's an example from Tomorrow Corporation showing off their really next-gen dev tools.

u/SpindleyQin r/ProgrammingLanguages • Mentions

On “What's your killer feature or overarching vision?”

I'm trying to build a toy compile-to-webassembly language, with the focus being on tooling that allows pervasive time-travel debugging and live code updates. Basically the Tomorrow Corp demo in the browser. Nothing actually works yet, but I've built hot-code reload for Apple II assembly in the past, and I see the path to getting there, so I'm optimistic. Our tools for understanding running systems are still unbelievably anemic, and I believe they'll stay that way until we build languages that radically support a better approach. Another idea I've been thinking about is pervasive Swift-style value types (share a pointer when it's known to be safe, otherwise copy-on-assign), with an "shar…