Work sent me to CES last week (more exciting than it sounds – valuable but endless partner meetings and an at-best uninteresting show floor) which stole most of my time last week, but I still found an hour or two here and there to work on 7YRL (lest it become the 8YRL).
The first big addition is Vaults, or prefab rooms. As I mentioned in some post or another many millenia ago, I love DCSS’ vaults – it adds a huge amount of variety and interest to what would otherwise become a somewhat repetitive environment. I’ve added a similar concept to 7YRL. As with other aspects of the system, Vaults are defined in Excel and converted/serialized into a binary stream at design time. Here are a couple of simple test examples:
A bit unwieldy, but for a previous iteration of 7yrl I created a UI to manage creation of Vaults and I’ll eventually port that over to eliminate some of that.
Here’s a more complex VaultDefn:
which in the game looks like this:
For added variety, most vaults can be rotated, and some can be specified as ‘starting vaults’ indicating that the player should enter the level/dungeon in that vault (if present).
Mac demo ready
This took a ton of work, but is done enough to post a demo. That’ll come out shortly. I’ll also update the Windows demo as well.
iPad demo ready
This took even more work, but the iPad build is functioning and up on TestFlight. This wasn’t done to get people to use it (TestFlight’s a bit too much work for folks when it’s just a tech demo), but I instead did it to ensure that I’ve got things set up for when it is demo-worthy. That said if anyone’s interested in checking out the demo, let me know and I’ll figure out the right steps to get it set up this weekend (the process of getting device ids and what not is not yet clear to me).
Torches and player lights
Before, players had a single static light source but the plan was to make light more of a resource; comparable to food in a regular roguelike – something to be hoarded, stressful when without, a blessing when found, and skills which improve it are much sought after. In that vein, players now have a very small amount of “inherent” light. This amount might change based on character or race (imagine some races being weaker but having more inherent light enabling quicker escapes).
Here’s a character with their inherent light:
Players also discover light sources as they play the game – different sized torches, magic weapons, etc – and skills which cast persistent light for them. Here’s the same player with a small torch equipped:
The challenge is that torches slowly run out of light over time. So as your light goes from the above picture to something closer to the one above it, things get more and more desperate because you get almost no warning that something’s going to attack. This’ll also provide an interesting min/max variable as skill and weapon choices will require tradeoffs between more light or more powerful attacks…
Lights now flicker randomly which gives a good dungeony feel to things. I’ll upload a video momentarily which will demonstrate the flickering.
Another infrastructure test – I’ve added a “flamepath” skill which leaves trails of flame behind you as you move – a great skill when being pursued by a mob. Thanks to the event/action infrastructure this didn’t require any code; I added this to the xlsx to define the skill:
and I added it as one of the warrior’s starting skills:
and now we have this:
There were a bunch of other minor tweaks throughout the code as well – many bug fixes and little features (such as celleffects which when created by a skill only impact friendly (e.g. “area heal”) or enemy (e.g. “poison cloud”) mobs).
All in all, a fun week or two!