Tag Archives: ajax

weewar reflections and ideas

My friends and I have been playing a lot of Weewar recently. It’s like multi-player online Advance Wars on a hex grid. The game is both eerily similar and entirely different than AW at the same time.

In the games we’ve watched, discussed, and played over the last week or so, several interesting observations have been made:

  • Infantry are way overpowered.
  • The game is all about money, but then again, lots of games are.
  • Light artillery is useless.
  • The RNG hates me.
  • Alliances win.
  • It’s dangerous to be identified as the big threat.

infantry == free money

When we say infantry are overpowered… there really is no easy way to describe just how overpowered they really are. Light infantry cost $75 and heavy infantry cost $100. The difference is that light infantry move 2x as fast as heavy and heavy infantry hit vehicles 2x as hard as light (the game says that heavy have 4x the offensive power vs vehicles as light do… but that doesn’t seem to translate to 4x the damage potential). Infantry can capture bases. Infantry can cross mountains. Infantry get substantial offensive and defensive bonuses for being in heavy terrain. They suffer penalties in swamps, but then again, so do vehicles.

Compare this with your basic light tank. The tank costs $300 to produce, moves like light infantry, cannot cross mountains, suffers offensive and defensive penalties for being in heavy terrain, and will come out hurting very badly if it tries to solo a heavy infantry unit. Two heavy infantry who get the drop on a tank are assured a win. And it’s entirely possible that both units will survive – allowing them to heal up and fight something else.

This is where the game comes down to money. If $200 worth of infantry can beat $300 worth of vehicles, then the player with the infantry has tipped the money scale dramatically in his favor. To further illustrate the scenareo (which is not 100% realistic, but still illustrates my point), I present the following detailed example. Much of this example is just an extension of ideas Adam expressed a few days ago, so I take very little credit here 😉

Player A and player B are playing a game on a very small map consisting entirely of basic grassland, no fancy terrain bonuses here. Both players control two bases and the battle front is incredibly close. Each base produces $100 per turn. Let’s begin the scenareo with $300 per player and no units.

Turn 1: Player A moves first and creates two heavy infantry, bringing his money down to $100. Player B creates a tank for $300, wiping his money out.

Turn 2: Player A moves his two heavy infantry forward and creates two more. He is spending exactly as much money as he is earning, so his balance remains at $100. Player B had $0 coming into this round, earns $200 for his bases, and decides to keep that money in favor of producing a tank next turn.

Turn 3: Player A attacks the tank with his two foremost infantry and almost kill it. He then moves his second pair forward and creates a third pair of heavy infantry. Player B gets his second tank, dropping his balance down to $100. He attacks one of the infantry that attacked his first tank and kills it, but also takes some damage in the process.

Turn 4: Player A moves his injured infantryman back and attacks the injured tank with one of his fresh units. The tank dies, barely scratching the full strength infantry unit. He moves his 5 other infantry forward and creates two more. Player B attacks the unit that just killed his first tank and injures it fairly badly, dropping it down to 4/10 health, but not after taking 3 damage himself. He creates another tank and is back to nothing in the bank.

Let’s take a moment to count score. Money in the bank doesn’t count, but it doesn’t really matter anyway, since both players have similar amounts of money on hand and coming in. However, compare the monetary value of their units on the board.

Player A has 7 full strength heavy infantry worth $700. He also has one more unit at 40% health for a total value of $740. Player B has one full strength tank on the board worth $300 and one unit at 70% health for a total functional value of $510.

Turn 5: Player A swarms the injured tank with 3 of his uninjured units and kills it. He then moves his 4 remaining uninjured units forward, they are on B’s doorstep by now. His one previously injured unit rests for +1/10 health. He creates two more heavy infantry, bringing his population up to 6 uninjured, 4 moderately injured infantry.

Player B has one solitary tank now. He cannot afford another one. He cannot reach any of player A’s injured units to attack them, his only choice is to attack one of the uninjured units, which he does, injuring it heavily, but not enough to destroy it, and not without taking damage himself.

Turn 6: Player A stomps the injured tank, clearing the board of player B’s units. He moves one of his remaining uninjured infantry ont o each of player B’s bases and begins capturing. All of his injured units rest for +1/10 health. He creates two more units, just to be cheeky about the whole situation. Player B earns $200 more, bringing his money in the bank up to $400, but he can’t do anything with it since both of his bases are occupied.

Turn 7: Player A creates two more units, finishes capturing player B’s bases, and wins the game.

The final tally shows player A having not even broken a sweat. He has 14 units on the board and $100 in the bank, compared to player B’s zero units on the board and his useless $400 in the bank.

So… while it was a slightly unfair example, the point stands. Hordes of infantry are worth way more than their equivalent weight in tanks. Put them in rough terrain and the difference becomes even more marked, the infantry may move slightly slower through rough terrain, but they become significantly tougher. Of course, infantry through rough terrain are usually faster than vehicles through rough terrain anyway… What then, is the counter to heavy infantry? An equal or greater quantity of light infantry. They cost 25% less, move faster and hit heavies just as hard as the heavies hit them back. No contest.

Resting is free money. Remember, the only money that really matters is money that’s already been spent to produce units. If you can get more use out of your units… 😉

There are only two other unit types in the game worth discussing.

Raiders (recon bikes) are the fastest units in the game, they cost $200, and they hit infantry as hard as light tanks. They are great at closing gaps, blocking bases, and picking off solitary infantry. A small group of raiders can hit and run a poorly organized group of infantry into oblivion w/o taking any permanent casualties.

artillery

And then there’s artillery. In basic games, there are only two varieties of artillery. Light and heavy. Light artillery cost $400, move rapidly, and have an attack range of 2-3 hexes. Heavy artillery cost $600, move slowly, have a range of 3-4 hexes, and hit much harder. They have very little defense, so once a normal unit gets next to it, the artillery unit is pretty much dead. “Pro” games have a few more types of vehicles, including more two more varieties of artillery, both of which are quite nifty.

A wall of cheap infantry takes time to carve through, especially if they’re rotating their wounded out to heal. Stick a few heavy artillery pieces behind them and they’re unstoppable.

Why did I say that light artillery is ~useless? Well, for one, it only has an offensive rating of 4|4 (vs infantry|vehicles). Heavy infantry have an offensive rating of 3|4 and you can field 4 of them for the price of one light artillery, or you could get yourself a pair of 5|2 raiders for the same money. The other problem with light artillery is that they have a short range and cannot move and attack on the same turn. Thus they must get very close to the enemy to attack anything at all. That, and despite their speed, they’re pretty much incapable of attacking heavy artillery w/o getting blown to pieces along the way.

Heavy artillery have 5|5 offense, 2x the range, and 1 more armour than light artillery for only 50% more money. Thus, for $1200 you could either field three light artillery and have a hard time positioning them in such a way that all 3 can attack on the same turn w/o being exposed to attack themselves… or you could field a pair of heavies and slowly creep across the map flattening all who oppose.

Artillery Positioning What’s the solution to heavy artillery? Raiders. Large quantities of infantry. Anything that can close into short range and kill w/o being killed first.

How do you keep your artillery from being killed? Keep a thick wall of cheaper units in front of them. Remember, you can buy 8 light infantry for the cost of one heavy artillery. Nothing in the game has AoE attacks… so 8 cheap units take a very long time to carve through… especially if you’re able to cycle the injured ones back to rest.

unbalanced dice

One gripe I have about Weewar is that the random factor really is a bit too random for my taste. I like my tactical games to depend more on tactics than luck. Right now… it is too easy to have a run of bad luck and get knocked out of the game for a few bad rolls.

In Advance Wars, the attacking unit always gained an advantage. Healthier units always did more damage than injured units. Not so with Weewar. It is not unusual for a pair of fully healed infantry to attack a raider and both wind up taking the same amount of damage.

Infantryman 1 attacks the raider, does 3 damage, takes 4 damage.

Infantryman 2 attacks the raider – which should now be operating at only 70% power, does 2 damage, takes 5 damage.

To compound the situation, the game’s official documentation says that multiple units attacking the same target from multiple angles get bonuses.

With small numbers like this, slight variations due to a fickle RNG are still large enough to make any such advantage very hard to notice. It is there. It must be. I’ve convinced myself that it is. But the numbers only occasionally support this.

If you could see the dice, maybe? At least then you could brag about the crits when they happen and blame losing an attack on obviously poor rolls.

I don’t mind randomness… but the game doesn’t even keep a text log of attacks and their results (much less the numbers involved), and I think that makes the occasional spot of ill fortune seem even more pointless and arbitrary than it might otherwise. It’s not unheard of to attack a unit that you should by all rights be able to kill with minimal injury and wind up losing your attacking unit in the process – despite supposed terrain modifiers in your favor, etc…

Shrug. For now, the wide range of possibilities from the RNG are just one more reason that infantry are superior. You don’t feel so bad when the game throws your infantry away as you do when you lose a heavy tank to bad dice 😛

strength in numbers, sometimes

Another thing we’ve noticed about the game is that teamwork really makes a difference. Not only does an alliance mean you don’t waste your time killing each other’s units… it typically means ~2x the units pointed at your enemies.

I recently lost a game rather soundly because I was winning. Yup. Lost because I was winning.

See, it was a four-man match on a square board. Each player started in one quadrant of the board. I started in the NW and made a tentative peace with the player to the NE while I built up units along my southern border. The SW player provoked both myself and his other neighbor, the player to the SE. Meanwhile, NE and SE had some minor tussles but nothing too major.

SW made a mistake and I sort of crushed him up against SE and took most of his bases. This left me in control of something like 10 or 12 bases while NE and SE only had 6 or 7 each. This worried them, so they stopped their minor border conflict and charged west at me. Every turn for 4 turns in a row, my line was pushed back by one hex. I didn’t have time to repair any units, the push was too strong.

When I finally surrendered, I had captured SW’s remaining bases but had lost several of my other bases along the border. Between the two of them, they held 15 bases compared to my 11 – a 36% advantage in production capacity. I had started the conflict slightly depleted because of my successful campaign against SW (who had actually held the biggest army before I overtook him), and their collectively superior income were sufficient to give them an overwhelming majority of numbers.

It doesn’t pay to be too big. One-on-one, I could have mopped up either one of them. Unfortunately, because I had such an enormous lead on either one of them individually, they realized the obvious and allied against me. Like lobsters in a tank who can’t stand to let another one climb out… 😉

I think I could have had a chance at the game if I hadn’t taken all of SW’s bases. In stead, I was greedy and took off a bigger bite than I could keep down.

ideas

So, aside from the issues discussed already (infantry need a good nerf batting and the RNG is too random), there’s only really one problem with the game. It’s written in clingy, needy, zero self-esteem sort of AJAX. It’s the kind of code that feels the irrational compulsion to phone home to the server every time you click a unit to select it. I mean… if you’re going to wait for the server to do all of the thinking, why bother with any sort of client-side logic at all? The game could be so much faster, and the server could handle so many more players if they moved most of the incessant click management logic to the client where it belongs and only sent final moves to the server for validation.

And, aside from that little gripe… I’ve a few other things I’d like to see in the game.

Namely, I want to see a greater variety of units. The game is already a paper-rock-scissors contraption, let’s make units even more specialized, eh wot?

A few new types of infantry, perhaps?

  • demolitions squad – normal movement, 1.5x cost of heavy (bazooka) infantry, 1 defense, 0|6 offense (useless against infantry – death to tanks), unable to capture bases, ability to “sabotage” enemy bases. Sabotage destroys the demo squad and reverts the enemy base to neutral – instantly, in stead of having to wait 2 turns for a capture by a normal infantry unit.
  • flamethrower squad – slow movement, 3x cost of heavy infantry, 2 defense, 4|2 offense, deal splash (reduced, indirect) damage to the two hexes behind and to either side of their primary target. Splash damage always happens and attacks any units in the area, regardless of team affiliation.
  • mortar squad – slow movement, 2.5x cost of heavy infantry, 1 defense, 3|5 offense, attack range of 1-2. Attacking adjacent units still counts as indirect fire. Only artillery that can cross mountains. Do not get offensive bonuses or penalties for terrain.
  • recon team – fast movement, 1x cost of heavy infantry, 2 defense, 2|1 offense. Reduced movement penalty for moving across otherwise slow terrain.
  • engineering team – normal movement, 3x cost of heavy infantry, 2 defense, 1|1 offense. Ability to build bunkers that act as immobile 3|3 retaliatory units until destroyed. Building a bunker costs the team 6 health. Bunkers have 2 defense and cannot be repaired once damaged.
  • skirmishers – normal movement, 1x cost of heavy infantry, 3 defense, 2|2 offense. Can use any remaining movement after attacking.

Of course these numbers aren’t really balanced. At least, they’re not balanced any more than the current ones are 😛

If we allow flamethrower infantry, we probably want flame tanks as well. Perhaps cluster bomb artillery that randomly hit 2 or 3 hexes adjacent to their target? Maybe some type of AoE that is good vs vehicles but not against infantry? Maybe give a unit the ability to deal damage that tunnels on to the unit behind it, but only on a kill? Rail gun? 😈

How about special map restriction options or victory conditions? No artillery allowed, no infantry allowed, no recon bikes allowed? Game ends after 10 turns, with whoever controls the most of the map wins? First player to cap 7 bases wins? Etc…

Fog of war? Probably not. It could work, it does in Advance Wars… but I don’t see it working very well in this sort of environment. It’s too easy for players to share intel, it drags the game out too long if they don’t, etc…

I like the idea of adding shallow water to the game that only infantry are capable of crossing. It would slow them down just as much as mountains would and it gives an offensive and defensive penalty worse than swampland.

If we’re allowing infantry to move in water, how about naval units? That would require a whole new set of maps, but no harm there. Air units? Those would be nice too.

Other terrain types? Jungle is thicker than forest and is the ultimate entrenched position for infantry. Artillery cannot target units in the jungle. Roads give vehicles a bonus to movement but make you terribly vulnerable to attack. Bridges function exactly like roads except they make you even more of a sitting duck.

Could possibly allow engineering units to terraform the map, changing forest to plains to roads and building bridges across rivers, etc…

Mobile factories? Very slow, non-combative units that can only move along roads and over grass. Able to build units wherever they are for 50% extra cost. Can’t drive and build on the same turn. Possibly cost resources to maintain?

But, what I’d really like to see would be troop transports. Infantry are slow. APC’s are not. They’ve got no offense and minimal defense, but they’re cheap and they’ve got movement like a raider. What better way to deliver your bazooka wielding guerrillas to the jungle outside of your enemy’s base 😉