Whew, I haven’t written one of these in a while! I’ve been doing some weird back-end programming for a bit, but a few things that I’ve been working on is finally ready for an experiment, so let’s talk about them.
Alert framework
We’re rolling out a new, more robust alert framework.
The old alerts were good for a few things, but not great for most. They began their life out of a need for a system for opt-in decision making, since we didn’t want to be pushing major choices to the middle of the main screen every time a player needed to make a choice (e.g. what to do about bandits), but the initial implementation of icons down the left side of the screen caused problems: icons alone aren’t enough to get across specific information, and there was still important information in the “ticker” (aka dialogue) box at the top of the screen because of this. Some news like “you got some planks” just didn’t make sense in a dismissable icon with the same weight as “pick your bandit foreign policy”.
The new alert system has three levels of alerts and two distinct visual styles which are roughly the size and shape that we want (but the art will likely be updated when we’re convinced we don’t want to alter them), and are broken into what we call “stubs”, “FYIs”, and “choices”. Alerts that can be dismissed (all but choices) can be dismissed by right clicking them. Alerts that contain more information will show this information when left clicked, so for instance choice alerts will expand the choice dialog upon a left click, and FYIs will expand a larger text window upon left click. Hooray standardized interactions! (And I’m sorry I trained everyone to right click to close, then swapped it halfway, and now it’s different again. I always hate it when designers change these things too.)
Things still to come with this system: general polish, and persistent events, which are one of the few things we still need to complete in order to get some of our eldritch/occult stuff back.
The existing ticker text is being moved to a “History” button, and will persist across load/save now (finally). There will also probably be vestigial cases where something important shows up there and not in the alerts somehow, but we will be doing our best to catch these cases.
Character Simulation
There is, I think, a lesson in designing simulation games – or likely even all games – that I’ve learned recently in the only fashion that anyone ever really learns a lesson: the more often a player interacts with a game system, the more clear the state of the system need to be.
Our game has two systems that players are intended to interact with on a very frequent basis: the economy of widget production, and to a slightly less frequent extent, keeping their characters happy. The widget economy has some basic UI issues and maybe a couple structural issues that are getting in the way of this lesson, but it’s steadily getting better (and is the subject of a bunch of past and future blog posts). The character simulation, however, has been failing this pretty badly, and mostly due to design.
Initially the character simulation was developing character personalities out of a composite of dozens or hundreds of different memories of events, each with different importance to the character, each fading at different rates, in a way that seems to somewhat resemble reality, at least insomuch as any simulation of human behavior can. We had to trash that months ago when we realized that players had no real idea of why the characters were acting a specific way because they had no access to real data about how their moods were being decided. I dropped the number of memories that the characters could draw from down to seven and displayed the data in as much detail as possible without actually showing the numbers themselves. But I didn’t realize that this simplification was dooming the system entirely. With fewer memories to draw their composites from, the characters became more unstable. Unless they were constantly flooded with extremely positive memories, one bad memory could flip their state entirely. These systems are impossible to balance, so we’re not doing it any more.
- Characters now have what we’re terming an “emotional baseline” which for now is standard across all characters. Characters’ mental states are now determined by the baseline, as well as two other sets of things.
- Some things (such as quality of their workplace) will provide persistent adjustments to their emotional baseline, freeing up a lot of design space which the memory system wasn’t equipped to handle in the first place.
- Then the memories themselves will provide flat numerical increases or decreases to each emotion value. The baseline values, the persistent effect values, and the memory values will all be visible on the characters.
We’re losing a couple of things from this. The first is that the memories aren’t going to fade anymore, they’ll either be on or off. This isn’t great but it isn’t terrible, and while it’s technically still possible, we’re sacrificing a little bit of simulation fidelity here to gain more clarity (see lesson above). And we’re also losing the “mystery” of how the character states are calculated. If you wanted that, I’m sorry. There will be other mysteries, but what event has caused your character to go mad and attack their friends will no longer be one of them.
What we’re gaining is clarity (the opposite of mystery): now you’ll know what has caused a character to go mad and attack their friends! We’re also gaining the ability to hook things like building quality to the character state in a way that isn’t janky as hell (aka it’s balance-able), as well as the tools to balance memory effects. These things will allow us to give the character state more importance in the game, since we couldn’t do this due to the whole wildly unstable thing.
Oh, and also we’ve rolled madness into the sadness state and it is now called “Despair”. There wasn’t a compelling design for connecting sadness to the gameplay systems, it was just, well, sad. Also this just themed thematically correct. This is one of the few other things that eldritch/occult stuff was waiting on.
Lastly I feel it’s worth emphasizing a point which doesn’t make itself apparent in the rest of this post. Simulation complexity, randomness, and mystery are not inherently bad. In their time and place they’re awesome and often even necessary to a game. And we will have both of these, and they will exist in thematically important systems, just not the ones that you’re interacting with several times each minute.
I am slightly pained by the loss of the emotions on the character development, but understand the tradeoff on clarity. The tag about dredmor combat system stings a little, because if there was one place where Dredmor could be significantly improved, it would be in documenting combat better. All in All, CE looks really entertaining, but with all this iteration, I will wait till release to play it.
*loss of individual memories is what I meant.
They’ll all definitely still have individual memories of events! The data structure hasn’t actually changed complexity at all: each character who qualifies to have been involved in some sort of occurrence stores their own version of a record of that event, which is the memory. The only difference now is that we’re actually showing you what numerical impact this has. Am I misinterpreting what you mean somehow?
Let me explain the Dredmor combat tag!
Once upon a time, Dredmor was supposed to have a numberless combat system. Damage values at some point also went through some kind of calculus operation for some reason. This didn’t work at all.
So that was all dumped, a stats system come up with, and damage became a fixed number with no randomness, all based on numbers you could see. It was much better.
The comparison is moving from an extremely complex obfuscated system to a simpler system with values made accessible to the player.
Calculus for damage calculations sounds like the Mathemagician tree
This post gives me despair.
When you say you’ve rolled madness into sadness, does that mean you’ve eliminated references to madness, or sadness, or both (and replaced it with this Despair quality)?
Also, there seems to be a pretty clear difference between sadness and insanity, especially in a Lovecraft-themed game, but so be it.
Despair is basically a combination of the Sadness and Madness stats.
Before, Madness did lots of neat stuff but was somewhat set apart from emotions. It was basically “if you come into contact with eldritch things, you become more susceptible to eldritch things”. Sadness did a handful of depressing things that weren’t very interesting. Combined, they form a stat that represents damage to the will to resist eldritch influence due to emotional strain. It ties everything together more neatly.
(Creatively, it is not among our artistic goals to reproduce the exact tone or content of Lovecraft’s work; we’re just heavily influenced by it.)
Shouldn’t madness remain separate? As much as I understand simplifying stats, I don’t think that madness and sadness should be merged. Madness is fundamentally different from mood and it should behave so – being mad is not the opposite of being happy – I can be happy and mad at the same time (possibly Not a Really Bad Thing – for example an enthusiastic preacher or unorthodox scientist), while I can be sad AND mad at the same time too (possibly a Very Bad Thing – a lumberjack throwing a tantrum). I’m afraid that turning madness just into a mood modifier, rather than being a separate value, will take an interesting level of depth away from the game…
To add to this: Wasn’t one of the huge benefits to having cultists how happy they were (unless that changed)? So they were unnaturally happy AND full of madness, which makes sense. But being happy and full of despair is confusing–maybe possible I guess if you get into complex psychological states.
I feel like maybe you’re looking at this a different way than we are. We’re NOT saying that sadness = madness = despair.
Despair is going to be treated differently than sadness, more akin to how madness was originally treated, and most of the “sadness” stuff is going to be moved into a negative impact on happiness itself, thereby being “anti-happiness”
In this way you could envision a cultist being both very happy but also full of despair, which seems a bit conflicted, but being excited about the end of the world sort of is too, I think?
But how would it be possible to be very happy AND full of despair at the same time, when despair is negative happiness? It is like having a very dark room filled with a bright light.
Sadness being treated like a negative happiness is logical. Treating madness as tied to happiness however is not (at least in my opinion, of course). Just think of the possibilities of having madness as a separate stat! If the madness value would add a “twist” to chaaracter’s behaviour, it could have a very interesting gameplay impact. Having a mad colony wouldn’t be problem as long as you would keep them happy. It could even have some benefits (mad people could get more intense memories, as it is easier for insane to entertain themselves for example…)
But then again I am thinking about madness as insanity, not madness as anger (which would get sense combined with sadness into despair, of course, but that’s a different meaning of term “madness”)…
When I think about how Poe represents madness (and I assume Lovecraft is similar), calling it despair seems pretty accurate. It’s generally heavily laced with fear and depression, and terror of the sublime and the supernatural. It seems that most negative emotions in gothic horror, while being distinct on their own, also feed into a growing madness.
One of the reason i’m waiting this game is to get a new set of emotes for the steam chat.
A thought on how to keep the decay of memories. Somewhere in the dialog you have two lists, positive mood memories and negative mood memories. They stack up in chronological order. The bottom ones could roll off on a timer, maybe modified by how traumatic/ecstatic the memory was (finding a dead bunny, not so much. fishpeople eating your wife, very). There could also be a suppressive relationship between the two columns — pile up enough positive memories in ratio to negative ones and it suppresses the entire negative column a bit, for instance.
Really been missing the cult stuff, so it’s good to know it’s a couple of steps away. I’m curious what persistent events are, and how that ties in, but I guess I’ll find that out later.
I’m a bit concerned about what this means for false memories, and memory loss.
Can this system still support characters losing a memory by heavy drinking? What about a character MISREMEMBERING an event – is that no longer possible?
Am I fundamentally misunderstanding something? 😀
It can still support all of this.
I will say that we don’t do any of this yet because it’s extremely difficult to provide a canonical series of events for the player while presenting simultaneously flawed accounts of what actually happened (since you then have to show that a character should remember something but doesn’t, and then provide information about what it was that made them forget, lest it look like a bug) without just heaping on obscene amounts of UI.
We still want to do it, but not if it makes the game an unreadable heap of data.
Thanks for allaying my concerns on a fundamental level! On a gameplay level, yeah, that would be a massively complicated layer of information to expose unless someone meticulously tracked each colonists’ memories and looked for deviations over time. Not exactly Fun.
Very glad to read these blog posts every week. Thank you.
You mentioned that characters will have an emotional baseline. Is it the same across all characters, or will some have different natural dispositions? For instance, some could be more cheery or gloomy by default?