Saturday, January 23, 2016

The Windshield Effect

The windshield effect, as I've read about in the context of Roguelikes, is when the player can absently mindedly drift through enemies. This is akin to the passive mass murder of insects many people engage in on a daily basis thanks to the power of windshields. My games, at least starting with Dead Man Walking, have all been guilty of this windshield effect to a substantial degree.

The substantial nature is important. Most Roguelikes I've played have something that could constitute as a "windshield moment". For example, the player might wade through a swarm of giant butterflies rapidly in Dungeon Crawl Stone Soup. This isn't necessarily the most engaging moment of gameplay within DCSS, but it happens rarely and has some tactical implications.

Contrast the DCSS moment with something like the zombies in Dead Man Walking. Zombies are a constant nuisance and every single level of the dungeon is full of them. The least egregious game I've made in regards to windshield moments is probably my most recent release, Lost Valkyrie. There's a pretty large variety of enemies that can spawn on any given floor and thus there's never a swarm of any one particular foe.

However, even Lost Valkyrie suffers a bit: while it avoids repeating the exact monster, the concept of slaughtering large numbers of mobs is still very much alive. Contrast this with some other Roguelikes, like Nethack or Shiren the Wanderer, where the player will encounter a few monsters on each floor, but the threat level of those monsters is considerably higher than the zombies of Dead Man Walking.

One of my goals with Revenge of the Starmen is to embrace the idea of meaningful encounters. I don't want every instance of combat to be a windshield moment. Hell, I don't even want every other instance to be a windshield moment. My goals with this change are to emphasize the importance of exploration, treasure hunting, and careful consideration of each foe. When each floor contains only ~10 mobs instead of ~25 I suspect the player will be more invested in each individual encounter.

In Lost Valkyrie, each room spawned between 1-2 mobs with a small chance to spawn a 3rd. In Revenge of the Starmen, each room spawns between 0-1 mobs with an even smaller chance to spawn a 2nd. Enemies have, of course, been tuned to be much more threatening in general.


Sunday, January 10, 2016

Revenge of the Starmen: Combat Step System

Hi folks,

A couple days ago I teased a new Roguelike, Revenge of the Starmen. I'm not quite ready to release the public alpha to the universe, but it does seem like a good time to reveal some of the mechanics key to the game.

Today I'm going to give a quick overview of the combat system, at least as far as the player character is concerned.  The system is derived from the combos in Grid. For the uninitiated, combos in Grid were a 1-2-3 build up where each successive attack dealt more damage than the last until you hit the maximum amount of damage.

In Revenge of the Starmen, the idea of the 1-2-3 is preserved, but the player now progresses to the next link in the chain on each turn regardless of whether or not you make an attack. Unlike Grid, Revenge of the Starmen is constantly looping regardless of the situation (e.g., 1-2-3-1).

The aim of the "combat step system" is to remove utterly random damage, allow for a deterministic approach to tactics, and still allow for a more complex approach to damage than simply always doing 2 damage or whatever.

The goal of moving away from the chained attacks from Grid is to encourage the player to make clever use of movement and waiting. For example, if the player is at step 1, it might be best to move away from an enemy, wait a turn, and then turn around and smack the enemy for maximum damage potential.

I'm going to post a few more of these mechanical previews over the next week or two leading up to the first public release.


Friday, January 8, 2016

2015 in review

Hi folks,

2015 was a big year for me in a lot of ways, including development productivity. I released Grid, Iron Fist, and Lost Valkyrie in the front half of the year. Later on I decided to break off from Python and learn Unity3D, which lead to the creation of CubeTV and several other mini-projects.

It was a great year for simply learning stuff. The three Roguelikes are really a trilogy that isn't thematically connected. Each one of them was an attempt to push the mechanical envelope forward. Not surprisingly, I think Lost Valkyrie hit the nail on the head. Placing 10th place at 7DRL 2015 was a great confidence booster.

One thing I've craved throughout much of the latter half of 2015 is something I can continuously work on. The three Roguelikes are solid games, but I think they work best as bite-sized pieces. Expanding on them feels wrong.

CubeTV was meant to satisfy the aforementioned desire for a couple months, but unfortunately real life got in the way and I just haven't been able to find the motivation to return to it. It's a fun game and I've enjoyed my time with Unity, but now is not the time for it.

In an effort to scratch that itch I've been working on a new Roguelike I'm not quite ready to fully reveal yet. It's working title is Revenge of the Starmen and I'm sure you can guess its thematic inspirations. It is being built off the remains of Lost Valkyrie, but is considerably longer and has more mechanical layers. It also has a title that shouldn't be horrendously hard to Google, unlike some games (ahem, Grid...).

Blog content has been lackluster this year to say the least. I basically post here any time I'm comfortable in releasing something or when I want to have a meaningful discussion about something I've released. It's a little telling that there's been so few posts this year. I'm not going to promise more posts since I have a bad history of making false promises here, but I will say that if I stick to Revenge of the Starmen you can expect considerably more blog content.


Tuesday, November 17, 2015

CubeTV Early Access

Hi folks,

I've released an early edition of my minimalistic platformer, CubeTV. It's not complete yet, but I'm aiming to finish it by the end of December.

You can check it out here on I'll post some more insightful pieces about the design of it in the coming weeks.

This isn't the end of my lengthy foray into Roguelike development. I've just decided to mix it up a bit and learn something wholly new. I'm planning to, at a minimum, participate in 7DRL 2016 in a few months, although I have no current Roguelike plans for before or after that yet.

Saturday, March 14, 2015

Lost Valkyrie [7DRL]

Lost Valkyrie is my entry to the 7DRL 2015 Challenge.

You can download it for Windows here.

The central idea of the game is the player's attack range. The weapon of choice throughout the game is a spear. The spear can be used to lunge (attack up to 2 tiles away) or throw (attack as far as the eye can see). Of course, throwing the spear will require the player to retrieve it if they hope to progress further.

Other ideas explored: Nordic mythology, Lovecraft, interesting monsters, and status effects.


Wednesday, February 25, 2015

Designing Simple

This year I've whipped out Grid and Iron Fist as my entries into the wonderful world of Roguelikes. By that virtue alone, it's been one of my most productive years yet and its nowhere near over. But before I march forward into the 2015 7DRL and beyond, I thought I'd look back at these two games. Painting a clearer picture of both their successes and failures seems important in improving my own skillset for future projects.

It seems appropriate to analyze Grid and Iron Fist simultaneously as they share a great deal of design. They both feature the combo attack system, go out of their way to limit randomness, have the same type of character progression, and offer a limited set of items to discover.

The combo attack system is one of the elements I'm more impressed with. It has turned out to be an effective way to reward player skill and hide the lack of random damage rolls. In Grid, the combos allow for distinctive weapons to exist. In Iron Fist, combos are primarily changed by leveling up.

Ever since this post back in 2012 I've struggled with deciding how to implement randomness. This design uncertainty culminated with the release of Android <3 Kitty last year, which had no real randomness in the combat. Since then I've been riding the current and not bothering to break away from my own norm. Both Grid and Iron Fist offer very little randomness in the way combat goes down.

Grid is my first game to feature internal character progression that isn't just tied to equipment. @Star Wars attempted to have a similar kind of character development, though it was poorly implemented. In general I'm quite pleased with how the level-up skills work in both Grid and Iron Fist. It fits the more "arcadey" feel that both games tried to have.

One of the major successes in both Grid and Iron Fist was the implementation of Binding of Isaac-style consumables. Players are only allowed to carry one consumable. This has worked out quite well because it mitigates the too-good-to-use syndrome that players often encounter and also allows for tighter balance.

In a game with consumables, players are often tempted to hold onto them until they really need them. Sometimes, in easier games, that situation never actually arises. However, in games where it does, the player having a treasure trove of potions trivializes otherwise challenging content. Of course there's always a middle-ground to take, but I quite like the extremity of only one consumable.

Equipment is a strange topic in regards to both Grid and Iron Fist. When I was designing equipment for them, I wanted to create a small set of items where every item is notably different. I'd say I succeeded in my own goal there, though I'm not convinced it was to the betterment of the games. 

All items are equally likely to show up in Grid and Iron Fist. There is no joy to be found in finding an item once you're reasonably familiar with the games as it will be something you've likely seen a hundred times before. To their credit, those items are generally pretty interesting, but there are so few and they have so little variance that I'm not actually sure it matters how interesting they are.

While I can't verify this, I suspect that most people that play Roguelikes do so for the replayability. The parent of replayability, in my mind, is depth. The most popular of the traditional Roguelikes (NetHack, DCSS, ADOM, etc) have considerable depth and thus replay value. This depth is created by interesting interactions, mountains of content, and uncertainty. 

For all the positive things I can say about my own games, I think they have generally failed to provide interesting interactions, mountains of content, and uncertainty. In fact, looking back at it now, it appears as if I designed in such a way as to avoid those elements. 

I'd like to change that moving forward and create more rewarding, in-depth experiences. This change isn't to spite Grid or Iron Fist or even Android <3 Kitty. Quite the opposite, really. Each of them has allowed me to learn about design and expand my coding skill. Now I'd like to take those self-improvements and apply them to a slightly grander project. My current plan is to have the 2015 7DRL serve as a springboard for that project. Until then,


Tuesday, February 24, 2015

Iron Fist [24HR RL]

Download Iron Fist [windows]

Iron Fist is a Roguelike completed in 24 hours. I chose to start the project yesterday at 3PM CST and ended today at 3PM.

Iron Fist started from the final source code release of Grid and branched off from there. This is fairly apparent in some respects, notably the existence of the combo system and the UI.

The aim of the project was for me to have a chance to experiment with two things I'd been bouncing around for a while: the usage of a world map and sound effects. Iron Fist succeeds in presenting both of those items, albeit on a small scale.

I'll likely write a proper post-mortem for Iron Fist in the coming days. I'd like to get into more detail regarding my usage of time over the 24 hour period, the future of Iron Fist (if any), and how it will impact my future development of other games.