Saturday, December 7, 2019

Tracks: switched. Story work: engaged

As I predicted multiple times, I have finally switched tracks. Hooray! I've spent the last week working mostly on my game's story. This proved difficult and I haven't made as much progress as I would have liked. I'm stuck on a few main things, mostly to do with the big picture. It's strange that I've managed to fill in most of the smaller details but still lack my big overall concept, but we'll get into that in a moment. First up, I'll go over what I did that wasn't story related.

As I wound down my programming sprint, I thought more and more about my NPC conversation system I had developed. I worried and toiled over how I could possibly make it easier to use. How I could remove the dependence on mysterious global state enums, or the anonymous functions passed in to each conversation fragment to let it know when it's ready to be displayed. But I came to a conclusion. It wasn't so much anymore that my data structure was garbage (I'm not claiming it's perfect though) so much as it was that my tooling was lacking. There's no interface to add conversations, no way to visually see the relationships between fragments and responses except to trawl through C# source files. I really think that to make creating conversation trees and story flow logic easier, the next step will be to develop tooling that will generate my C# object code for me. I don't know if I actually will do this, but I believe if I were working on a team where multiple people were required to work on conversations it would be a necessity. It might end up being a necessity regardless, but for the moment I'm betting that because I'm the only one working on this I can store the links and relationships in my own brain well enough to get by without having to spend weeks on tooling. We'll see how it pans out.

In the art department, I did another concept drawing for some Union characters.


This was a fun task and I had a lot of feedback from some artists I asked about how to make these characters look better.

Now, on to the story!

What I decided to do was to define the NPCs that will exist in my game. There will be a set number of NPCs, and if I can define the number and interactability of all of them properly, I can come to terms with how difficult it will be to write/program my NPC conversation trees into the C# files directly. This simple task ended up causing more problems than it promised to solve. I started off with a basic list of something like 40 characters I was interested in. I progressively culled this down to the 22 I have at the time of writing this. Even this many is too many, so I will have to cull some more. Ideally I think I would want around 12-16 characters. The problems raised while defining these characters arose quickly, with one of the first being; what do I name them?

I started off naming my Union characters with generic names I might use when testing software input forms. Jim. Tim. Kim. I then went back and started creating worldwide names. I googled various terms and countries, and followed Wikipedia links to the pages for all sorts of people from around the world, coping fragments of names out to create an extremely varied set of worldwide NPC names. After doing this, I stopped and thought about my Union and their people. Two cores element of the Union concept are their inclusivity and their homogeneity. This can present a bit of a paradox. Would the Union stamp out individual nationalistic names in preference to a homogenised naming scheme, even though this goes against their inclusivity doctrine? I'm not sure yet. I thought they might, (taking a cue from Brave New World), and so I went back and renamed all my Union NPCs to have generic Anglo fore and surnames. Part of this is to allow a contrast to the Arcadian naming schemes.

My Arcadian NPCs have very strong ethnic naming schemes. I chose a few nations for my Arcadian NPC groups, Spanish, Finnish, British. By giving these NPCs very strong ethnic names it helps to highlight the Arcadian prerogative in contrast to the homogenised weakly-Anglo Union names.

But I can't help but think the more I homogenise my Union the more their tenant of inclusivity fades to worthlessness. There's no point in being inclusive if everyone is already the same. So that is a fine line I have to traverse. I am tempted to go back to an older concept I had for the Union, related to how certain groups of ex-pats behave in the real world. I might have Union characters have various ethnic names and even keep various symbolic trinkets from their supposed heritage in their rooms (flags, furniture), which they proudly talk about making them who they are. I can then contrast this hollow pride in a past they have no real link to with the ultra traditionalist Arcadians. Perhaps I can have an interaction with a Union NPC who has only just found out they have faint Irish heritage and has started wearing all green. Or, another NPC who has decided they don't want to celebrate their Arabic ancestory anymore and would rather identify and celebrate their Peruvian past.

I came across a separate problem while naming and inventing my Arcadian NPCs. Unlike the Union, the Arcadians live and breath their ancestry. This means that if I, for example, create a homestead of Czech Arcadians, they will certainly speak only Czech. This is true in the Universe, but makes it impossible for my player character to talk to them, unless they happen to also speak Czech. Because of this I am considering that I will have to have my Arcadian NPCs speak English (localisation of this game to other languages is not something I am considering yet). This makes a British Arcadian group obvious. I also created a Finnish and Spanish group. I created these groups to fill other constraints I had, but having them speak English might be too long a shot. I'm not sure how to resolve this yet. I might just not resolve it, and leave it a hanging plot hole. I'd prefer not to though.

Having multiple Arcadian homesteads that do not communicate in the same language all living nearby raises other problems. The Arcadians are even less of a cohesive force than I was originally planning. They will be unwilling and unable to cooperate as a larger force. Perhaps I can get around this and the previous language problems by having a local cooperative of Arcadian homesteads, all speaking a common language and serving a common purpose when needed. It seems flimsy but might be required. That would certainly solve a few issues...

One issue I haven't been able to solve yet and which has been growing in importance is; what is the player's actual goal? I've decided the gameplay will consist of ferrying messages between the two factions with the ability to distort either side's message to the other. But why are the two powers negotiating at all? The Arcadians want nothing but destruction for the Union, and the Union barely acknowledges the Arcadians at all. I can use my ultimate cop out card for the Union at least if I absolutely have to and say "the Union central AI has decided this is what they should do" using the inscrutable nature of the AI as a get out of jail free card. But I can't do the same for the Arcadians, even if I wanted to. One theoretical story hook I've been considering goes this way:

  1. A travelling Arcadian missionary tasks the player to deliver a letter to whoever is in charge of the local Union tower. The letter is requesting the right to preach to the Union citizens.
  2. The player brings the letter to the AI, who convenes a council of Union citizens to handle the request. 
  3. The council is more interested in debating the Missionary and write a letter talking about the scientific evidence for God to be delivered back by the player
  4. The Missionary is perturbed and appeals to the local Arcadian homesteads to write a response
  5. The player delivers the response, thus starting the debate...
This might work but seems like an awfully low-stakes story. I would prefer to have something escalate to the point where both sides are fighting for their very existence. I'm not sure yet how to do this, but I'm sure I can come up with something eventually.

I should leave this here, it's been a long talk. Hopefully next blog I'll have the major story close to being sorted out.

No comments:

Post a Comment