Data-Driven Game Development

I ran across a twitter post to check out a new game engine called Spark. It sounds like an over lofty idea, but with the right focus and vision. I signed up and will give it a test drive if I get into the Beta.

They are using Haxe as their source language, which is great since it can target many runtime/compiled languages. It’s akin to using CoffeeScript as the source for the javascript a web app uses when run in the browser. It is indeed a better variant of ECMAScript than javascript having derived from ActionScript, but go read up on it yourself if you’re interested. I’ve wanted to try out Haxe during a gamejam or for 1GAM, so hopefully I’ll get invited soon and can do so testing out this new engine.

Data-driven development is something every game developer learns over time when they realize the extra work required to go find and tweak the variable, or create another class for a new enemy. Instead they can move as much as possible into data configuration files or scripts separating it from the game logic and core engine code. This allows changing assets on the fly or pulling them from different sources, adjusting parameters for procedural generation algorithms, or even creating new enemies or modifying their behavior. It can allow simple modding support without requiring full scripting experience.

Now with any new games or prototypes I’ve started to build the data models and configuration first. There’s plenty to be said about this topic, and others have written about it better than I could today, maybe I’ll expand upon this topic in the future once I’ve built up a library of data-driven prototypes as well as continued writing practice.