New Interactions and AI Tweaking

Hey Folks! A bit of a housekeeping day today, though I did get a bit more work done on making the AI more interesting. Still trying to figure out where to go from here.

The main changes of note today were adding more in-game effects to Michael's latest batch of interactions. Basically, the psychological "loot" for each interaction, whether it be more self-respect, less friendship, or whatever. Each of those interactions now has an effect on AI needs, comparable to the original batch.

I also hooked up a bunch of visual/UI stuff, like icons and animations for the interactions, plus some naming convention changes/fixes.

The result is partially visible in today's screenshot. A bit more variety in the things we see AIs do, and the effects they can have. Plus, as mentioned yesterday, the player can now have a more direct hand in the proceedings, by selecting one AI, then right-clicking on another to choose which interaction to try.

I spent a bit of time watching them do their thing, and as a result, noticed a few tweaks I could make to keep things more interesting. For one thing, I needed to fix the repetition code to make sure AI doesn't get stuck doing the same interaction over and over. Previously, if an AI had even minor results from an interaction, they'd keep doing it like a hamster with a food pellet button until they were "stuffed."

Now, they keep a short memory of about 6 recent interactions, and will avoid repeating them until they fall off the list. The result is more variety as they try different things. (And in theory, their semi-machine-learning algorithm gets more data variety to make better decisions in the future. If any of these AIs were to live that long :)

It's a minor step forward, especially compared to yesterday. But I think I've hit yet another plateau. There is a wide range of places I could go from here, and figuring out what's next is a bit tricky.

For one thing, it'd be nice to finally get the facial animations aligned with actual mood, so it could be a useful UI tool for "managing crew" rather than just meaningless noise. The message log also gets pretty hard to follow as it gets busier, and I think it could use some more distinct message highlighting based on message type/effects.

Random characters are also still getting some weird combos of stats, though today's screenshot captured one of the more sensible ones. And defining rules for starting stats/interactions could be useful.

But I can't help feeling like those are really minor. There's a bigger thing missing here. The part that makes this "OMG I can't stop tinkering with this" versus where it is now. Right now, it's more like "ok, kinda neat. But I'll come back in a month or two to see what's new." That may be due to no economy sinks. There's no urgency or resource running out that compels me to deal with it. (At least, not urgently.)

With Minecraft, you're seeking shelter before dark to avoid getting clobbered. In Rimworld, you're building shelter and covering basic needs before you lose colonists to health or psych issues. In Prison Architect, you're working against the clock before that next load of prisoners arrives (or before your cash outflow bankrupts you).

I sort of pictured the major force in this game being a bit like that last one: money. You have immediate, pressing concerns like air, food, and psychological needs, sure. But usually, you won't start with any of those critical.

However, you're going to need money to replenish many of those things. Whether to buy it directly, or last long enough to reach a goal where you beg/buy/steal more. That money timer is always ticking down silently in the back, and if you don't keep pace, you can end up in the hole. That might be the thing I need to do next: return to the ledger and expenses, add necessities to buy with money, and kick-start some sort of money flow to keep the game moving. And maybe some way to brute-force "hire" crew onto your ship :)

Anyway, that's for next week. The weekend is here, so time to give the brain a rest!

Tags: Ostranauts