The Windows and Mac demos have both been updated with all of the recent changes. Check them out via the links over there –> and let me know how it works!
Archive for March, 2014
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.
As with skills, CAB actions, items, mobs, and action slots, buffs now have tooltips when moused over (on pc/mac) or pressed (on mobile):
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!
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.
Tons and tons of gameplay bugs
and tons and tons and tons and tons…
Dungeons and Hunters suddenly became a bit more interesting in the world of 7YRL…
Ranged attacks and animations
Bows and crossbows can now attack from a distance. When you attack a mob that’s within range, it fires a bolt that does damage. Uncommon and rare bows and crossbows have higher range. There’s currently infinite ammo (and no balancing) so bows are over-powered for the moment. I’d like to avoid ammo if I can, but may need it as an offset to the benefits of being able to attack from range…
Here’s a shot shortly after firing a bolt. You can’t tell from the picture, but the arrow rotates to face the right direction when fired. All in all it feels pretty good.
I’ve created a new tool that will help me tweak and test the dungeon generation code. The dungeon editor allows me to modify parameters, build dungeons, and also batch-build a slew of dungeons to fuzz-test the generation code. Here’s what it looks like:
Not much to look at, but very useful in testing and tweaking.
Dungeon Generation Parameters
The Dungeon editor makes it easier for me to add and see how new parameters look when generating dungeons. Tweaking those parameters gives dungeons that look pretty different – e.g.:
RoomFillRate of 1:
You can also see the various themes in the list on the left. I’m not leveraging this fully yet, but once I get the rest of the game up and running and am coming back to tweak things, this’ll help a ton in ensuring dungeons feel less repetitive.
More test vaults
I also created a few more test vaults; you can see them in the pictures above. Also, very large rooms will sometimes have a vault dropped into them to break up the large empty space. I’ll have to see if this feels too artificial or not.
Task tracking sheet
I’ve created a tracking site up on Trello here: https://trello.com/b/T9aMWWsv. If you want to see what I’m working on or what’s next for 7YRL, check it out!