xdvom03 / 4xclearer

A board conquering game with total transparency. For observation.
Creative Commons Zero v1.0 Universal
0 stars 0 forks source link

Overhaul fighting #6

Open xdvom03 opened 3 years ago

xdvom03 commented 3 years ago

If I get a torus map to work, it should be plausible to make fights only kill the assaulted units. The system as of now means that every unit ends up at least somehow useful (founding a city, capturing a city, killing another unit), as long as it doesn't run in circles. If we break the symmetry, strategy becomes much more difficult. Right now, it is only broken in cities - one unit may capture a lot of cities. The AI is already having trouble understanding that asymmetry and lacks completely the concept of defense other than recapturing. Thus, this will only make it harder to make a workable AI - as per the mission statement, an absolute win.

Note: This system makes barricades a potential problem. One could construct something like this (unit = X, city = O, empty = E):

XXXXX
XOOOX
XOOOX
XOOOX
XXXXX

Now the units can simply kill everything that comes in, unless the opponent hits the corners, so that the corner unit only manages to kill one incoming unit. However, even in the biggest attack scenario (Z = incoming unit):

EZZZZZE
ZXXXXXZ
ZXOOOXZ
ZXOOOXZ
ZXOOOXZ
ZXXXXXZ
EZZZZZE

The player is left with:

EEEEEEE
ZXXXXXZ
EXOOOXE
EXOOOXE
EXOOOXE
ZXXXXXZ
EEEEEEE

So (assuming more units can fill in):

ZZZZZZZ
ZEXXXEZ
ZXOOOXZ
ZXOOOXZ
ZXOOOXZ
ZEXXXEZ
ZZZZZZZ

But then:

ZZEEEZZ
ZEXXXEZ
EXOOOXE
EXOOOXE
EXOOOXE
ZEXXXEZ
ZZEEEZZ

So you only have the corners:

EZZZZZE
ZZXXXZZ
ZXOOOXZ
ZXOOOXZ
ZXOOOXZ
ZZXXXZZ
EZZZZZE

You can eat away such a barricade, corners first, but it gets REALLY expensive, so this might be unbalanced in favour of defense.

For the time being, ignore the AI, just get this working, see what it does. There might be clever strategies with building a city path to the barricade to connect it to units far away.

xdvom03 commented 3 years ago

The barricade becomes absolute the moment you manage to get more defenders inside than there can be attackers outside, which is very possible with big enough structures.

xdvom03 commented 3 years ago

One way is to make captures work like they do in chess - move to where you capture. This would at least force you to replenish your units if the attacker has decent frmations. But even that can work out perpetually with enough tiles.

xdvom03 commented 3 years ago

A solution would be to not allow distant snipes, only movement. This would get us back to that square situation.