Category Archives: Dev Diary

Stellar Monarch 2 Dev Diary #2: The creation of the building blocks

There is this thing about game dev which basically everyone who is not a game developer imagines incorrectly. I think in a typical player’s mind a game developer is designing & coding lasers, space battles, explosions, assassins, grand treacheries and so on so on. While in reality, the more mundane things take most of the time and actually are far more important. Like taxes, basic economy, modifiers, tooltips, interface and other tiny unexciting things. In this dev diary I wanted to write about those.

Taxes, Corruption and Bureaucracy

One of the first thing I decided to redo was taxes and economy. Why I would start with this, why even change it, why not keep it as in the prequel? Well, the reason is that the economic system is the backbone of other systems. It is the simple thing that’s behind all the exciting things, sitting there and either hindering or boosting those other features and mechanics.

So, what has changed here compared to first Stellar Monarch? Actually, you would be puzzled looking at the screenshots, the Finances screen looks almost the same! At the first glance at least. But when you look deeper you would notice that a lot of things were totally redone (more like most of them). For example there is still Bureaucracy penalty and Corruption penalty but… those work completely different now.

The first obvious change is that there are now three tax sliders, so you can decide “what you prefer to sacrifice” to get your money. Do you tax the population and make them angry? Or maybe tax the industry and make the empire grow slower? Or the rich and make nobles discontent? This is compatible with the “Fewer mechanics but more depth & interaction” core design goal (as described in the very first announcement post), whee I strive to provide more depth while at the same time reducing the total complexity and mental burden needed to grasp how it works. The second change is a more clear inclusion of Trade and introduction of Tribute income accompanied by Corruption penalty (all income is affected by Corruption, also Corruption is now a global statistic and not tied to characters). The third is Bureaucratic penalty now implemented as a flat expense (increased by the number of planets, number of cities and time passed) which seems like inconsequential at a glance but is a real game changer (because now you are racing against the increasing bureaucracy which is no longer tied to the income, which means you could in theory end up broken when bereaucracy goes rampart or you could save ton of money if you manage to suppress it).

But the key is in the tiny details. That’s where the real change is. Like now there is “Tax efficiency” stat and “Trade efficiency” stat, also “Bureaucracy reduction” stat. Those are small building blocks I can use in other systems. For example it allows such things: “Automatic Fiscal Computrons technology (+10% to tax efficiency)”, “Freighters subsidy law (+25% to trade efficiency)”, various events “Corruption goes up by +0.01%”, reforms “Halve current Corruption”, trade-offs “Each law passed increases Bureaucracy by +2%”. And so on, so on. A lot of tiny bits,small things that can be triggered by audience events, average governors salaries, laws, edicts, reforms, technologies, etc. What’s best all those new things can now be done without introducing any new mechanics! Which gives me a much higher degree of creative freedom. I basically have more building blocks to use if I wish to.

Empire-wide modifiers

Another quite a trivial thing is introduction of “modifiers”. Maybe not so exciting to you as a player, but very exiting to me as a designer. It basically let me make an arbitrary effect like “Rampart Bureaucracy” (increase Bureaucracy by +12%, make it last for X turns) or “The Emperor was poisoned and imperial clerks have more work to do now” (increase Bureaucracy by +12%, make it last for X turns) or “Quarrels in the imperial court” (increase Bureaucracy by +12%, make it last for X turns). And yes, the examples showing exactly the same in-game effect but with a differently flavor was on purpose, since this is mostly a narrative device I can use as I feel like. And the best part, I can do it without any coding! It will also automagically create a proper tooltip with the effect text (without me writing the tooltip!), which is a great convenience for me.

A few more exciting things

All right, I will also list some more exciting mechanics (but really, those are far less important from my designer’s perspective, still those should sounds more exciting):

  • Food is gathered raw on planets, then it’s processes into processed food which is eaten by the population. The ratio of exchange is based on “Food Processing Technology” which can be increased by, well, technologies, but also by building Food Processing Plants. This effectively presents you with a decision: you can conquer more planets to grab more raw food or invest in highly efficient food processing (vertical vs horizontal expansion).
  • Same as above for minerals, gather raw then refine.
  • Cities provide manufacturing capacity (factories) but the manufacturing output is affected by the availability of refined minerals. So, as the empire grows you are forced to either conquer more mining worlds or invest in better refining technologies. Or puppet some civilized alien race and make them give you a share of their minerals.
  • Noble Houses get income from Fiefs and have their own personal treasuries; the player is the Head of the Royal house and has access to both the imperial treasury and the royal house treasury. Both types of money are used for different things with a limited possibility of transfering (mostly one way, from your treasury to the imperial treasury). So, if an imperial project can’t be done due to low funds you might decide to fund it from your personal treasury.

Progress report (2021 – Q1 Alpha):

A quick summary what has been done so far.

Pro tip: if you put the kid inside your blouse so only the head sticks out you have two hands free for coding!

During the first months of Q1 I was focusing on economy system, overall empire management (court, ministries, laws) and the military system (which was rewritten from scratch, it might feel like the old one, since it’s still high level strategic/operational level thing, but it was coded brand new which makes it far more intuitive). I also made bare bone noble houses.

We also started a small closed alpha, so I could benefit from the early feedback.

A lot of utility work was done. As you probably noticed when playing my games I’m totally obsessed with tooltips, so I could not resist to upgrade those. Now tooltips support colors, icons and crests (alien and noble houses). In addition I made a system of automatic tooltips creation which basically let me tie text (with icons and colors) to a certain effect, so now in many places I don’t even need to write a tooltip and just say “add to the current tooltip a description of EFFECT_BUREAUCRACYBONUS -10%” and it will handle the rest (including localization).

Oh yes, one more thing, the game was written with localization in mind (like Automobile Tycoon and Legends of Amberland) from the very beginning so there are very high odds of it ending up localized.

Disclaimer: This is a development diary describing plans and intentions. The final implementation might differ or even be discarded (especially after taking into account player’s feedback).

Stellar Monarch 2 Dev Diary #1: Colonies, Core Worlds and Megalopolises

One thing I really like about Stellar Monarch is the amount of planets. It really feels like a wast interstellar empire. You feel like you are ruling the stars. But the drawback is that, well, apart from Terra, the player simply does not remember any other planet by name after the empire reach a certain size…

So, my idea for the sequel is to make several grades of planets. From the most critical ones the player knows by name to the most remote unimportant rocks not worthy of the imperial attention at all.

Three grades of imperial planets (Colonies, Core Worlds, Megalopolises):

The Empire can have any number of Colonies. Those are not that important and typically distant from the center of the Empire, have no industry, a low population and are basically used to extend the territory and provide food and resources to more industrialized planets. Next come Core Worlds, those are industrialized worlds with decent population that are clumped together around Terra. Finally, there are Megalopolises, the centers of administration, science, culture and manufacturing. The Empire will have up to 5-8 of Megalopolises and losing one is an unthinkable disaster which causes a massive Prestige loss.

Deciding the status of a planet is purely an administrative decision made by the player, but with certain restrictions. For example, a Core World must be adjacent to another Core Word (so those will tend to clump around Terra), Megalopolis must be also a Core World and can’t be on Barren/Toxic, etc. The decision is final and the status can not be revoked, losing a planet does not change its status.


The economy is based around Cities, it’s the most important economic asset. Cities process minerals to produce ships, pay taxes, etc. Basically, cities determine the wealth of the Empire. Well, technically those require also minerals and workforce but can still function quite well even with considerable shortages of those.

Each planet, depending on its type (Desert, Jungle, Terran, etc), can have a certain number of Cities (more hospitable planets tend to have more city slots). But Core Words have double number of allowed cities and Megalopolises have a whooping flat +50 City slots.

In a typical game like 50-70% of Cities would be on the few Megalopolises, 20-40% on Core Worlds and 10% or less on the hundreds of Colonies.

Efficiency of cities output rules:

Not only the number of cities counts, but also the efficiency bonus to the output of cities. It’s affected by the workforce availability, planet’s hospitability, technology and several other factors.

There are also various administrative rules. For example: Core Worlds get +50% but also -10% per adjacent non Core World (which promotes clumping those together), Megalopolis gets a flat +100% bonus (so not only Megalopolises have more cities but also those cities are much more efficient than those elsewhere), a planet adjacent to a Megalopolis gets +25%, Colonies get -50%.

Basically, it makes cities the most efficient near the administrative center of the Empire.

Minerals & Resources:

At that point you might ask, what’s the point in Colonies then? Those have barely any cities and population… So, here comes resources. Your population needs to eat and your industry needs minerals. Each planet provides those basic resources and typically provide those at 100% efficiency. So a distant minerals rich lava world or several faraway farmland colonies are quite useful to the Empire. Not to mention if those also contain rare resources.

But you are not forced to have lots of colonies. It’s definitely useful, but there are ways to get without those. You can expand horizontally if you choose too, for a price. You could simply replace the need for a high food/minerals input by mineral refining and food processing technologies which would drastically reduce the consumption of those. You can also engage in trade deals, tributes, etc with other civilized races (but only with civilized ones, if you stand by watching as those are consumed by The Hive or other without lending them a helping hand those planets will be taken over by xeno races and render useless for trade) which allows you to grab a percentage of their basic resources input.

Additional rules and gameplay effects:

  • Random disasters tend to start on or next to Megalopolises
  • Core Worlds are fiefs of Noble Houses (those have an imperial governor and a noble ruling it; while Colonies have just governors and no Noble House makes claims to those)
  • Noble Houses consider you responsible for protecting Core Worlds, if they lose a fief to aliens it’s your fault in their eyes
  • Colonies are prone to rebel (Core Worlds tend to stay loyal).
  • You will have have more options to directly interact with Megalopolises (like summoning the governor for an audience) compared to other planets
  • In a typical game around 10% of pops would live on Colonies, 30% on Core Worlds and 60% on a few Megalopolises worlds (so colonies are sparsely populated while Megalopolises are overcrowded)

Progress report (2020, Tech Demo and Pre-alpha):

A quick summary what has been done so far.

First, during the Tech Demo stage I took the old code of Stellar Monarch and chopped it removing a lot of things I didn’t like (especially the combat code which was removed 100%), next I redesigned the interface, especially to allow more space (at the expense of starmap view, which to be honest, is not needed when you are examining your Court for example), also I upped a bit the minimum resolution (dropped support for 1024×768 since basically no one uses it anymore). All those changes gave me more space to work with. Next I redesigned planets (now planets come in 3 grades: colonies, core worlds and megalopolises) and tested how it all would look on the map, next introduced noble houses fiefs and again checked how it would look on the starmap.

Once I evaluated all this I decided to give it a green light and proceed to the Pre-alpha stage. In that stage I aimed to forge out all the core mechanics, how those work and how those interconnect together. The new court, noble houses, economy system, warfare, etc. Just focusing on the big things and ignoring details. Some of those were coded as a barebone functionality and some were designed on paper. Also, basic art assets were done. I would say, most of the design problems were solved, and I now have a general idea how to implement the “meat” of the game.

Therefore, I proceeded to the Alpha stage. Which will be for now an internal stage with very minimal testers involved. Eventually, ending with a Closed Alpha test and then going into public Beta as an Early Access.

Disclaimer: This is a development diary describing plans and intentions. The final implementation might differ or even be discarded (especially after taking into account player’s feedback).