The Day After Dev Report #14 – Hit the ground running, not rolling

This year has only felt like a few months long, but this month feels like a few months in itself! I’m all steam ahead, in all sorts of ways.

Management

Life has been hectic – I’ve been crunched this month by a week long (very tiring) management course, a visit from my family, Movember and attempts to get into NaNoWriMo. Plus all sorts of extra social things (people having babies or going overseas). I’ve decided to pull the ripcord on NaNoWriMo and try that again some other month (yes I know it won’t be official, but who cares?)

There won’t be that many big life items on until Christmas, so I’m recalibrating and trying to get The Day After to prototype stage. I had promised people (mostly myself) that I’d have a prototype by the end of the year, so that is my most important life goal at the moment. Sorry for the lateness of this update.

Coding

MY last nominal point of progress was that I had gotten the screen to display GUI stuff, so I was keen on progressing that. This weekend I’ve been watching the lovely Desert Bus charity and diving into the GUI code.

It sounds really trivial and dumb, but my first win was getting the mouse cursor in the game to sync with the OS mouse. Previously there was an offset due to technical issues. I’ve fixed that and made it so that when the mouse is in the game window it’s the custom styled mouse cursor, but reverts to the OS standard one outside of the window. But it’s great, the GUI is in a better base shape than I thought.

Currently I’m smoothing the edges of the GameState system which is the thing that controls whether you’re on a splashscreen or a main menu, and coordinates all the GUI stuff. I’m confident I can get the splashscreen and main menu done very soon.

No progress on the graphics for the GUI. I’m just going to run with some dodgy defaults for now. I kinda wish they’d add SVG support, because I love the heck out of resolution-independent graphics.

Design

I’ve been reading some conference papers in Computational Creativity, which is a huge component of what I want to add to The Day After. The way the game will work on some level is that a Director will choose scenes for you to play in. These scenes will hopefully be chosen to give a nice narrative structure and feel. It’s trivial to just randomly choose scenes, but you get no idea of pacing. There are numerous programs out there that attempt to write stories. They’re trying to solve much harder problems than I am, but the results are flakier from an entertainment standpoint.

I’m working on algorithms to provide interesting stories via information theory and at right-angles to that, how writers structure stories. I’ll do most of the literary heavy lifting (writing actual dialogue and scenes), but the computer will do structure. This ends up being a bit of legerdemain rather than advancing the art of artificial intelligence, but it’d be nice to make something that works and is original.

It’s been mentioned before, but I’ve thought about how to keep players involved in the long-term. I was listening to an interesting talk by Jonathon Blow about how the medium changes the message. He talks about a bunch of free-to-play models, but also the model of long-term player involvement. I much prefer the model that Team Fortress 2 and The Binding of Isaac use. Over time you get items or abilities that you can optionally integrate into your game. It doesn’t necessarily make you more powerful at the game, but it gives you a broader scope.

For example, in Team Fortress 2 the Soldier begins with a standard rocket launcher. Over time you can acquire something like the Black Box, which is a replacement rocket launcher. It has 3 rockets per clip instead of 4, so you need to be more aware of reloading, but each rocket that hits heals you a tiny amount. This broadens your play style as it allows a Soldier to go on solo attacks without healing support. Alternatively, you can use the Direct Hit, which is like the standard rocket launcher, but fires faster rockets that require much more accuracy but reward with more damage. This encourages a more accurate, conservative play style. None of these are strictly better than another and you only really lose out on breadth of playstyles if you don’t have them. If you desperately need any of these items, you can always buy them for decent prices but can also easily acquire them with just a bit of gametime.

Similarly, The Binding of Isaac exposes you to more random items with varying powers over time. This is done sporadically and slowly because each new item can combine with others in interesting ways. You wouldn’t want to be overwhelmed with mechanics and ideas too quickly, but it opens the possibility space up over time, so there’s longevity in the game.

I want to do something similar with The Day After. The fundamental way that scenes work allow this idea to be integrated anywhere and everywhere. The biggest difficulty is integrating that into the Director’s understanding of the world. Does it know whether a scene will be fun or dumb or hard if a player has a certain item? What if there’s some funny combination of items across players? Should it try to incorporate good scenes if you’ve recently acquired an item to show you its worth?

The Short and Sweet

Busy times. Recently completed tasks:

  • Fixed the mouse cursor offset.
  • Fixed windowed mode mouse cursor.
  • Fixed a few dumb bugs.

Currently working on:

  • The GUI O_O