Happy New Year, Space Travelers!
The end of year festivities disrupted my development schedule a little, but it was still a somewhat productive stretch! Let’s take a look at what was added to Stardeus within the last couple of weeks.
Just building a ship is pretty dull, so I have started working on storytelling aspects, and now there are a bunch of new building blocks for this.
The AI storyteller is now able to analyze the state of your ship and occasionally trigger a “story event”. It is an extremely powerful item in the story generation toolbox, and I have already implemented the following events:
A warning about an incoming asteroid will be produced several in-game hours prior to the asteroid showing up, so you can prepare for this. Then the asteroid flies in close proximity to your ship, possibly resulting in an impact with a wide range of consequences.
Stasis Wake Up
A malfunctioning pod in one of the Stasis Arrays will pop out a new being that will join your colony. For now it’s only humans, but there will also be animals. It’s an ark ship after all!
Drone Battery Overload
A random drone will produce a battery overload warning, and within a couple of in-game hours one of the following events will have a chance to happen. Either the drone battery explodes, killing the drone and spreading fire around it, or the drone dies from electrocution, also causing electric shock damage to possible bystanders, and finally, the battery could set itself on fire, making the drone fly around like a torch. Doesn’t end well in oxygenated areas.
When your ship computer has to perform a cooldown procedure, an egg can spawn in some random corner of your ship. It will not produce any notifications, you will have to discover it on your own. What will come out of this egg and when, will be a matter of another story event. Face huggers, Xenomorphs and Space Kittens are a possibility.
Electricity Grid Malfunction
For a short period of time some electrical connections will randomly get disconnected.
The story that will be generated for you is going to be automatically written in diary style, in the form of an event log. You will be able to review the log on demand, and copy it to clipboard for further inspection or sharing.
And you can add your own log entries to make the story even more personal!
Each being will belong to some “species” type. The species will determine the looks and various behaviors. Species definitions are flexible and meant to be redefined and expanded through mods. Among other parameters, it includes a way of defining genders, sexual orientations and sexual attraction, so if you want to play through a space version of “Boat Trip”, or have a colony of Amazons, nothing can stop you!
Every being is now going to have a randomly generated “persona”, that will hold their species information, name, age, gender, sexuality, and eventually some backstory. You can rename the beings, give them nicknames, etc.
Humans and possibly some other species will now have a “mood”, that can go up or down depending on active mood effects. The AI storyteller will use being moods to create mental breakdown events. For now, I made these mood effect implementations:
- Naked (bad unless you’re a nudist)
- Lonely (bad for extroverts, good for introverts)
- Surrounded by people (good for extroverts, bad for introverts)
- At at / without table (Homage to RimWorld)
- Ate at makeshift table (you can eat off any flat surface, not as good as using a table, but better than nothing)
Life in space is hard, and when mood goes bad, humans will occasionally get a “mental breakdown”. For now I have implemented the following types of breakdowns:
- Start fire
- Deconstruct random objects
- Roam around (you’ll be lucky if you get this one)
In addition to “persona”, some beings are going to have traits that will affect their behavior in one way or another. For now I have implemented only “introverted” and “extroverted” traits. One group will prefer hanging out alone, while others will want to flock.
Each species will also have their internal trait that governs some specific behavior. For example, humans will not like being naked, unless they would have a “nudist” trait.
It’s still in early stages of implementation, so there’s nothing to show, but there is now a relationships system that will handle interpersonal agendas. Colonists will eventually be able to make friends and enemies, fall in love, cheat on each other, etc.
UI / UX
There was already an overlay where you could see a list of all tasks (work items), and who is assigned to perform them. I pushed it a little further, and made it show real time links between workers and task locations, so you can easily see it in one picture rather than dig through multiple pages.
Also just hovering any object that has a work item attached to it will immediately show a link to the worker, if there is one. It is going to be extremely useful when you’ll want to figure out if your construction task is being worked on or not, and who is doing it.
It is now possible to configure the desired camera zoom speed, from slow and smooth to quick and snappy, with a wide range of values that will surely have something suitable for any input device.
That's it for now, expect a ton of new story events done for the next update!
Full List of Changes Since 2020-12-24
- Prevent multiple instances of same sound playing at the same time
- Show link between task and worker on object hover
- Show link between all tasks and workers when Tasks overlay is enabled
- Automatically restrict clock speed when dangerous events occur
- Add event log that will contain your generated story
- Add way to create custom event log entries
- Add soft failure recovery for corrupt save files
- Make UI more flexible
- Reduce the number of dead bodies in wrecked ship scenario generation
- Make zoom sensitivity configurable in input settings
- Begin work on AI storyteller
- Add story event: Asteroid
- Add story event: Stasis wake up
- Add story event: Drone battery overload
- Add story event: Spawn egg
- Add story event: Electricity grid malfunction (light)
- Add traits system
- Implement first traits: introvert and extrovert
- Add relationships system
- Add mood system
- Add Persona component
- Fix RMB not cancelling a tool properly
- Improve performance with extreme amounts of beings (thousands)
- Make species definition more flexible
- Make genders, sexual orientations and attractions moddable for any species
- Show warning triangles instead of missing sprites
- Link being looks generation to species config
- Add support for complex names with nicknames
- Fix incorrectly displayed time in some UI elements
- Show deconstruction progress percentage
- Fix damageable component's repair menu
- Make floor lights cost much less electricity
- Add mental breakdown type: Start fire
- Add mental breakdown type: Roam around
- Add mental breakdown type: Deconstruct random objects
- Add mood effect: Naked
- Add mood effect: Lonely
- Add mood effect: Surrounded by people
- Add mood effect: Ate at / without table
- Add mood effect: Ate at makeshift table
Follow the Development