Category Archives: Dev Diary

Stellar Monarch 2 Dev Diary #3: Ships, Squadrons, Fleets and the Imperial High Command

Combat is the only part of the game that was totally rewritten from scratch. The goal was to retain the overall grand vision of abstract, high level military management introduced in Stellar Monarch, but without the problems it brought with it. The total redesign of that part of the game for the sequel was to remove the unnecessary complexity and confusion and at the same time provide more depth and more decisions to make for the player.

Now there is no manual and autonomous fleet modes but there is a single mode which is like autonomous but with more options for the player.

Military is made in 4 layers: Ships, Squadrons, Fleets and Imperial High Command. With the player having decisions to make on each layer but never in a way that it would introduce micromanagement or late game slowdown.

1. Ships

There are 3 light hull classes (Corvette, Frigate, Destroyer) and 2 heavy hull classes (Cruiser, Battleship). Lighter ships provide recon and screening from fighters & missiles while heavier ships provide bulk of the firepower and command bonuses. Both light and heavy ships can provide various abilities.

Ship hulls are predefined but come with a decent customization. Also, there is a semi random system of unlocking those so you will end up with different ships each playthrough. The idea is you can’t control it 100% and that each game will feel unique, with different assets at your disposal, but you will still have a great influence over it. Maybe you will not end up with your dream ships setup but you will be able to come quite close to it, assuming you made the correct but hard choices along the way.

First, you need to unlock a ship hull blueprint. Which can be done via technologies. But you are not told which exact hull you will get, only how many hull blueprints and of what kind and size. For example, a typical technology looks like that “Gain 2 (Assault style design) blueprints (Corvette, Frigate, Destroyer)” which means you will get 2 blueprints of a light size hull (but you don’t know the exact hull size) and that those will be good for general purpose Assault (since those come from the Assault design pack). Now those two blueprints will pop up on your list of ship types.

Next, you need to make a prototype, you can do so by technologies. All hull technologies not only unlock hull blueprints but also increase prototypes cap, like this: “Promote 1 blueprint to a Prototype”. The tricky part is that, on average, you get 2 blueprints but only 1 prototype each time you research a new hull technology. Which means, that you won’t be able to use all your blueprints, but like half of them and you will need to choose. There are other ways to increase number of prototypes and events that outright grant you a specific blueprint but on average you will be forced to choose which ship hulls would enter the production.

Once you decided which ship hull blueprint is worthy of promoting to a prototype you will might be asked on a variant and you might want to make upgrades (install Data Link, better armor, etc), which again can be unlocked via technologies, but this time you have a full control which upgrade will be installed on each ship. One more thing, trivial technological upgrades (like better lasers, electronics or new armor) are auto applied without your intervention, you are making only important decisions that change the strong/weak points of the given hull and its purpose and specialization.

You probably noticed there was nothing about producing ships, that’s correct, you don’t build individual ships, you produce them in groups called squadrons.

2. Squadrons

The most basic unit of your space forces is a Squadron. It’s basically a group of ships. Depending on your technological level you get a certain squadron tonnage cap which you use to compose a squadron as you wish using ship hulls you unlocked. You would want to choose ships that work well together and provide the most optimal set of bonuses. You will also see how many manufacturing points are needed to produce the squadron and what’s the upkeep. So, the economy of the empire is weak you might be forced to choose suboptimal but cheaper squadron composition.

Next, a squadron is produced by imperial shipyards. The shipyards work always at the full capacity and produce only one, the latest squadron you designed. Which in practice mean you will have at your disposal some number of the newest squadrons and some older ones. But it does not mean those are active fighting squadrons, it merely means there is that many equipment ready for use.

Then there is the thing about active squadrons. You can have up to X active squadrons at any given moment, the rest of the built squadron sit in the reserve and are brought to service as needs arise (like due to combat casualties). Always the newest (the best) squadrons are put in active duty first, so it means that prolonged war could mean older and older squadrons being sent to the frontlines as casualties exceed production (up to a point where the oldest active squadrons being so outdated you might issue an imperial order to simply disband those to clean up reserves and fight with lower number of decent forces).

How many active squadrons are available at any given moment depends on Noble houses, their houses warfare skill, their authority, relations with the Emperor, etc. Basically, noble houses provide command for squadrons and if they are too weak or too hostile towards the emperor you might end up with squadrons commanded by your royal house only. You can mitigate it to an extend by reforms, laws, The Great Council acts which assure more active squadrons being available directly at the imperial level.

You probably noticed there way nothing about moving squadrons around, that’s right, that’s on higher levels.

3. Fleet

There are 7 fleets, each sponsored by a certain noble house. Nominally those are operated and controlled by the house that sponsored it, but in practice fleets are under control of the imperial high command. Unless the house decided to go rogue and make the fleet ignore the imperial orders (which is done with a great care and under great consideration since it can be seen as a breach of the imperial contract and the emperor might seek legal means in The Great Council of Noble Houses to retaliate for this action) or outright assign the fleet to rebel armada.

Overall, fleet is more like an administrative unit which holds and manages a certain number of squadrons and has some political limits imposed. It has its own officer corps, can be assigned to a certain imperial border or send on special missions (like to bomb a capitial of an alien race whose ambassador offended you during an audience).

You probably noticed (again) you don’t really move fleets around. This is, again, on the higher level.

4. Imperial High Command

Finally, the Imperial High Command is the means to convey the emperor’s wishes regarding conquest and defence. The emperor tells what is desired (conquer a certain planet, annihilate race X, etc) and the Imperial high Command will send orders to all fleets and squadrons at their disposals. Then will send back reports in a bulk (like: “We lost X squadrons on the Antarian front and caused then Y casualties. We conquered planet A and planet B but lost planet C.”).

It’s is also the level where you build starbases, care about logistics, tactical bonuses, proper satellite recon for military intelligence, coverage of communication towers, etc. You can also forge deals with other civilized races to get the rights to build imperial starbases and infrastructure on their planets (so you are not forced to conquer other civilized races to extend the range of your military operations, just getting them to sign proper treaties is enough to treat their territory as imperial territory military wise).

Oh yes, it would be also prudent to reform the space forces, which can be done by the legislators, but that’s for another dev diary.

Progress report (2021 – Q2 & Q3 Alpha):

First the bad news. I have lost like almost one quarter of development time due to personal matters of various kinds, like my dad has died last month and that was not the only calamity the last quarter. I try to refrain from talking about personal matters but this year was so miserable that I wanted to tell you why there was lack of dev updated in the last months. The things are better now, much better, the small one started kindergarten, so, as you can imagine makes miracles for my productivity. I’m not sure if I can meet the 2021 E.A. release date but it’s not like the delay is imminent either. I would say the chances for this year release is like 50:50 (but my wife, who is with me since 2 game releases and 1 expansion pack release claims I will manage to do it 100% this year, as I always do in the last moment, so I would speculate her estimate is probably more accurate than mine). We will see.

The Q2 was about preparing for the Steam festival and instead on specific features focusing on overall playability and polish. Which was quite fun how it changes the perspective, to try to see the whole picture not separate elements. It made me rethink certain mechanics.

During Q3 it was mostly technical updates, but I also managed to make some very nice coding improvements which allows me to save time later (making content for Stellar Monarch 2 is so much easier than for Stellar Monarch than there is not even a comparison. Now I have content like empire wide modifiers, planetary markers (for organizations that are present on the planet), events as data, auto tooltips (so I don’t need to put new ones everywhere, it’s all auto done by the code), auto icons for audience buttons (like if the audience option requires to spend some money I don’t tell the audience button to draw the icon but it will intelligently iterate through all effects and render the proper icon with proper cost if it finds the effect that requires it).

Overall, I have many great tools in place, there is still some core mechanics missing (or more precisely not to my liking so those require replacement) but overall it starts to resemble a game. Not playable yet, but it starts to become fun. Now, if only I can restrain myself and avoid the usual feature creep, it should be fine.

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.

Cities:

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).