Kornel Kisielewicz, developer of DoomRL recently asked via twitter and the Roguelikes Reddit what people expect from a modern roguelike - and received the usual responses: UI, graphics (and even multiplayer). While an excellent user interface is a necessary but not sufficient reason to call a roguelike modern, I think he is doing a disservice by dismissing my tweeted response out of hand that roguelikes need to be more like Brogue or 868-HACK.
Tuesday, 17 September 2013
Post-modern
Posted by Andrew Doull at 16:54 12 comments
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
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.
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.
Posted by Andrew Doull at 22:30 3 comments
Monday, 2 September 2013
Blue pill
Michael Brough has released 868-HACK on iOS, the culmination of 5 months of development following the 7DRL it is based on, 86856527. The TL;DR is that you should buy this game: it is the best iOS roguelike (though not by much), the best iOS game released so far this year, and my GoTY, which is something I shouldn't be saying in September.
Posted by Andrew Doull at 14:56 2 comments