Despite this blog post’s lofty title, I’m not a game designer. I am, however, attempting to become one, pretty much from scratch (spot the noob programming joke!).
I’m currently taking Future Learn’s programming course, which is a mostly useful but very peculiarly structured introductory course. I suspect I’ll end up learning more by working my way through Unity tutorials, in the long run.
The other thing I’m doing is working on a Twine game. This is a choose-your-own-adventure engine with an interesting, intuitive flowchart UI and support for some decent variables, stat tracking and lite programming gubbins. It’s a really nice introduction, allowing me to focus on game design aspects and on actual prose writing, while keeping the technical challenges to a minimum.
Something I’m trying to bring to the game is a sense of responsive characters. Depending on your actions, I want characters to behave differently towards you. Practically this is unlikely to massively affect the overall storyline, but having that moment-to-moment customisation of character responses will, I think, lend the fixed narrative more of a personal note. Not a million miles away from The Walking Dead’s “she’ll remember that” stuff, basically.
I’m learning on the job, though, which probably means I’m doing things incredibly inefficiently.
I’d initially considered a simple three-state setup for characters: Annoyed, Neutral and Happy. They could move between these states depending on what you’re up to, which would then drive their responses to your subsequent actions and dialogue choices. This wasn’t nuanced enough, though.
So the current system is an attitude rating, with 0 considered to be ‘neutral’. Player actions will then increase or decrease this variable. Do something a character likes and the variable goes down by 1. Do something which annoys them and it’ll go up by one. Do something intensely stupid and it’ll go up by 2. Save their life and it’ll drop by 5 – that kinda thing.
The benefit of this system is that you really have to pay attention to your actions. Piss someone off too much and you CAN still get them back on your side, but it’ll be difficult, because their attitude score will be really high. No matter how much you try to ingratiate yourself, it’s going to take a while to get that score down. Equally, if you’ve got into somebody’s good books and have a -10 attitude score, you’re going to have to do some pretty stupid stuff to really get them annoyed.
The trick is then in how many custom responses to craft. It needs to be a practical number which I actually have time to write. At the very least there needs to be 3 responses for any given situation – that annoyed/neutral/happy trio. For the system to work there really needs to be at least another 2 responses, for extremities – otherwise it won’t feel natural enough.
A problem with this setup is that I rapidly lose track of the limits of the system. With a myriad of choices and multiple narrative paths through each scene it’s really, really hard to know the potential range of attitude responses at any given time. This isn’t necessarily a problem, but it does run the risk of the system getting unstable, with the player unable to ‘fix’ early actions – then again, is that really a problem, or is it a decent game-representation of the result of mis-handling a relationship with another person?
I’m intending to blog about my continuing explorations of Making A Game. So far: it’s fun.
The Lift: complex conversations in Twine | Simon K Jones · August 27, 2015 at 8:36 pm
[…] fun but was far too enormous a project to be my first foray into making games. As you can see from my blog post about responsive characters, what I was really interested in was character […]