Stellaris Dev Diary #245 - We have a Situation

  • We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.
Showing developer posts only. Show all posts in this thread.

Caligula Caesar

Stellaris Technical Scripter
Paradox Staff
63 Badges
Nov 1, 2014
752
2.392
  • Europa Universalis III Complete
  • Europa Universalis IV: Res Publica
  • Europa Universalis IV: Third Rome
  • Heir to the Throne
  • Europa Universalis IV: Call to arms event
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
  • Divine Wind
  • Europa Universalis III
  • Europa Universalis IV: Pre-order
  • Hearts of Iron IV: Cadet
  • Stellaris: Federations
  • Crusader Kings II: Monks and Mystics
  • Hearts of Iron IV: Together for Victory
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Europa Universalis IV: Rights of Man
  • Europa Universalis IV: Mandate of Heaven
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Common Sense
  • Hearts of Iron IV: Death or Dishonor
  • Crusader Kings II: Holy Fury
  • Europa Universalis IV: Cradle of Civilization
  • Europa Universalis IV: Dharma
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Crusader Kings III: Royal Edition
  • Crusader Kings III
  • Stellaris: Lithoids
  • Age of Wonders: Planetfall
  • Europa Universalis IV: Golden Century
  • Europa Universalis IV
  • Europa Universalis III Complete
  • Europa Universalis III Complete
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Way of Life
  • Imperator: Rome Deluxe Edition
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Conclave
  • Stellaris
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
Welcome to this week’s dev diary! Eladrin is busy with something exciting this week, so I’ve been roped into writing about the almost as exciting new Situations system we will be adding in the next patch.

The idea for implementing this system comes from the realisation that Stellaris provides excellent systems to tell stories about things that have happened - e.g. anomalies and archaeology sites - but lacks a good structure through which to tell stories about things which are happening right now. While we have a number of such stories, they are often either not as complex as we’d like them to be (e.g. we’d prefer to have more factors taken into account), or they are disproportionately complicated for us to implement (i.e. time-consuming and bug-prone). Either way, the player experience is often not as we’d like it, since such stories and event chains are likely to be hard to follow, and it may not always be clear that events are connected to each other or why certain things happen.

This was a state of affairs we wanted to improve upon, so we decided to implement a system which aimed to:
  • Give players an interactive and informative interface by which to experience current affairs event chains.
  • Provide a structure that is (relatively) easy to add new content to.

Initially, we took some inspiration from Disasters in EU4, but we soon diverged from it, since we realised not all the stories we wanted to tell were disasters, and we wanted a more UX-intensive solution. The result can be shown off in this mockup:

1646842176465.png

Note that this is a mockup - so not necessarily how the final UI will look.

To unpack this a bit, the flow progresses something like this:
  1. The Situation starts. This could happen e.g. through an event. The Situation can either be empire-wide, or it can be focused e.g. on a single planet
    1646842816635.png

    Event text is final.
  2. Each month, the Situation’s “progress” will tick upwards or downwards, depending on your response to the Situation.
    1646842610214.png

    A WIP tooltip showing the monthly change. It'll list all contributing factors.
  3. As the Situation progresses, you may reach the next “stage”. Often, an event will be fired as soon as this happens, to develop the story. Effects can also be applied to the empire or planet based on the current stage, e.g. an instability-based Situation may reduce stability by 10 for each stage.
  4. There may also be random events along the way that can happen on any monthly tick. To distinguish Situation-based events from regular ones, some tweaks have been made to the event interface:
    1646842979882.png
  5. The player can choose how to respond to a Situation via a selection of “Approaches”. On occasion, one might be prompted to change these via events, but otherwise, one can freely pick them in the Situations interface. (We have not yet decided whether there should generally be a cooldown to picking an option). Approaches usually have effects over time, such as “spend X Unity per month to gain faster progress”.
  6. When either end of the Situation’s progress bar is reached, the Situation is resolved, usually through an event in which something happens.

