Friday, 6 September 2013

Tips for 868-HACK: Part One

868-HACK is a game at a tactical level about positional conflict: you can fight an infinite number of enemies provided they approach one at a time with no gaps between them, whereas two adjacent enemies will leave you with only 1 hp remaining from full health and three will kill you. The margin of survivable to fatal is razor thin, so it becomes important to understand how your positioning and your programs can help you reduce the number of enemies you must face at a time. This can roughly be divided into three phases of play: incoming transmissions, either from entering a new level or siphoning; the post-transmission melee; and surviving the large number of enemies in the later levels of the game.

Spawn control
I have lost count of the number of times I have died from siphoning a 4 alert firewall on the opening level because the resulting incoming enemies spawned in a position that killed me. In a game with permadeath, even one as short as 868-HACK, if you rely on something once a sector that is only 90% effective, then your avatar will die over the course of a single game 57% of the time. And the biggest source of randomness that will affect you over the course of a single turn is the location and type of incoming transmissions.
Ignoring programs for the moment, there are several factors you can use to influence transmissions following a firewall siphon. The most obvious one is controlling how many enemies appear with each siphon. When you don't have the resources available to control the positional game (see below), it may be worth siphoning less efficiently for credits, energy or usage of siphons, if you can siphon two close firewalls separately instead of being forced to siphon both at the same time. And since transmissions don't appear in locations you can immediately attack - the 4 cardinal directions from your avatar to the nearest firewall - it may be worth siphoning in a more open location to decrease the number of grids transmissions are permitted to appear in, or to eliminate closer grids in favour of grids further away.
A number of programs allow you to reduce or modify the nature of incoming transmissions. The calculus of how many credits to spend to eliminate transmissions is a complex one, but again you should be willing to spend more resources the more transmissions are incoming in order to reduce this to an ideal 3 transmissions or less.
In terms of cost, a good rule of thumb is that 4 energy (two pushes) or 3 credits (specific enemy counter programs) allows you to kill a single enemy in positional combat if things go wrong and you have the right program so if you can eliminate transmissions for less than this amount, you should. You should also use this calculation as rough guide for how much cash and energy you need when entering a new sector (a number of enemies spawn per sector) - again depending on which programs you have. If we take 3 as the 'safe' transmission amount, you don't need energy or credits moving to sectors 2 or 3, 4 energy or 3 credits for sector 4, up to 20 energy or 15 credits for level 8. On top of that, you'll need up to 3 times the 'tactical parity flip' cost (see below) to deal with the remaining three enemies.

Positioning is all about ensuring that no more than one enemy ends up moving next to you each turn, which you can then stun to damage and eliminate. A corollary of this is you need to ensure that you never end up being forced to move next to an enemy - which can easily happen if you don't have what Michael Brough calls a 'tactical parity flip'. The canonical example of this is the .WAIT command. In the screen shot below, I'm unable to consume a turn of time to allow the DAEMON to move closer towards me and as a result I am forced to move towards them which allows the DAEMON to attack and remove my last hit point. Tactical parity affects all enemies which are an even number of moves away from you.

While there are a number of other tactical parity flips such as PUSH and STEP, you will most often use non-program parity flips. The most common is being able to attack another enemy, often at range, which uses up a turn, but you could also siphon to use a turn. Exiting the level has the opposite effect, you move, but no enemies get a turn, and you can use this to both flip parity and increase range between you and your enemies. And enemies can be blocked by other enemies which will flip the parity of the unit being blocked - the easiest way to do this is to retreat away from both enemies which is why paradoxically the corner grids are dangerous in this game as they offer no path of retreat. This is especially noticeable when you appear on a new level and have an incoming transmission a knight's move in from an otherwise clear corner. Unless it is a virus, you will have to spend a tactical parity flip or eliminate the transmission or you will be damaged by the resulting enemy.

Retreating has one important additional function. If an enemy has the wrong parity, and you can retreat so that it is presented with a choice of two grids it can enter, it has a 50% chance of moving perpendicular to you, which may present a ranged shot opportunity. This is not always effective - glitches appear to always move onto wall grids if at all presented with the opportunity; but conversely viruses appear to always move into a ranged shot opportunity if given the choice between that and the grids directly diagonal to you.

Viruses are more complicated because they have parity on the odd numbered grids away from you (or every third grid if you move towards them on your turn), and additionally have half parity moves. This is where a virus is two grids away from you and you are unable to attack it safely such as the top most virus to the left of the daemon next to me.
With half parity, eliminating the intervening enemy allows the virus to move into the grid adjacent to you and attack you on the same turn. Half parity moves cannot be parity flipped by using WAIT, attacking another enemy or using siphon, but can be eliminated by programs that allow you to change the intervening distance by one or by exiting the level. Most importantly, half parity can be flipped by retreating one grid - which is yet another reason why you should give yourself space to retreat and not get boxed into a corner.

It is important to note that viruses cannot just move one grid unless they are blocked. In the example below the virus closest to me is in a full parity position. Until I kill the daemon, it must either move north then west or east then south - both of which are also parity positions. When the daemon is killed, it will occupy the grid next to me. Unfortunately, while fighting the daemon, and the virus to the west which is at half parity, one of the two remaining viruses ended up with a blocked move and changed to half parity and was able to damage me.
Killing fields
The large number of enemies that appear in the late game, especially on level 8, need to be avoided or eliminated. Part of the early game is identifying how you will handle levels such as this one which are almost filled with enemies: in this example I was fortunate that the exit didn't appear in the bottom right hand corner when I entered from top left, and so I was able to step across the intervening grids, pausing to siphon points. There are a number of combinations of programs which can perform the killing function - and it may be useful to siphon near the exit on the previous level and enter 8 not having cleared 7, if you have a combination of programs that benefits from overlapping enemies or a mix of enemy types.


Lord Gek said...

Nice read there, Andrew, but a couple of points I wasn't clear on:

1) Does the spawn delay from siphoning stack?
2) Did I gather correctly that enemies CAN'T spawn on siphoned spaces?

Andrew Doull said...

Replied on the touch arcade forums, but I'll try to update the article to improve clarity on point 2.

Todd said...

Andrew, thanks for continuing to champion this game. It got lost in the 7DRL shuffle for me and I am so glad I went back to it, thanks to you!

Now if I can just figure out these damn crytogs I'll be in business!