Update: Maps and CAB

These took a good bit longer than expected, but the joy of a seven year dev cycle is that that’s okay :).

Maps

What’s a roguelike without a map? 7YRL players can now bring up a map of the current level by pressing ‘M’ or tapping on the minimap (more on that below). The map supports dragging around or zooming in/out. The cool thing techwise is that it’s using the same texture as the ‘memory’ map (which tracks what the player has seen) so it has a more realistic feel to it. Here are a couple of shots:

And here’s zoomed in. The map window also increases in size if the user resizes/fullscreens the game.

Minimap

This update also adds a smaller version of the main map into the upper right corner of the screen. Tapping on this brings up the main map. I also moved the bufflist under the player to make better use of space. You can see the minimap and new bufflist location here:

CAB

When I first started working on 7YRL, I was primarily targeting mobile devices. On those devices, roguelikes tend to suffer when it comes to moving the character around; tapping on small tiles on a small phone can be hit-and-miss. My solution is the ‘Contextual Action Bar’, or CAB – the intent of these is that they display the most common two actions that the user might want to perform. When a mob appears, attacking that mob is the primary action; when an item drops, picking it up is the primary (upon picking it up, equipping it becomes the secondary action).

The most common action is sen in the picture above – Explore. This is the command I use most often in DC:SS and I think it works wonderfully – it just does the exploring for you. And that’s not a “Progress Quest“-esque experience; it just removes the extensive UDLR needs of a roguelike and gets you to the interesting content and interesting decisions without a bunch of walking from Point A to Point B.

The biggest challenge to getting the CAB right will be ensuring it’s consistent enough that players can build muscle memory to the point of knowing what will happen when they select primary or secondary even without looking at the CAB. That said, I ultimately like the Primary/Secondary CAB slots so much that I’m bringing them into the PC/Mac experience as well.

Here’s the CAB right after you encounter a new mob. The player’s “normal” action is to attack a mob so that’s primary; they may not care about it though so explore is the second action. The game keeps a queue of objects-of-interest (eg in case 4 monsters appear at once) and does a good bit of work in the background to pick the one the player most likely wants.

The CAB’s not perfect; it can’t be – two actions can’t encapsulate all options available to a player. This becomes most apparent when a lot is going on on the screen. That said, it’s not supposed to be perfect – users will still tap around on the screen, especially when things get more strategic. This is just intended to make it quicker and more enjoyable to get to those moments

Bug fixes

Lots of bug fixes this time around as well. In particular, a bug slipped in last time that caused an intermittent crash when ascending/descending between levels. That’s been squashed.

Next up

Phase 4 is all about getting 7YRL to that baseline “it’s a real playable roguelike” stage. Maps and CAB stuff bring it closer. The next couple are less interesting but important to have:

Ranged attacking, including ranged AoE attacks. This will work for both weapons (bows, wands, etc) and skills (e.g. a targeted AoE poison cloud skill). The latter will require a chunk of infrastructure work to the event/action system – e.g. ability to target a particular mob or a particular cell, max distance on AoE attacks, etc.

Stackable items in inventory. Making items stackable is straightforward, but it requires some grunt-work UI to make it usable.

Fleshing out the character pane. It’s very basic (and with placeholder UI for now). I need to clean it up and also get stats and skills incorporated into it

Keyboard in itemgrids. 7YRL already supports keyboard in most of the UI, but not in itemgrids (eg when picking up multiple items or when looking at inventory). I’d ship v1 without it, but I’d like to go ahead and get that done now if possible just to get it off the list.

Figure out mouse-over equivalent for tablets and phones. On the PC or Mac you can mouse over items, mobs, or skills and see a tooltip with information about it. I need to figure out the best approach to that for devices without mice. Press-and-hold is the default answer which I’ll probably go with, but I’d like to find something more discoverable if possible. Failing that, I’ll move forward with press-and-hold and have to figure out how that impacts the input systems.

Only a few more updates after that before Phase 4 is complete and I can move on to the more interesting stuff in Phase 5 – Skills, Professions, Proficiencies, and Crafting (oh my!)