Some Situations will progress in a linear manner from left to right, others will start you in the middle and progress either to the left or to the right based on your choices. And we also want them to be differently coloured depending on how threatening the Situation is:

1646842264908.png

This is also a mockup.

This is all a bit theoretical, so, what changes can players expect in practice? Now I will take you through a few of the things we have done and are doing with the Situations system.

Narrative Situations

Content Design often implements narrative-based event chains set on a certain planet. Now, if we feel like the story has a bit more to give, a planet-based Situation can be crafted instead. The ability to have different outcomes at either end of the progress bar is particularly useful, since it can show which sort of conclusion the player is advancing towards (or at least indicate that there are multiple). To avoid giving spoilers, I won’t say exactly what stories we’ve added in this way, but there will be a few new planet-based narratives to encounter.

The “targeting” function of Situations is not limited to planets (though most of our effort has been towards making it work well there), so we have also managed to try adding a Situation based around a system or starbase.

Owners of the Leviathans DLC - or other DLCs that add Leviathan NPCs to the game - can also expect a few surprises next time they go monster-hunting ;)

Deficit Situations

Situations are not all fun and games. As their origin as EU4 Disasters would suggest, they are a great system through which to portray negative events. They give the player all the information they need to know what is happening, what the results of it will be, how severe the current Situation is, and what they can do about it.

One of our main priorities when it comes to using this aspect of Situations was reworking Deficits. At the moment, Deficits are like a light switch: as soon as you are in deficit (stockpile of 0 and negative income) for a given resource, you get all the defined penalties for being in that deficit (which can be quite harsh). But as soon as you spend a month no longer in deficit, all penalties are removed. This feels a bit off. Also, the penalties are the same for all empires, which has frequently led to headaches where they either disproportionately impacted a certain type of empire or left others (say, one with less need of a certain resource) relatively untouched. Finally, they can also be a cause for “death spirals” (in particular for the AI), as a shortage of one resource leads to penalties, which leads to a shortage of another resource.

With our rework, being in a deficit will start a Situation. You will start at 25% progress in this Situation, and it will increase in severity as long as you are at 0 balance and have a negative income. The rate of increase will depend on how much you are losing compared to your income. Having a stockpile will gradually make the Situation tick downwards; having a positive income will make it do so more rapidly.

1646843561944.png

This is the actual UI as it looks like right now. We are hard at work finishing it up and making it look presentable!

The penalties you receive for being in a deficit will start off light compared to their present settings, but will increase in severity as the Situation escalates. We are also able to configure them depending on your empire’s attributes, so for instance a Catalytic empire will now correctly get alloy output problems for being in a food deficit.

We aim to give each deficit Situation a choice of approaches, so that you can try to mitigate it from within the interface. So, for instance, a consumer goods shortage might be mitigated by electing to defund scientists, with the result that researchers cost less upkeep but also produce less research.

If however the deficit continues to grow, at 75% progress an event will fire which will warn that your empire is in truly dire financial straits and will need to make cutbacks soon. It will suggest a few, and you can pay a price (e.g. devastating a planet, or removing a special resource deposit) in return for some immediate resources that might help you alleviate the deficit.

1646843965654.png

Numbers not final

Finally, if the deficit becomes so severe that the progress bar is filled up, the empire is declared bankrupt. This is an unambiguously bad thing to happen to you - current effects (numbers to be finalised) are downgrading all non-capital buildings to their lowest level, disbanding half the fleet and all the armies, and giving 25% higher costs, 25% less ship damage, and 50% less unity and influence for 10 years. But it’s also designed to avoid death spirals: in return for liquidating these assets, you are given enough of the resource you defaulted on to survive for a while. Additionally, all other deficit Situations you are currently experiencing are terminated immediately, without penalty, and you are granted some resources to avoid them returning too soon.

1646844063692.png

Numbers are subject to change.

Changes are likely to come to this design as we continue to play with the new system and iron out its kinks, but we are hopeful that this new version of deficits will resolve many of the issues with the current deficits system, and make deficits, if not exactly fun to experience, at least a more interesting and less frustrating game mechanic.

Further “Strategic” Situations

We have further plans to overhaul systems or features using Situations. For these (unlike the Situations listed above), we can’t guarantee that they will definitely be in the next patch, but we are looking to adapt the likes of slave revolts, planetary separatism revolts, and the Synthetic Dawn AI Uprising to this new system.

With regards to the AI Uprising: we are broadly happy with the way the chain works now, but there are a few improvements to be made, and we feel that it would be beneficial to the player to be able to experience it through a UI. For instance, it has a bunch of events that an experienced player would recognise as warning signs that they should do something about it, but the inexperienced player would not know what is up and would not stop it from happening. With the Situations system, experienced and inexperienced players alike would know that something is up. However, this also makes it easier to know that you should do something about it, so we are also looking at making it a bit more challenging than just changing species right to end the Situation - after all, the robots are still extremely annoyed at you having deprived them of sentience for all these years! We are also looking at making purging the robots a viable if high-risk approach, at least so long as you don’t have too many robots.

With planetary revolts and slave uprisings, we have a feature that hasn’t seen much love for many a patch even as the game has changed around it, so we hope to improve it in a variety of aspects. At the moment, it would be fair to say that the unrest events are more a nuisance than a threat: revolts feel like they come out of the blue, but don’t have much teeth, as you can usually just conquer back the planet (since one planet alone cannot hope to stand against your empire). Our changes to this system are at a fairly early stage, but our goals include:
  • Make revolts feel less random - they will no longer happen suddenly, and whether unrest turns into a successful revolt will depend more reliably on factors such as how many pops are on the planet, and just how annoyed they are.
  • Smooth out issues such as one habitat in a system revolting leading to the loss of all planets in the system. The opinions of other planets in the system should have an impact on the success of the revolt.
  • Improve the system where planets can sometimes join other empires after the revolt. (At the moment, this can happen in separatist revolts if the original owner still exists and is nearby, and in slave revolts if there is an egalitarian empire nearby). Basically, they should be asked in advance if they wish to support the revolt, at which point it should progress faster, but on the other hand, the other side will know this is happening. Also, we may want to review the conditions for revolts joining other empires, since in some cases a completely annexed empire might have each planet revolt to form its own micronation.
  • We are toying with the idea of removing the stage where planets have ground combat during rebellions. Troops stationed there can be factored in during the buildup stage instead.
  • Ideally, a successful rebellion would start a war with the previous owner, but would also be a bit more of a potential threat. We’ll see what we manage to come up with, here.

That’s all for now! Except to add that, since an old version of the cheat sheet for what all Situations can do is actually available to you in 3.3, I’m attaching the new and updated version of this, so that those inclined can make plans for what to do with the system.

And keep an eye out for Eladrin’s dev diary next week. You won’t want to miss it.
 

Attachments

  • 00_situations.txt
    3,6 KB · Views: 0
  • 131Like
  • 93Love
  • 11
  • 10
  • 1
Reactions:
Great! Now that we are kinda touching the situation log, may I speak about a "megastructure dedicated situation log" that would show us all the locations, types, outputs and expenses of these structures? That would immensely help the players, and I don't think it is a hard thing to add (I don't know much about game development, please do tell me if it's a troublesome thing to add to the game).
A megastructure section of the outliner would be ideal. (This is not a promise for 3.4)
Niiiiiice! But concerning the targeting part, situations could also revolve around a whole empire, an ambient object, a megastructure, a civilian ship, a military fleet, even an enemy flagship.
Being limited to planets, systems and starbases is a bit restrictive.
You can technically target any scope. But we decided to focus on supporting planets because it's most useful. So at the moment you can only apply modifiers to planets via target_modifier in the situation that way. You can still scope to the target in situations if it's a different type of target, though.

Targetting other empires is a bit funky because that empire won't automatically see what you are doing in the Situation.
Yeah, but I'd be down with some red text that says "There will be consequences."
Exactly. One can be sneaky despite having an interface to work with ;) And not all descriptions of what will happen need to say exactly what will happen.
 
  • 20Like
  • 8
  • 3
Reactions:
"At the moment, it would be fair to say that the unrest events are more a nuisance than a threat: revolts feel like they come out of the blue, but don’t have much teeth"

Are you sure about that?

View attachment 816586
What I meant was: the rebellion may succeed, but there's usually nothing stopping you from taking the planet back straight away.
All of this sounds great, but situations involving two countries is - IMO - exactly the sort of thing Stellaris needs. If my neighbor has a serious deficit, give me a situation in a separate category ('Such and Such Is Starving') where I can offer to lend aid in return for favors or goodwill or some other resource. This will provide an avenue for empire-to-empire interactions AND help smooth out AI econ problems before they get too bad. If my neighbor is being invaded, give me a situation to either give them military aid, providing alloys per month and a ship build speed increase or even send in a fleet as privateers, or let me choose to give any intel I have on them to their attacker to provide an attack bonus. If I'm the one who's being attacked, give me the option to ask for that aid.

Give situations for intervening in your neighbor's elections or messing with their crown prince, if you aren't already looking at something like that for espionage. As you build out this system, see which situations have the potential for foreign involvement and build that out too. We need more non-war options for helping or hindering our allies and enemies, and this seems like a great way to do it.
In my view, Stellaris needs both, but it will have to be two different systems. Our aim with Situations was to do the case we're trying to cover - namely internal issues and stories - well. The scope is already actually quite ambitious in the sense that there's so much you can do with Situations, and so many things we are likely to do in the future with them (and yes, there is a case for updating various event chains to use the system).
This seems really cool. I'm especially excited about the applications chosen for the new system, deficits and rebellions. I've always thought it seems weird that you didn't get progressive pop starvation with a food deficit. I've also thought it was kind of sad that rebellions didn't have real teeth.

One question: Will negative situation resolutions always be on the left and positive on the right?
It's a bit of a stumbling point we have had with the UX in general, but the short answer is no. Basically:
- For a Situation with a single outcome where "A Thing Happens" (this includes e.g. going bankrupt), that will be on the right. If the left side is used in these cases, it is to simply end the Situation with no further effects.
- For other Situations, you will start in the middle and can decide which way to go based on your choices. In these cases, it will often not be clear in advance what the best course of action is.
Am I understanding correctly that if I'm an empire that has 10k energy credits saved with +100 monthly income, but then the monthly situation changes so it becomes -200 monthly income, then a Deficit Situation will begin? Or will the Deficit Situation only begin once the empire reaches 0 energy?
Only when you reach 0 energy.
But dude, this is a balance question, not a design problem. Like the guy showed here a screenshot of a 15k rebelion army, you easily balance the rebelion to not be some punny resistence that 10 defense armies defeat.

And as they want to make rebelions turns into Wars, this rebelion army will work into the Rebelling AI favor to use as Offensive armies on new planets.

Think of the flavour we lose by removing the battle phase. Flavour and storytelling is a good part of this game.
It is worth it for gaining flavour during the rebellion, and having the actual revolt spawn ground armies is not tenable when you know the revolution is coming.

Note that having fewer moving parts and a more predictable outcome means that a lot less can go wrong, and therefore a lot more can be done with the system.
 
  • 17
  • 9Like
  • 2
Reactions:
Ok, this is awesome and something I've been wanting to see for a while. But 3.3 patch? Please? The game isn't even playable for me right now, there are so many bugs and negative QoL changes from 3.3. I was really hoping to see a patch out by the next DD, or at least before a new system was introduced.
I'll be wrapping up the testing of 3.3.3 tomorrow morning so expect it to release sometime in the next week. However it only contains a few targeted bug fixes and a few balance tweaks. Otherwise 3.3 is in a good state right now

and before anyone says "But Tall is still weaker than Wide" yes, we know. but we're getting there. This is a multi step process. :D
 
  • 26Like
  • 4Love
  • 2
  • 2
Reactions:
You're absolutely right.

BTW, what's your target for "Tall" (in general terms)?

Are FEs considered "Tall"?
My definition is any Empire that is restricted to it's guaranteed worlds plus a little extra. But has civics , ethics etc that should maximise use of that space and be able to defend itself against a empire specialised for taking territory. Eldarins definition is likely different.
Can you please, please finally fix the ringworld positioning issue? Or Rogue Servitors being unable to pacify Amoebas?

These are literally just a couple-line fixes I could already fix on my end with a mod, it's ridiculous that it's taking so long to address those.
Fixed as of 6 days ago. However as each additional fix adds a roll of the dice on stability will not be in 3.3.3, saving it for 3.4
 
  • 13Like
  • 1
Reactions:
I feel like the UI should help you to sort big lists of numbers. If the game just presents them to me as a jumbled list going in lots of different directions it's not being very helpful and I spend far longer trying to work things out than I want to.
When what I want to know is:
Your meal is 5 minutes away

We're still working on the UX here. The list itself, and time remaining for each situation, are two things I'm planning to look closer at next. Just to mention two.

There's usually several iterations of UI mockups along the way when we develop features, and this dev diary shows off early versions. Can be good to know.
Thanks for the constructive feedbacks, it's more useful than "I hate it" type comments.
 
  • 11Like
Reactions:
I like the rework of Situations but a question from me.

I often find myself clicking past anomalies and not reading so maybe this change affects me.


It says in the WIP, that you left click to go to the Situation and click the dialogue to simply "react" and 'click on past' - but does the actual Spoiler Alert placeholder stay? E.g. You know something has happened or developed in a Situation but that text is now going to reside only in the Situations window? Or is that spoiler image meant to be a new bit of UI we're not revealing yet? :)

View attachment 816821
Just to confirm, that was a joke. The game will actually display the event's texts, I just figured it'd be nice for players to encounter the cool stories we added ingame for the first time.
Thank you for the reply. I hope with a few more versions the final UI does everything that it needs to do clearly and consistently.

I'm sorry if I was a bit harsh and the "I hate it" part of the comment wasn't very helpful to you, I tried to explain why in as much detail as possible.

We have seen WIP screens before:
Federations screen 5 months before release.
View attachment 817757
Note the progress bar(s) with Arbitrary unit/Arbitrary Target instead of "Months until next level"

I still couldn't tell you if I'll reach Level 5 federations before the crisis hits, and that's because of the UI choices to hide the time remaining (while showing the three completely arbitrary numbers needed to calculate it exactly.)

I just want to see the time remaining. If it's a dauntingly large number (100+ Years away) then perhaps give players more ways of optimising things to make that number smaller.

Intel Tooltip, 3 months before release
1610463984843.png

Again, almost exactly what we have now. Doesn't show that it will be say 15 years before getting Medium Diplomatic Intel, despite it being easy to calculate.

Operation UI 3 months before release.
1611143051274.png

Again, hides the times (I couldn't tell you if I'm 5-10 months away or 5-10 years away from completion. But that's completely intentional in this window.
And those have all ended up being functionally identical in the final game to the WIP screen unless a major shift in mechanics happens, like the loss of Counter Espionage and multiple simultaneous operations between the idealised mock-up and the compromised final version. Basically, the WIP version is usually better than the version we get in the game, so if this is the WIP version I really don't want the final version to be worse.
I would like to point out that in addition to the mockups, the OP has what the interface actually looked like in our internal build last Wednesday. But I assure you, it won't be staying that way :D


Re others, a few thoughts:
- I like the idea of starting a Situation with an espionage operation. Definitely worth considering.
- We have hopes of reworking some of the old flavour event chains to make use of the new system. Some such as the genetic self-modification chain feel like they'd definitely benefit from it. But I make no promises as to when we will get around to it.
 
  • 8Like
Reactions: