Ratopia DevDiary #14 - Battle System

3 May 2023
Views 182

Hello all, it's Cassel, developer of <Ratopia>.

As the launch day keeps getting closer, we too are getting busier.

Still, we also are awaiting the day to show you all the full version of the game.

The limited version however, can be played in itch.io !

On this demo version, you will be able to play the until the 12th day in game.

Hope you enjoy the game, and we will wait for various feedbacks.

Back to the DevDiary!

For this time, I’d like to introduce you the battle system of the game.


The early concept of <Ratopia> was to add up some taste of battles to <Oxygen Not Included>.

When the joy of defense is added, I thought the game could become even much greater.

The sketch of the scene was to make the citizens work naturally while in normal situation,

and whenever the invasion happens, they would arm and fight for the city.

Added with 2D tile system and administration,

I thought the game could present some special taste.

The first concepts - Defense line

However, as I have mentioned before in <DevDiary #1>,

 focusing too much on the battle might ruin the main idea of the game.

I was also worried that this would not give that many differences from the other games.

So instead of making it as the main enjoying point,

I decided to make it as a method to control the difficulties of the city management.

Because, by making them invade the city every certain time to give some tension,

and to defeat them to make the uses of resources,

this I thought could be a quite a method to make the player to search for better efficiency.

Deserters! Some might get panic when enemies come

Still with a little bit of greed, I thought adding a large boss could be some spice,

Since this could give some changes to direction plans.

But as it always does, from a to z, this wasn’t an easy job.

Enemy's size issues

The first obstacle we’ve faced was related to the size of the enemies.

The game’s path finding method was designed to fit with the size of the citizen, 1x2.

This means that the larger enemies like weasels, 2x3, are having calculation problems.

When they were put, half of them were floating on stair-like tiles,

While consuming so much portion of the computational load on finding the path.

In addition to that, they could not pass through the hallway that citizens were using.

Making the weasels to destroy the tiles could result defense system become meaningless.

Leaving them unable to pass the small hallway would not give any thrill.

We also have tried making them smaller, but this were no longer scaryl.

So we’ve decided to postpone the large enemies’ invasion.

Instead, we’ve just put the infected rats having same size with the citizens.

PL...EA...SE...... H...U...G...... U...S......

But I did not want to just give up the huge enemies.

I could point out the problem quite easily this time.

Since the part of the ‘invasion’, which the large enemy should move, is the issue,

I thought, why don’t I simply make the players to invade them?

This could reduce the cost of developing new path finding method,

and also give a great chance to develop new system to put in the boss battle.

Obviously the new problems occurred: of how will the players take the people in front of the bosses?

and how will we place those bosses are in discussion were the problems occurred?

For this we are developing direct order system and dungeon systems, but still a far way to go.

Balob the volcanic spider – How would the bosses of <Ratropolis> work in <Ratopia>?화


Enemy's AI issues

Back to the invasion part, now the smaller enemies were just as moving fine as the citizens.

But it was not the end.

The situation of the blocked or removed passage was a whole different matter.

At first, I thought the enemies would spawn on each corners of the surfaces, just as <Ratropolis> did.

But it was really rare to happen that the passage is connected well enough.

Normally, they were blocked or emptied with the obstacles or sink holes formed naturally,

or could be blocked with the player’s tile barriers.

It would be the best if the enemies would build ladders or dig to make their own path,

but it would take so much cost to develop the system to compute such actions,

and it was quite unsure whether it is possible to make it does not lag at all.

This means the other method is needed to make the enemies irritating enough.

The first method was to make the them spawn closer.

Farther they spawn, more computing is required.

So we’ve made the enemy spawn points to be spawned within certain number of tiles from the player’s base.

This enemy bases could be spotted with few walks from the base,

So they could function as the obstacles for the expansion,

while enemies could find path much easier.

In addition to that, we’ve made new enemy bases to spawn as the player expands the city.

This would give more thrills to the experts, while make the game easier for the new ones.

However, this still does not solve the path-blocked situation.

So what you gonna do ’bout it? Huh?

The second method was to make the enemies teleport.

Well, not directly the teleport, but we’ve put enemies that could dig and make a tunnel that the other enemies can also use.

At first I was worried that this could ruin the whole defense system of the player,

But since the player’s main tactics currently is to seal the enemy base with tiles,

I had no choice but to put such enemies.

While you are awake or asleep, beware of the holes!

When we were testing it for the first time, it was quite perplexing,

But as playing the game, I could notice the logic of the tunnel spawning.

Now I play more aggressively to remove the enemy bases instead of leaving them,

It was much more enjoyable.

Ally's AI issues

This AI issue was not only the problem of the enemies.

As I have mentioned above, the first idea was to make citizens arm themselves when the invasion occurs, 

while they are living their daily lives.

Making them armed and doing nothing, until the already-blocked-and-nothing-to-do enemies would come, was not planned at all.

So we’ve made them armed only when the enemies were nearby,

But this time, some just went back to normal life because the enemies were slightly out from their checking area.

They would repeat arming and unarming, until the enemy would get into the right spot.

After that, we’ve made them a bit smarter, but another problem occurred.

When they found enemies, now they were shooting arrows to the enemies,

Even when all the arrows were blocked by a wall.

Hey hey… you are shooting at your toe…

This was so unnatural, but to make them even smarter was taking too much measures.

So this time again we had no choice but to postpone the development of ranged weapons,

and also made only the soldiers to chase the enemies,

so that the time of the citizens would not be wasted on chasing the enemies.


Confronting enemies with ranged weapons is one of the crucial part in defensing game, I understand.

But since we could not find a clear solution, we are planning to put ranged weapons fires artillery on specific direction, 

or that would not shoot projectiles such as magic.

Death Ball

Yeap, death-ball issue again!

This was happened before in <Ratropolis>.

Since this game, <Ratopia>, is also a 2D side view, 

so the enemies were colliding together and attacked single ally all together.

Watching a veteran soldier, who spent time with me for so long, dying out was so heartbreaking.

Many allies attacking a single enemy would be a fine picture in a game, but the opposite is not.

This is why forming a squad is so important

Gladly, unlike the previous game, <Ratopia> had much possible directions to move around.

So even when the enemies were mixed up in a single tile for a while, 

they had high chance to spread to find target they were set to, after entering the city.

But this does not solve the problem of aiming single target issue,

So we are trying to make them attack the only when the ally units attacked them,

or to put limit of numbers aiming for a single target.

But this would make them pass through the soldiers in frontline, making them really unnatural.

This again, we are still seeking for a solution.

I think this got much harder due to the unforeseen factors that were not considered systematically,

since we are making the city building game with added battle system as a spice.

But well, what is the fun of making new games?

Battle is not the central enjoying point of <Ratopia>.

This means that it is not necessary to change the basic system of the game to put the new system in, 

instead, modifying the new system to fit with the basic system would be more right method.

This sure will cost a lot I can see,

But I don’t want to give up this great, enjoyable system.

So I’ll work even harder, for better game.

Thanks for reading this long article again.

Itch.io: https://casselwolf.itch.io/ratopia-demo

Steam Store: https://store.steampowered.com/app/2244130/Ratopia/

Facebook: https://www.facebook.com/CasselGames/

Twitter: https://twitter.com/CasselGames

6 0