On a recent pre-stream (day 204) Casey was asked about gameplay code architecture, and mentioned two things offhand: finite state machines and Act/React. He also mentioned that as far as he understands it, it sounds as though the "Entity Component System" hullabaloo is a reinvention or rephrasing of ideas from Act/React (and I guess the Thief's object system in general).
Everyone and their mother talks about finite state machines, but I hadn't heard of Act/React. So I went digging around for info on it. Was not surprised to see it had originated from Looking Glass. The internet tells me Marc LeBlanc designed it, and the object system for Thief:
The only time I ever spent playing Thief was a short demo of Thief: Deadly Shadows that came with a graphics card I bought ten years ago, so I have little knowledge of the games, much less the modding scene for them.
Here's more stuff I dug up:
LG/Doc 9/24/1999: Act/React requirements
Sources and Receptrons, for teleporting and timing
Sources & Receptron Basics
ShockEd for Dummies Pt III
Postmortem: Thief: The Dark Project
I'm interested in learning about this and related systems since i've been iterating on the design tools for the project at work, and it can be useful to look at ways people have solved related problems. There's a lot out there to read about it, and I feel like I should maybe get Thief on Gog and try to run the mod tools to get a better understanding of it.
Has anyone here done any scripting for Thief, System Shock, or other Looking Glass games that used this system or a derivative of it? What was it like to program levels/characters/encounters? What useful ideas or techniques do you think modern game authoring or modding tools could glean from there (or are they all already in use)? What wasn't good about it (the postmortem suggests there were some hiccups)? Know of any other good articles about this or other approaches?
I'm very behind on HMH, so apologies if this has been discussed in detail on streams that I've missed :pinch: