Hacker News new | ask | show | jobs
by aranchelk 1879 days ago
Centralizing state and deriving views entirely from that state. Very much in the vein of FRP and the Elm architecture.

This style of development has so many advantages e.g. time travel debugging, dead simple save/load; most of the application code can be referentially transparent, and as a result easier to reason about.

I’ve found it to be an incredibly compelling style for productivity applications as well. In the application I’m currently working on, I use this style, and I also use rollback for state synchronization between users. I have slightly different motivations, but a similar implementation to the one described.

One quibble in the section “How a game must be built”

> every single frame must be serialized

Yeah, that is one way to do it, but not a hard requirement.