Data Driven Design and Component Architecture

Oh shit, I got access to the old database. Not really a surprise, but as I’ve been digging through models, I realize that I’d done a lot of things well (even this long ago!) by using data-driven design, such that they could be modified on the fly, for example if populations were getting out of control, or mines didn’t seem to be turning enough ore to resource or whatever, the ratios that drive those economies could be changed with a database value in a table called “UniversalConstants” — a notion I later carried over into Terraformist. Also, the ShipDesigns, the different classes of ships that could be built But as I’ve been starting the process of rebuilding the model classes, I’ve had this nagging worry that some of that was going to be missing or lost. But it’s not! Sweet.

Perhaps surprisingly in 2020, Data Driven Design was somewhat of a newish concept back in 2009 (or at least it felt like it), and not something everyone was doing in game design, but I had a friend and early biz partner Paul who was really keen on the idea, and had forced me to read a paper on the topic the year we attempted to found a gaming studio in 2005.

Some additional digging on my hard drive turned up the actual document, turns out it was a slide deck from a talk that a Umich alumn working for Outrage Games came back to give during an undergrad class. Check it out, a lot of these techniques are still really solid:

“Techniques and Strategies for Data-driven design in Game Development” by Scott Shumaker.

As I’m browsing this presentation, I’m realizing how much this took root as my opinions on software architecture developed over the last decade. Thanks for the presentation, Scott, and thanks for pointing it out to me, Paul!

Leave a Reply

Your email address will not be published. Required fields are marked *