Update: Tons of stuff

It’s been too long since the last update, but work on 7YRL has moved on regardless. It’s hard to capture everything that’s new in the game over the last few weeks, but here are the top items:

Character pane completely redone

I’m still playing around with what the final look and feel will be for the game. I’m playing a bit with a richer/deeper color style to see how it feels. I like it, but have yet to convince myself that mixing non-8bit interfaces in a predominantly 8bit game is a good idea. Still, I think it looks good as a placeholder.

Dragging items around

Items can now be dragged to/from the inventory slots and the equipped item slots. The dragged tile also appears as a “ghost” image in the target locations.

Dual wield support

This was a unexpectedly large amount of work, mostly in the equip/unequip flows and the sheer number of edge cases; e.g. user has a one-handed dagger and a shield equipped – when they drag a bow over to one of the weapon slots, both the dagger and shield should automatically be unequipped and moved into the player’s inventory when they equip the bow. But what if they have a full inventory? Or, what if the dagger is unequipped but then the shield fails to unequip because it has a curse on it? All of those sorts of cases are handled.

Action bar support

I’ve enabled the quick action slots in the control panel. You can drag potions and scrolls from your inventory into these slots and then quickly get to them. Tooltips are also enabled when you mouseover them:

iPhone and iPad support – major refactoring of whole UI

This is probably 2.5 of the last 3 weeks. The UI engine is written to be resolution-agnostic, allowed me to quickly get it up and running on any monitor or device. While it works, the unfortunate reality is that it ends up creating UI that is way too small on a 4″ screen, and also not optimized for how you hold it. So I’ve completely refactored the UI for mobile.

Here’s the updated main menu screen. The design (etc) is obviously placeholder, but it gives a sense of how I’m trying to emphasize large clickable items in menus.

Here’s what the UI looks like on a phone in portrait mode:

I spent a bunch of time creating different prototype of where the buttons would go, trying to find the combination that felt best when holding the phone vertically. I really like where it ended up – I’ve removed the action slots, but the result is buttons that are very clickable and are in a very natural place for where your thumb happens to land. Well, if you’re right-handed, that is; but don’t worry south paws, I’ll have a mirrored version of the controls for you as well.

Here’s what it looks like when you rotate to landscape:

Again, the controls are very intentionally laid out so that the primary CAB button is right where your thumb happens to naturally fall. I can play a surprising amount of the game without moving my hands.

I’ve also built a vertically optimized version of the character pane shown above; this is used in portrait mode as well:

And finally, the iPad currently uses the existing pc/mac layout – the buttons are the right size for it, but they aren’t in the optimal position for someone holding the device; I’ll tweak that in time.

Stackable items in inventory

Items can now stack in the player’s inventory. ’nuff said.

Buff tooltips

As with skills, CAB actions, items, mobs, and action slots, buffs now have tooltips when moused over (on pc/mac) or pressed (on mobile):

Improved pathing

Before you could only tap on visited or currently lit cells – so if you tapped near the edge of where you could see it sometimes would say “no.” It now checks to see if there’s a path of 5 or less tiles from the tapped-tile to a visible tile, and if so accepts it. This makes tap-based exploration feel much better

Full inventory scenarios

Man was this a pain. So many edge cases!

Mobile performance

Perf on the iPhone had dropped below acceptable levels (e.g. 20fps with ~20 lights on screen). I made a few changes so that it rarely drops below 30, but there’s definitely still work to be done here.