Doom Eternal does not have a main or render thread
twitter.com
twitter.com
Game engines are like supercars, and occupy a rare space in software outside of academia where individual developers are continuously innovating on an architectural level, integrating knowledge from multiple fields, and enthusiastically sharing their work with their peers.
That kind of development is often too 'in the weeds' to be economic for most development houses, but I think there's a lot of transferable knowledge waiting to be picked up on by other developers willing to keep an eye on the space.
[0] https://www.guerrilla-games.com/read/killzone-shadow-fall-th...
Has that changed?
Asserting "no main thread" implies any thread can post and receive events to/from the OS with no proxies. Sounds good.
I think what the tweet actually implies is that they don't have a main thread in a sense of a "main system controller thread" which invokes several systems in sequence (e.g. AI, physics, rendering), and those systems are parallelizing their work internally, but instead define the "per frame work" as one big dependency graph of small jobs/tasks without high-level syncpoints between systems. Speculation on my part though.
PS: I wonder how well traditional debugging works in such a highly granular system.