Game breakdown: Hoplite
Hoplite is a little gem of a #game created by indie game developer Magma Fortress, originally for the 2013 7DRL Challenge. This will be a #breakdown as well as an experience #critique (~eight years late, but better late than never!).
These are the main goals:
- Analyse the game from a development perspective
- Go through game rules and behaviours (player, enemies)
- Experience the game as a player, talking about #playability
Table of contents:
Introduction
Hoplite is a turn-based strategy game and can be called a mini-roguelike, among various other terms – roguelike-like or roguelite. What this means is that it shares characteristics with more full-fledged roguelike games.
The player controls the titular hoplite and must navigate hexagonal-tile grids with lava which are set in the underworld (each level is called a depth), battling / avoiding enemies along the way, making a path towards the only exit in every depth. As a respite from this morbid premise, the hoplite can pick up new prayers (abilities) from an altar in every depth, which for instance increase health or improve existing attacks, helping the hoplite get through. The main quest is to recover the Fleece of Yendor (a nod to Rogue's Amulet of Yendor), which is found at depth 16, and return home. Players who have the complete game can continue further down (up to depth 1000?! I believe) after picking up the Fleece, have access to a ton of challenges and can complete achievements (which mostly unlock new abilities).
According to the developer's game webpage,
Hoplite is a turn-based strategy game focusing on tactical movement around small maps.
The game features roguelike gameplay elements such as procedural generation and permadeath while avoiding the traditional roguelike “bump-to-attack” combat in favour of movement based attacks.
Game base
Let us unpack this ^ brief of the game.
- It is a turn-based strategy game, meaning actions are not asynchronous / real-time between you the player and the opponents (enemies). Each and every action of the player and the enemy (taken as a unit) is synchronous (ordered) – you make your move, and the enemies together make their move the next turn. There is no time constraint involved for the player's turns in the game.
- The game's maps (levels) are procedurally generated. Such a game can potentially create a huge (too large to even comprehend) number of levels. If we take the rather bad analogy of Sudoku, we have 5472730538 essentially different grids that can exist. This means that levels leverage algorithms to generate game data. This is further explained below.
- When you die, you do not respawn or continue from the current or previous level. You stay dead, in the traditional permadeath style of roguelikes. The game needs a true restart, without any abilities or experience that was previously acquired.
- The combat of Hoplite avoids the usual “bump-to-attack” mechanism of most roguelikes- where the player attacks / destroys an enemy by bumping into them. It instead uses movement-based combat in a hexagonal grid, meaning that the position of the player after a move determines the attack (attempt) result.
Note: Before reading further, I highly recommend playing the game enough to win the main quest and think about the game mechanics. And have some fun. Beating the main quest is mostly proof that the core game is well understood. If you want to know more only on the playability of the game, skip to the Experience section below.
Breakdown
Hoplite is a wonderful game to analyse and think about- it has solid (and concise) level design and game mechanics, is set with rules / constraints and when it comes to playing, it presents a great example of balance in terms of learning and mastering. This section will be a mix of mechanics, rules and behaviours.
Character and enemy movement
Hoplite's levels are called depths and are set in the underworld. Each depth is made of exactly 79 hexagonal tiles, which may be navigable (land) or non-navigable (lava). The depth in itself is in the shape of a hexagon.
The player can move to any one of the surrounding 6 tiles directly, or leap to any one of the outer-surrounding 12 tiles. There can potentially be more tiles to move to, unlocked by abilities picked up later in the game. Enemies do not have to be dealt with, but if they are, the player can move to the alter / exit directly, taking the shortest path.
Enemy movement varies with the type of demon:
- Footman – Attacks only adjacent tiles. Always inching tile by tile towards you every turn.
- Archer – Shoots an arrow in all 6 directions, but cannot attack adjacent tiles. Has a maximum range of 5 tiles. Tries to keep a minimum of 2 tile distance from you.
- Demolitionist – Throws a bomb near you every 3 turns. Has a range of 3 tiles. The unlikely devil of the game. Very unpredictable (especially in groups) and dangerous.
- Wizard – Shoots a beam of fire in all 6 directions and has a range of 5 tiles. Tries to keep the same minimum of 2 tile distance from you. Will hit all tiles in range- this means that the wizard will not attack you if there is another demon in the path of the beam. A wizard will also not attack twice in a row.
Generally, all enemies try to move closer to you (sometimes effectively closing you in without space to move), and try to optimize their chances of successfully attacking you. Their varied movement and attack patterns ensure that the gameplay is always exciting, and is complex enough to enjoy every single time.
Procedural generation
The brain of the game- how every depth is generated is truly a difficult piece of work to craft from scratch. Randomness is the key term here. Every depth in Hoplite is different each time you play it: this is an essential feature for such a game to keep it fresh every time you play.
There are several instances where algorithms must be put to use here:
- Depth land tiles- navigable and non-navigable (lava) are generated randomly, in correlation with the below factors and constraints.
- The lava tile destroys anyone who falls into it- bash can be used to push enemies over.
- Every depth has exactly one exit tile, to the next depth. There MUST exist a navigable path from the hoplite's starting position to this exit tile.
- Similarly, there MUST exist a navigable path to the altar in every depth from 1-15. Depth 16 onwards, this is replaced by the victory portal, which takes the hoplite home, ending the game.
- We assume that enemies are spawned such that it is possible to finish the depth (more on this later), and their type and location are probably assigned according to the current abilities of the player.
- More enemies and different types of enemies are spawned as the player proceeds deeper.
- Previously picked up abilities determine what abilities are available in later levels (this may be hardcoded though – either partially or fully).
Character abilities
The hoplite has 3 main moves at his arsenal: bash, leap and spear.
- Bashing is using the shield to push an enemy away from you. Very versatile move, absolutely life-saving later on in the game. The basic bash move can only be done 3 turns apart. This can be upgraded- also, while bash is initially one tile, one direction only, it can be several tiles in all directions after upgrades. A special shielding bash can also be unlocked, which can shield you for one attack / all attacks in one turn.
- Leaping is the hoplite's jump across to any of the 12 outer-surrounding tiles. Most essential move, used for both attacking and retreating. Must be used wisely. Leaping consumes energy, which is slowly replenished (by killing enemies). Like bash, this too can be upgraded- there are energy upgrades, there is the winged sandals ability (leap one more extra tile away) and the leap strike, which can be used to land directly on top of demons, crushing them and pushing adjacent ones.
- Spear is the main weapon of attack for a lunge. It can also be thrown across the grid at any tile in range. Usually a throw is an unusual move, mainly used in one-off situations. Upgrades include increasing range, plant spear (will stun adjacent demons), recall (bring spear back to you in a single move) and follow (teleport to where the spear is).
Apart from those, the simplest attack of the hoplite is the humble single tile stab (aside from a possible lunge) move in any one of the six surrounding tiles- enemies that are adjacent to the hoplite before and after the move are killed. The planning of moves by attack type, order of turns, resources (energy, cooldown) and end result (prediction of depth after the move) is important. As the game progresses, every single move becomes the ultimate decision-maker; one move can win or lose you the depth.
Upgrades and builds
Praying at the altar can give you new abilities / augment your existing skills. These altars appear on every depth upto and including the 15th, after which new prayers cannot be made. Every altar offers a selection of upgrades from which you can choose one. Some abilities require the sacrifice of a spare life or two. And others require achievements to be unlocked first.
If the upgrades were to be categorised:
- Active abilities – deep lunge, swift leap, plant spear, follow, recall, leap strike, etc.
- Passive abilities – greater energy, bloodlust, surge, regeneration, agility, etc.
The multitude of such upgrades allows for interesting builds for our hoplite, and there may be optimal builds for specific strategies. Although balanced builds may seem tempting (you get the best of all abilities), a reasonably balanced build + a particular niche imbalance works best (as it is with many other games).
A few examples:
- The energy + leap upgrades can produce an agile hoplite, allowing you to leap through depths quickly to the exit, without having to deal much with enemies.
- The deep lunge + bash + shielding bash upgrades make for a slower strategy where you can dispatch enemies by lunging and bashing them rapidly, and shielding when necessary.
- A health build might focus on accumulating many extra lives for use when descending- you preemptively lose health during an attack/evade attempt and then regenerate at the altar (or using the Fleece later), although this fails as a long-term strategy.
Deterministic Play
I have not tested this, but based on general behaviour of games and my play experience with Hoplite, here's a guess of the expected behaviour: every depth in Hoplite can be won, although that win may at times require exactly one and only one specific solution.
The game is deterministic, i.e. once the level and enemies are generated per depth, what follows (the player's actions and subsequent enemy actions and results) has a predictable/known output for the input (player move). Maybe determinism is a trivial and obvious fact, but I find it interesting to talk about. The game, unbound by time constraints or physical dexterity / reaction time instead relies on slow and steady skill- much like standard Sudoku.
Aside from the game being deterministic (like chess), I assume the win is deterministic in the sense that there exists at least one win condition to complete every depth, as it should be ideally. The win condition can be one or many, depending on the depth, player abilities and enemies, but the fact that you can win every depth is assured. This is usually a given in procedurally generated roguelikes. However, with later depths, future upgrades and abilities, I think that the possibilities are too complex, and perhaps this is quite hard to implement. For example, the attack pattern of the demolitionist might make this property impossible (especially in the later depths), but for now we shall assume it holds.
Experience
Hoplite is straightforward fun. It plays great, contains lots of builds and upgrades to discover and unlock, and it offers great replay value. I thought it had neat pixel graphics when I first downloaded it from the Play Store. The screenshots along with the high rating made it a no-brainer. Here I highlight the major points of player experience from my perspective.
Tutorial
- The tutorial and the game are worlds apart. I feel that the tutorial does not do the best job of teaching the player how to actually play the game- this is because learning is split into specific key areas based on player abilities. It is actually useful after playing the game for a bit.
- An example of where the tutorial fails – the hoplite moves directly to the exit taking the shortest path when there are no enemies; we do not know this when we first play and find this expectation unfulfilled when the player moves tile-by-tile when enemies do come later.
- The usage of tooltips would have helped here (instead of full screen prompts). The inspect (?) option is really helpful – this aspect of UI is perfect for this use case.
- Another problem is when attacks are taught with the enemies sleeping – the player does not know how enemies in real games behave until that happens later.
- A few things that are unaddressed/unclear that could have been included somehow in the tutorial:
- It is mentioned that lunge cannot be performed when the spear is on the ground, but it is not made clear that stabbing can be performed without the spear. I also realized that it took me a while (after I first got to depth 10-ish) to learn the difference between stabbing and lunging.
- There are a few things I still haven't figured out – how exactly energy is added, the reaction ability, mainly when stacked with other upgrades; also reaction with lava, when/whether an archer or wizard will attack with altars or portals in the middle.
Game feel
Once the player embarks upon the Quest for the Fleece, the game is golden. I recovered the Fleece in approx. 3 hours of play for the first time, and immediately purchased the full version. Before playing the game I thought that it would be “rigid” in rules and outcomes, with little “dynamism”. Although it has deterministic play, Hoplite unmistakably possesses a true roguelike feel to it: the inclusion of different abilities (and their combinations), permadeath and randomness, along with many other important game mechanics add to the dynamism of the game.
- The pixel art and the procedural generation reminded me of old dungeon crawlers and other games with tactical, turn-based combat.
- The permanent death adds a delicious urge to keep coming back to play, to just get to one more depth further, to see how far you can go. It also forces you to keep trying different tactics every time.
- I feel like the game is a good entry into roguelites or even roguelikes, to get a feel for it. And it is definitely accessible enough to be played by mostly everyone I would think.
- Things done brilliantly:
- Learning/mastering ratio
- Charming pixel graphics
- Smooth movement and attacks
- Great menu and in-game UI
- Gameplay is snappy!
- One major disservice I've done to the game is that I have only ever played with music and sound turned off (I had to do it when I started playing, and it has stuck since); I apologize for the exclusion.
- In conclusion, w.r.t. the ever-important quality of game feel/juice – even a small-in-scope game like Hoplite (in comparison to other larger games) should aim to do it well. Even though it may not seem much, Hoplite nails it.
Difficulty
Hoplite is fairly difficult for a beginner, but not difficult enough to put down. It is interesting enough to figure out the game mechanics and by the time one finishes the original quest (depth 16), I am sure they will quickly develop a feverish addiction (gamers in particular). Also the fact that you can pick it up right where you left it last time is great.
The inspect option along with being able to see the lines of attack are useful learning the game as well as later. The variety of game mechanics and different combinations of enemies, attacks, abilities/upgrades can produce endless possibilities. Depth 17 is like the second start of the game (unless you are trying to do Atheist), after which the game is immensely fun, largely because of the complete set of abilities now at your disposal, along with the healing Fleece.
Replayability
The game offers great variety to keep things interesting:
- Different abilities leading to very different builds every new game
- Achievements to complete (Speed Run is particularly hard for me to beat)
- New abilities that can be unlocked by completing said achievements
- A daily challenge (3 depths with a fixed set of abilities)
- A complete set of (fixed) challenges to be completed at your pace
Conclusion
It is important to keep in mind that this write-up is from personal experience and is just my opinion (playability section). Purely for the love of game design & dev, and Hoplite. This is also my first attempt at doing this, for any game.
Again, Hoplite is a little gem of a game I am glad to have found. Once the game mechanics are understood, it steadily grows on you. I think, with the growing deluge of mobile games, Hoplite is simply one of the best I have played. And it's quite rare to strike a good balance between casual and serious gameplay, as well as the learning/mastering ratio.
Thank you Magma Fortress!
If you want to learn more about the game, head over to the r/Hoplite subreddit. It contains some great tips on playing effectively and a build maker spreadsheet, among other interesting questions.
Official video here You can download the game here – Android / iOS