The flaws in nextcolony's battle mechanistics and some suggestions to fix them.
After my recent rant on an unfortunate battle result, @oliverschmid asked me to argue in a more civilized and friendly way. He was right, of course. But be warned: Criticism seldomly loses sharp edges if uttered more eloquently. ;-)
So I will use this post to summarize the many problems I see with the battle module as it was implemented last week, and to put forward some suggestions (or at least some initial breainstorming) on what could be done to solve them.
The starting point
My curiosities started with this battle, where @proof-of-work wracked my returning little "fleet" in an unexpected way:
Well done anyway, @proof-of-work!
Let's forget the civilian ships for once. But for a 5 vs 4 battle, I expected something else than a 5:0 survivor outcome. In most of the games I played so far, the attacker would have lost at least half his fleet aswell. When playing around with @jaruniks battle simulator, I observed that with similar numbers, attackers have a huge advantage.
Guess the result of 100 corvettes vs 100 corvettes. No, it's nowhere near equal. Defender loses 100 ships and the battle, attacker loses only 11 (!) ships.
And this is because of:
Problem #1: Attackers shoot first.
The attacker has the bonus of shooting first, which leads to the shields and armor of the defenders line are depleted first, so the attacker kills the first ships, and when the defender shoots at the "naked" ships the first time, his fleet has already been diminished and he is less effective. Multiplied by several rounds, this results in the attacking fleet ruling battles with equal numbers.
This is a no-brainer. Let both sides shoot simultaneously. Easy to implement, problem solved.
Problem #2: Summing up stats
But let's not stop here. Next example: 100 corvettes attack, 120 corvettes defend. Your prediction?
Let me tell you: Wrong.
The result will be: Attacker loses 100 ships, defender loses 0. Yes 0. Zero.
Due to all armor, shields and especially the shield regeneration of the line being added together, 100 corvettes will not get through the "shield wall".
But from a player's point of view, this would be a very frustrating result. Of course, 100 should lose against 120 ships. But 0 losses at one side? Makes no sense at all. It is not a "realistic szenario" that all those little fighting ships share one big shield. In a "real" battle, some of those ships would be hit hard on both sides.
Solution proposal #2
This might be harder to implement as it needs some fundamental changes to calculations. But to closer resemble the epic battles we know from Star Wars etc., once a ship lost its induvidual shield, its armor should be hit. And then the structure, no matter if other ships around have not yet collected a single bullet.
You could calculate that as following, as demonstrated by an example:
Let's say we battle again corvettes vs corvettes. First off, we still add up all the stats from each line.
- First round, the sum of shields is 100%, all the damage is absorbed by shields.
- Second round, shield is maybe at 96%. Now, 96% of the damage goes to shields, 4% goes to armor.
- Third round, Shields are at 92%, Armor at 98%. (of course, these are just hypothetical values)
Now 92% of damage goes to shields, 98% of the remaining 8% total damage (=7,84%) hits armor, the rest already bites structure.
And so forth. After some more rounds, this would create ships dying before all the shields of all the ships in a line are depleted, and it would lead to more intuitive battle results, i.e. the stronger side still winning, but also taking some losses.
Problem #3: Fighting in lines.
Guys, we are fighting in open space. Why should we fire just at the first line of defense, when we can bring in little wasps from all sides, including below and above? Having to kill all the ships the opponent wants us to shoot at first before sending even one bullet at one of the other ships is not meeting anything we know about space battles.
Plus, it creates another gameplay problem. In mid to late game, many more ship types will be involved in battle. Even if victorious, combattants will regularly lose all ships of one type (those sent in the front), and none of those ships in the back. That does not resemble a realistic battle outcome either.
Admiral, we lost all our dreadnaughts, but none of our corvettes have as much as a single craze!
Solution proposal #3:
This is a point we have to discuss, as to fix this problem surely requires a total rehaul of the module, which I am almost certain that the dev team will not be willing to consider. Still, I will tell you what I would have liked to see:
A long long long long time ago, I played Planetarion, which was the most innovative browser game in the late 90ies. It was also around space battles, and they had a variety of around 50 different ships. Each ship - even the civilians - had a class at a scale from small to large. This would be our corvette - frigate- destroyer - ... - dreadnaught in nextcolony.
What would happen in a battle is that every ship had preferences on which ship type to shoot first. And that was perfectly logic: A corvette shooting with small bullets or lasers is there to hunt down other small ships, but those small weapons are of no use at all for penetrating the huge shield and armor of a dreadnaught. On the other hand, the huge cannons of a battlecruiser are great against big ship, but corvettes are much too agile and fast to be hit with those.
But then of course, there can also be small ships equipped with a single big rocket launcher targeting medium or big sized ships, and vice versa - a carrier letting go a huge swarm of small laser-equipped drones can be a weapon of mass destruction against corvettes/frigates.
I would have loved to see such a system with target preferences (and maybe even ships that ONLY target certain ship classes) implemented. I think it would be much more "realistic" and would add much more variety (i.e. you can have rocket ships in general target bigger ships etc.) and a more sophisticated battle planning that the current "line-up" system (that even comes without the snipe/sneak/blast/reflect etc. of steemmonsters).
Problem #4: Aborting missions.
We are on a blockchain, I get that. Sadly, this means that defending is very very difficult, as the attacker can see everything. Setting up a trap is almost impossible, which is a shame, because that is the fun in defunding... uhm, defending against large players.
But to make things worse, you let attackers abort the missions up to the last second. There is no way you can defend like this. Even if you would be able to organize a nice defense without the attacker seeing it in advance, he can check in a minute before battle and hit "abort". Not good.
Easy: Missions - and especially attacks - should not be able to be aborted. You can keep aborts for let's say the first 15 min of a mission, in case someone just misclicked. But no longer. Imo, this is a MUST or we will never see big battles.
Minor problems & tweeks
In addition to those 4 main problems I see with the battle module, I have a few minor suggestions on how to increase the satisfaction with fighting in this game:
As in other games I played before (e.g. Travian), I would introduce a "raid" mission that is different to the "attack" mission by not fighting all troops to the death.
A pirate is interested in loot, and loot only. If he sees massive defense, he retreats. Same goes for defenders. If an attacker just wants to rob you, why put all your troops to a last man standing battle?
But if the death star is coming, and annihilation is threatening, I would fight to the last little corvette to prevent my people from unimaginable suffering.
Thus, I propose to create a raid mission, in which the battle stops after ~50% of the troops are destroyed. The retreating force loses the battle. To make its use more attractive, you could add a cargo bonus to ships on raid (or a malus on attacking ships, whatever seems better).
This is something I observed during one of @proof-of-work's attacks on me. Even with activated shield, he gained some uranium from me, supposedly accounting for the costs he had to send the fleet.
Sorry, but this is completely unnecessary and makes 0 sense. If a defender knows how to prevent a raider from looting, let the raider carry the costs of his attack. Delete that piece of code, please, it should never have been written.
Imo, people should be allowed to build docks, where they can protect a certain number of ships (dependent on dock level) from incoming attacks. docking/undocking ships could be a mission that requires the equivalent of travelling 1-2 fields, to prevent abuse.
I hope that you can see that what I am after is not destructive criticism. I want to improve player experience with this incredible project. We are all early beta testers of an unfinished product, and I live up to that resposibility.
Feel free to discuss or disagree with my proposals. But please consider them seriously. This especially applies to the nextcolony team.