At work-work, we’ve started experimenting with something called Test Driven Development. It’s where you start a new program by writing some tests for it. Since your program proper hasn’t been written yet, your tests will fail.
After failing, you then write your program, and run your tests again. And hopefully some or all or the tests will pass. And you keep working on your program until all your tests pass.
It sounds a little backwards, and I wasn’t really sold on the whole idea at first, but it’s growing on me.
* * *
So I was gonna enter this co-op board game contest.
And then I didn’t.
I could write up a whole postmortem, but mostly what it comes down to is, I chose not to devote a lot of time to this project. I’m still going to work on the game design. It’s deeply flawed, but I think there’s potential here. In many ways, failing this first test has been a good way to start.
* * *
Video games are filled with tests. Boss battles especially are very test-like. After grinding for hours and hours, you’ll suddenly find yourself in a situation where you have to use all the new equipment you’ve gained and defeat a screen-filling monster in an intensely concentrated test of your skills as a player.
For Tinselfly, I want tests, but more character driven. You can’t progress if you don’t get the characters you’re playing. Their assorted emotional baggage, their strengths, what things make them totally freak out for no rational reason. The story won’t continue if it thinks you’ve missed some of it.
* * *
It’s getting harder and harder to avoid working on actual playable levels for Tinselfly. I’ve done lots of setup, written lots of outlines; the visuals so far are nice… but a decade into this, I still haven’t figured out the details of where to begin, with this whole character-and-story-through-game-mechanics thing.
But it occurs to me that the answer lies in Test Driven Development. In an odd sort of way, a great many conventional stories are test driven.
You start with a hero. The hero is presented with a test in one of the first scenes of the story, and they fail the test. The exact way the hero fails should tell you a lot about them as a person. And then the hero gains new skills, has various emotional epiphanies, improves as a person, and finally passes the test they were originally confronted with. Roll credits.
Lots and lots of action movies follow this sort of template.
So without knowing the details of my first level, I can write the test for it, and just make it up as I go along, which is nice because I hate planning this sort of stuff. And then I can build the rest of the level around that test, making sure the player has ways to gain the items and area unlocks they need to complete the test, and I can keep iterating until the test is actually completable.