[INTERVIEW] How Far Can You Dungeon Crawl in WazHack?

WazHack

A roguelike game is a type of role-playing game that focuses on a niche within the RPG genre. Levels are procedurally generated and character death is permanent. Survival is a key aspect. It’s often still a fantasy type of game, so there’ll be magic, monsters, and loot.

One game within this genre, WazHack, just added support for Android TV. The developer, Warwick Allison, was a contributor to the game NetHack. Later, he became a full time indie developer, releasing his modified rougelike game WazHack on Windows and Mac. Over time, support was added for iOS, Steam, and Android. Finally, in an update on Google Play earlier this month Android TV was officially supported.

I got a chance to interview the developer about Android TV and about rougelike games. As a Dungeon Master (from Dungeons and Dragons), I am familiar with the idea of the genre and the mechanics. I played the game and it’s pretty engaging.

The Idea Behind WazHack

WazHack Combat
In combat

I noticed a few elements of your game resemble Dungeons and Dragons (some of the classes, alignments, and character stats). As a dungeon master myself, I thought this was really interesting. What made you decide to create a game like this?

I worked on the classic roguelike “NetHack” many years ago. I had always intended to get back into working on it, but by the time I found time in my life, the NetHack code was pretty old and not very interesting to work on, so instead I made my own game from scratch. It is still inspired by the things I liked about NetHack (and omits all the things I didn’t like). I think of WazHack as my personal “spiritual successor” to NetHack.

Those monsters are more an inheritance from NetHack, which also uses many of the classic D&D mobs.

What you do believe your game does to improve on a more generic rougelike game? Why have extra complexity?

Mostly it’s the graphics and UI. I wanted to make a roguelike that kept all the classic elements of the genre but threw away all the elements that were merely technical limitations (grids, ASCII, etc.). While the graphics is still very basic compared to many commercial games, they’re well beyond what the old ASCII roguelikes used. I also still find the physics amusing to watch – dead zombies falling down ladders, etc.

If anything, WazHack is quite a lot LESS complex than most classic roguelikes. I didn’t want players to feel the need to look for online “spoilers” because… well, they literally spoil the game. So unlike many classic roguelikes, WazHack has a lot fewer circumstances which cause instant death (just one in fact, and well, what do you expect to happen if you get run over by a train?).

The things I find most important are the turn-based mechanic, random generation, item complexity, and permadeath. They are a tight mix of interacting mechanics: random generation allows complexity and replay value, replay value allows permadeath, and turn-based + complexity is the only way to make permadeath feel you have a fair chance.

How big is your team? Did you do all the programming, art, and music?

Just me. I did get a contribution of the music from a player who is also a music composer – he could no longer stand the horrible music I had bodged together. He’s linked in the credits.

I’m an experienced programmer, but everything else I had to learn as I went along.

In classic Dungeons and Dragons, combat is done in turns. In WazHack, it seems like there’s a combination between turn-based and realtime combat. What led you to this game mechanic?

Yes, it’s effectively done in fraction-of-a-second turns. The turn-based mechanic of roguelikes is crucial to everything else about them. Without some form of turn-based play you can’t have complex items and interactions – you’re too busy bashing on a few “hot bar” items to think about anything more complex. It’s exactly the same as D&D: you need time to absorb the situation and plan your tactics (though I usually played a dumb halforc in D&D and delighted in annoying my fellow party members by rushing in without thinking too much; “I jump down onto the arch mage’s back!”). Some people enjoy realtime games like Spelunky and all they need for it to be “roguelike” is random generation and permadeath. This has made the term “roguelike” pretty broad these days, but there is room for every interpretation.

Every instant of time the player uses grants that much time to all the monsters in the dungeon. In some cases monsters “borrow” time – for example they’ll execute a 1-second attack even though they only have 0.1 seconds “in the bank” – thus putting them 0.9 seconds in debt – they will freeze after the attack until the player has used another 0.9 seconds.

It’s really no different to how a good dungeon master runs encounters, just much more precise and flexible (there can be a full range of attack durations, speeds, penalties, etc.).

It follows naturally from not having the classic “grid” visuals. By also switching to side view (“platformer view”), you get to see a more interesting view of the action than the classic plan view or the confusing Diablo2 3D mess view.

The funniest part about it is how even experienced players can get caught up in the action and adrenalin and start playing the game as if it *is* realtime – hacking and running and just generally panicking.

On Developing for Android

Magic spells
Magic spells

Why did you originally decide to port your game to Android?

The 3D engine I use, Unity3D, has support for Android and since it’s completely free to port and get on to the Play Store, I initially just did it for fun and to see if it was possible. It turned out to be quite playable and in tuning the Android version I also ended up making the PC version better (eg. my wife play tested the PC version entirely with a mouse). I’ve often found in the past that while supporting multiple platforms is obviously more work, there are synergies that ultimately make the product better on all platforms.

What difficulties arose in porting a game with a lot of mechanics to a mobile interface?

In terms of technical difficulties, screen size was the biggest issue. Porting a game intended for a PC screen to work on a tiny phone screen is a huge challenge – there isn’t enough room for buttons, text has to be larger, flicking long lists has to work, etc.; the screen also “zooms in” when monsters are close – not so important on Android TV but critical to accurate fighting on a phone.

There are non-technical challenges too. The vast majority of game players on mobile tend to be looking for quick little games they can fiddle with at the bus stop. Generally this means most action games don’t work well, but surprisingly WazHack’s time/turn-based mechanic works quite well. It took a lot of tuning to get the feel right though.

On Optimizing for TVs

BEES!
BEES!

What led to your decision to target Android TV?

It’s existence. I heard about Android TV when it was first announced last year and immediately I realized how Android TV is in many ways more like Console and PC gaming than like mobile platforms. I had already been improving Gamepad support in the game for the SteamBox version – again you see what I mean about synergies – so I put Android TV on my feature list almost immediately.

How much time was put into optimizing for Android TV?

While it was a lot of work making the controller support perfect, that isn’t strictly specific to Android TV. Very little else had to be done.

Have you played the game on Android TV? How does the experience differ from playing on a phone or a PC?

Yes, though I’ve never won on any Android version! I have to use a special debug version to test out the more complex scenarios and later parts of the game. The WazHack player community are far better at the game than I am.

Since the game gained support for Android TV, how has that affected installs?

It’s hard to tell – I don’t have instrumentation to tell me that detail and in the info Google provides the Android TV devices are completely swamped from visibility by Nexus and Samsung devices.

Have you seen a difference in how players interact with your game compared to a mobile device?

Again, without instrumentation and since it’s still early days to be getting feedback, all I have to go on is my own testing and the similarity it has to the joystick-based modes on other platforms.

What advice would you give to game developers who are on the fence about supporting Android TV?

The investment will be very different for different products. But I’d suggest they consider that the investment also makes it possible for their game to be ported to PC (i.e. the opposite of the path I took). Supporting multiple platforms means you can write a more niche game and draw from a larger audience – why compete for the broad boring middle of the mobile market when you can deliver something to the fringe where competition is less fierce and the games are more fun to make!

Do you plan on adding Google Play Games to WazHack for things like achievements or leaderboards?

If Google improves their non-mobile support, I definitely would. Currently I only support public achievements and leaderboards on the Steam version. With Google Play Game services, I could support them on iOS and Android… but not Steam nor my Web version. The world really needs a true cross platform system, and Google Play Games is the closest – but it’s not there yet.

What’s next? Do you plan to build another game, or add more features to this one?

There are still many things I want to add to WazHack, but during the next few months I need to just fix any bugs that show up. During that time I’ll be experimenting with ideas for other games, in case I ever get tired of working on WazHack.


If you’re interested in playing, it’s free to download on the Google Play Store. You can play one of several different classes, and more classes can be made available through in-app purchases.

Nick Felker

Nick Felker

Nick Felker is a student Electrical & Computer Engineering student at Rowan University (C/O 2017) and the student IEEE webmaster. When he's not studying, he is a software developer for the web and Android (Felker Tech). He has several open source projects on GitHub (http://github.com/fleker)Devices: Moto G-2013 Moto G-2015, Moto 360, Google ADT-1, Nexus 7-2013 (x2), Lenovo Laptop, Custom Desktop.Although he was an intern at Google, the content of this blog is entirely independent and his own thoughts.

More Posts - Website

Follow Me:
TwitterLinkedInGoogle PlusReddit