Tuesday, December 2, 2014

A Storytelling Game

One thing I've been turning over in my head while I'm on hiatus (we're moving to Austin) is the idea of a storytelling game. To me as a kid growing up, "storytelling game" meant Dungeons and Dragons or a homespun variant thereof. As an adult I've played a variety of pen and paper games in the genre, but I've only played a few computer games that really approach that level of freedom and thematic coherence, Dwarf Fortress, Skyrim and Minecraft come to mind.

Legacy is not those games, but I think we have an opportunity to push storytelling computer games in a new direction. Our focus is going to be on character development rather than a (hugely complicated) modifiable world, or a (massively expensive) open world full of designed content. As an indie game we have to be strategic with our resources. I 'd love to make Dwarf-Skyrim-Craft, but I would never finish.

So that's my riddle: what is the minimum storytelling game I can create that satisfies the vision of Legacy?

Douglas was talking to me about the Yondering Lands being an American mythology. That's another thing I've been chewing on, trying to figure out what it means. I think, for me, it's a reminder to be very careful with what I pull in from other works of fantasy. Swords and magic are probably inevitable, but most everything else should be up for consideration. Take magic -- we're not going to have evocation, conjuration, and illusion, we're going to have something more like Fire magic, Rune magic, and Blood magic.

In particular, calling it an American mythology is a reminder not to get too caught up in cultures and mythologies--particularly English ones-- that I'm not actually that well versed in. The game will feel more honest standing on its own lore instead of on someone else's (I'm looking at you JRR.)

So, when I get back to it, I will wrap up the animation work that I'm in the middle of, and then keep driving towards character advancement and compelling combat.

Monday, November 17, 2014

Instrumental News

I'm still plugging away, slowly but surely, on concept piece #2. I'd like to do a sort of post-mortem on it when it's done, detailing the process, etc. The "when it's done" part because I want it to be a pointed narrative across several short posts, but as usual I'm probably over-thinking everything.

In the meantime, a few notes (pun not intended, gross) on instruments. While I definitely need continued practice on the cello, the cello itself needed to meet me halfway and get some surgery. I had the fingerboard re-planed and the bridge altered, and it is now much easier to play, more responsive, and has a clearer tone. I will need to get a lighter bow and strings (and practice a lot) before making final-final recordings of anything, but it's a start. I'm really looking forward to the cello being an integral part of the score.

Secondly (and probably most exciting), I now have a drum! A DRUM.

I spent way too much time looking up different kinds of drums and listening to/watching people play them on YouTube*, trying to figure out what kind I should get. I wanted something that could make a versatile range of sounds and could easily be played in a sort of non-traditional way so as to create a sound unique to the Yondering Lands.

At first I thought I might be able to get away with a small djembe. They're affordable, easily found, relatively easy to play, and the small ones lack a lot of the idiomatic timbre that they're known for. I wanted to get out and play some of them myself to see for sure, and ended up visiting three different drum shops in town (including one that is basically a workshop where they make African drums of many kinds, and was amazing to visit. If you ever have some time to spare near Inglewood, check out Motherland Music). I tried a lot of djembes, but nothing seemed quite right and I eventually gave up on that idea. Also on my list were floor toms (not versatile enough and way too expensive), children's toy percussion**, and frame drums. Basically anything that looked interesting I tried, but those are the ideas I went in with.

At the shops I learned two important things: 1. I like Meinl brand drum heads. Every time I came to a timbre that was close to what I wanted, it said Meinl on it. Convenient. And 2. I was pretty sure I wanted some kind of bodhran or frame drum, but none of the shops had more than one or two in stock and what they had was kindof beat up. With that in mind I went back online and found two styles of bodhran from Meinl and ordered them both so I could try them out at home.


THE DRUMS (the drums, the drums, the drums...***)

The one on the right is an "Irish" bodhran, the one on the left is "Celtic". Don't ask me how those distinctions are supposed to work, but that's what they call them in their product listings. Anyway, the Irish bodhran has dampening material around the edges which give it a nice, clear tone but not a lot of boom. The Celtic one, on the other hand, actually feels more pitched somehow despite having a lot more noise in the tone, and has a lot of resonance and ring-out if you don't dampen it at all. It is tuneable to some degree, and I'll play with that. In the end, even though I liked the tone of the Irish drum better, I decided to keep the Celtic one as it has much more versatility, and with some effort, I can make it sound pretty similar to the Irish one. I played around a soft mallet, and tipper, and just my hands. I covered the tipper in a few different materials to get different sounds and I am pretty pleased with the results. I think I have something that will fit in very well with the Yondering Lands' sonic universe.



As an added surprise, it turns out that the kind of looseness you need to cultivate in your wrist to play with a tipper is the same kind of looseness you need for bowing, so there's a transferable skill I wasn't expecting to have. The biggest challenge is going to be recording - turns out that a drum could actually be... a lot quieter than a viola. Who knew?

*while researching, I found this amazing gem
**WHY ARE THEY ALL IN BOXES, WHY CAN'T I HIT THEM IN THE STORE? I REFUSE TO BUY SOMETHING I CAN'T HIT
***Go listen to The Ting Tings, they are awesome

Friday, October 31, 2014

HDR, Bloom and Gameplay Footage

We're now using high-dynamic-range lighting and I added a bloom effect*. We've also added scenery in order to make the light and shadow make more visual sense. And I made a video showing it off.

Disclaimers: work in progress, and a lot of what you'll see and hear is placeholder. Also this is my first video and I'm not very good at it yet haha.


I like the way the firelight flickers and the way the shadows animate. I feel like the visuals are at a point where I can leave them alone for a while and go back to making the game fun. I stuck a post-it to the wall over my monitor:



Right now the game has a bunch of systems, and some interesting ideas, but it's not very fun. Playing is a bit of a chore. And that's why it's even more important to play every day.

From my recent sessions, the highest priority is improving the AI. That will also mean defining more interesting monsters and scenarios. Lots to do!

I may also take a short break to make another baby app and move to Texas.

* Yes, it's been done to death. Sue me, I think it looks good.

Thursday, October 23, 2014

Shadows!

I've been working hard on the graphics infrastructure for Legacy*, and I finally have something to show for it! Check out the shadows at the bases of the figures below:


Because of the way I'm calculating light and faking shadows**, shadows are relatively cheap for me, so we can have a lot of them.


Aside from the cool shadows themselves, you'll notice that light is now blocked by walls (those pits you see will actually contain obstructions some day, which is why I have them blocking light.

So now that we know how much light is hitting each tile, we can potentially attach mechanisms to that. I would probably need to find a way to make different light levels more distinct.

So this is a good start but I'm not happy with it. The light tends to either blow out or be too dim, and it's tough to get it balanced, so I might take a look at some HDR techniques to see if I can get better results that way. In Legacy we want to be able to show a fairly broad range of environments, from outdoor daytime to dark dungeons, so I think the HDR sidequest is justified.


*I forked libgdx to fix some bugs and have been looking into OpenGL core profiles.. a real learning experience.
**Ask me about it if you want the details, but I might talk your ear off.

Sunday, October 12, 2014

Mechanisms: Line of Sight, Fog of War

Here are some simple ones. I'm testing out a line-of-sight driven visibility system. It's fairly standard, we do a center-to-center and corner-to-center test for each pair of tiles to determine visibility.* In addition, walls adjacent to visible floors are always revealed. When terrain or units are no-longer visible, they are grayed (for terrain) or removed from view in the case of mobile units.

I'm not sure if this picture is terribly clear but I suspect I'll be doing some more work on line of sight feedback before it goes live :-)


I also wanted to mention that this mechanism isn't inevitable or final, I think there are some viable alternatives to it. For example Descent uses doors to gate monster reveals, but never hides units or terrain once revealed. True, as a board game it's more constrained, and having secret monster locations would be a pretty big opportunity for the overlord to cheat.

The other open question is if/how much we want light level to affect visibility of terrain and units. Is a stealth mechanic just too annoying? Or is it awesome? Only one way to find out I guess. My instinct is that in order for it to be good, we need to give excellent feedback to the player about how the stealth rules work, ideally to the level that when they are hovering over a movement destination, they can see whether or not they will become visible to any of the monsters that the party is aware of.

Oh yeah oh yeah - new XCOM has these "on reveal" triggers, where when you see an enemy for the first time, they hiss at you and then immediately activate and seek cover. Old XCOM had a mechanic that when you reveal a foe in the middle of a move, your move is halted and you have a chance to reconsider. Both are interesting. The great thing about movement in XCOM is that it always feels risky. Every move you take you risk triggering an overwatch or revealing too many enemies, who will then swarm you.

We may need to have some kind of "activate on reveal" for monsters just to keep the ai turn reasonable. And in the case of playing against a human overlord (a scenario I just can't drop no matter how I try!) There would need to be a mechanism to prevent him/her from gathering all the units from across the map in order to overwhelm the heroes.

So, next I still have to integrate line of sight into combat and targeting, and I might attempt to put in some kind of "cover" test while I'm at it, which would affect ranged attacks. After that I might try to figure out how doors work. That seems important.


*Mostly.. I'm reusing Wu's line algorithm here, which is an excellent approximation, but is not actually as strict as a pure "intersection of line and rectangle" test. I'm ok with that because our obstacles are visually pulled back from the tile boundaries, so it should make intuitive visual sense what you can see and what you can't.

Wednesday, October 8, 2014

Mechanics: Fireball, Flame Strike, and Fire Lash

Coming in hot. So to speak. This time it's all about the Mystics, and how they shape fire to their will. Mystics have a Charge mechanic that acts as a currency for their more powerful spells. Right now they start with 1 Charge and consume Heroism to gain an additional Charge. For now Fireball is the only spell that consumes Charge, the others are free, but all magic actions take 65 time units (out of a budget of 100), so you can only cast one per turn.
So, a warrior, a hunter, and mystic walk into a bar full of boars. A boar bar, if you will. I don't really know how the joke goes, like maybe the warrior asks the bartender for some bacon and all the boars look up from their drink, and then the hunter's all trying to calm everything down but spills beer on the mystic and then something about a fireball? I don't know whatever. But it ends with bacon.
Ok so first up, Flame Arrow. You target a nearby source of fire, which you consume to grant your ally a free attack with a bonus. The attack also lights a fire at the target. This effectively moves fire around the map.


Next, Fireball. This is currently the only mechanism the heroes have for creating fire, and it consumes Charge. It's intended to be the big flashy spell.

What's the damn punchline?
Next, we have another situational spell. Fire Lash targets a source of fire and another tile, and spreads fire over every tile on the line, also burning any units in the path. This is another way that Mystics can change the map.


All together, Mystics now brutally outclass these Boars. I might need to pull out some tougher enemies. But also this is all subject to balance, and in the game itself we might roll out these abilities one at a time over the course of the game.

Flame Arrow - active - target the closest source of fire and a ranged hero other than yourself. The hero makes a free ranged attack and also lights a fire at the target. The source fire is consumed.

Flame Weapon - active - target the closest source of fire and a melee hero other than yourself. The hero makes a free melee attack and also lights a fire at the target. The source fire is consumed.

Fire Lash - active - target a source of fire and another tile within close range of the source. Hit everything in a line with a magic attack and light the tiles on fire.

Fireball - active - consume one charge a 3x3 blast area within range. Hit every unit in the area with a fire attack, and light all the tiles on fire.

Charge - consumable - Mystics start with one Charge and can consume heroism to gain additional charge. Charge powers certain spells.

We're definitely making progress in terms of making terrain matter. I think the next big category of mechanics will have to be around sight. Line of sight, cover, light, and stealth. And for that all to make sense I'll likely have to do some work on mission visuals as well. For example, all these fires, they really should be light sources, and they really should cast shadows that dance across the floors. It's hard for me to express how much I'm looking forward to that work :-)

Tuesday, October 7, 2014

Mechanics: Heroic Death, Guard, Injury

Here's some more mechanics!

This crop is all about filling out the heroes' options and incentives. Injury is a form positive feedback that makes getting hurt extra bad. Heroic Death is a form of negative feedback that makes dying less bad. And guard allows you to take conditional actions on the enemy turn and mitigates the "bumpiness" of turn-based combat. So take Gawdion here. He's in a pretty bad spot, in between the boar and the fire. He's injured too, which means his attacks deal less damage. That might not even be relevant for much longer..


Yikes. But when he dies, the other two get +1 Heroism. (Heroism is explained here) So with that they are in a pretty good position, despite the loss of their brave comrade.


When one of your heroes dies, it is sad. But, a death also galvanizes the remaining heroes and gives them a better chance to finish the mission. Next, Ollile demonstrates Guard. If the boar comes within range, Ollile gets a free attack on it.


Now, as a farmer, Ollile's attack is not that great, and he relies on surround to bring down large foes. But Guard can be pretty powerful in the hands of a trained warrior.

Heroic Death - passive - when a hero dies, remaining heroes get +1 heroism.

Guard - active - heroes with a melee weapon can create a guard region around them. When an enemy enters that region, the hero gets to attack it. The guard goes away when used or at the start of your next turn.

Recently Injured - debuff - (Note that your health bar is divided into two segments, damage first counts against Stress, and once you're out of Stress, starts to count against Injury. Ordinary monsters don't have Stress, so they go straight to Injury. I need to make this distinction more clear in the UI.) Recent Injury negatively affects your attack rolls until it wears off. Recently Injured lasts for two of your turns, and stacks. If you take two attacks that injure you, its value will be two, and each time it is refreshed, the cooldown is reset to two turns. This stack and decay mechanic was pretty easy to implement with my new template aspects and effects.

Enraged - buff/debuff - some monsters have a variant on the Injury mechanic that strengthens their attack but weakens their defense when they are injured. So it makes them easier to finish off, but more dangerous. I basically got this for free when I implemented Recently Injured so there you go.

Mechanics are coming in hot and fast right now, I suddenly feel very productive. Funny how two weeks ago when I was tearing apart the ability system, I felt so down. That work is now paying dividends.

Friday, October 3, 2014

Mechanics: Debris and Fire

I've implemented debris and fire in order to make terrain more important. The map below spawns in with some fire. That's just for debug purposes but it gets the point across.


 When you're standing on debris, you can pick some up and throw it at an enemy in order to daze them.


Dazing takes away 25% of their time on their next turn, and can stack. In this way you can really reduce the enemy's effectiveness, but at the cost of your own actions.

Fire is more complicated. It deals damage when you enter it, and every turn you end in it (including enemy turns.) It decays after 2 turns unless it is on a Debris tile, in which case it sticks around indefinitely. Fire also counts towards surround, so backing your enemy against the fire is a great idea.

Along the way I made another round of improvements to the Effect-Action system. Fire uses the Attack/Defense mechanics to deal damage, which means that creatures could easily have resistance to fire. And since I can now trigger attacks when units move, I've done most of the work for an "Ambush" (see: Overwatch, Guard) mechanic as well.

Actions now resolve on a FIFO stack, which makes it easier to chain and combine them meaningfully. And each new trigger I add is easier and simpler, so I feel like I'm going in the right direction. Everything is feeling more flexible and uniform, and I'm able to keep all the mechanics in the data, not the code.

Next, I want to implement some abilities for the Mystic. This means AoE attacks (Fireball!), maybe a "Flame Weapon" ability which allows the mystic's ally to make a free (the mystic pays for it) attack with a flaming weapon, and a "Fire Lash" ability that allows the mystic to utilize existing Fire on the map. You may be detecting a theme.

Then.. Line of sight? Ambush? Stealth? Re-equipping? Doors? Light sources? Furniture?

Tuesday, September 30, 2014

Mechanics: Heroism, Fear and Hatred

I've been moving down the path of character advancement and combat mechanics as promised, and I've made good progress.

I did a lot of background work on aspects and abilities, simplifying them and making them more flexible. As a result I was able to implement s Heroism mechanic, and generic "Fear of ASPECT" and "Hatred of ASPECT" aspects, with corresponding combat mechanics.

I also have a very basic ranged attack, though I'm not happy with it yet. It needs more depth. But here's what we got now:


Dacolo has got himself in a bit of a bind, and he's terrified of Gorgon Boars:


But these are Warriors, not Farmers, and they have Heroism available. Pem is able to use Heroism to get into position with enough time remaining, and then slay the surrounded boar with one stroke. In the combat log, the breakdown notes +3 due to Hatred of Boars. Docolo then pivots and uses a Heroic Attack on the remaining Gorgonoid Boar.


Heroism acts as a currency: you start the mission with 1 heroism (for now), and you can use it to break the rules in different ways depending on your class. Everyone can "get an extra action" by spending heroism (it gives you extra time to act that turn), Warriors can also perform a "heroic strike" with extra damage, and Hunters and Mystics will have signature abilities powered by heroism.

The kicker is (not yet implemented), that when a hero dies a heroic death, all remaining heroes get +1 heroism.

Fear and Hatred are related aspects. For now Fear gives you -1d2 on defense and +1d4-2 on attack, and Hatred simply gives you +1d3 on attack. The idea is that Fear can be acquired as a consequence of taking injury or seeing a comrade die, but that Fear can then be upgraded to Hatred by performing a redemption quest or maybe simply by killing your hated foe.

I'm playing with the idea of variance control. I want the base attacks and defenses to be fairly predictable, but I also want epic moments to arise when a character's background or forgotten aspects suddenly become relevant. So my thought is that the more specific a situational aspect is, the higher the variance should be. We'll see if playtesting bears this out, maybe it will be super annoying.

My other major goal for the missions is creating spatial incentives. What I mean by that is, incentivizing the player to take risky, aggressive moves in order to control certain positions on the board. If board positions are important, then different maps force the player to change tactics to play optimally. If board positions are important, then procedural generation of maps is a huge multiplier on content and replayability.

Descent does this amazingly well with Glyphs and treasure, not to mention other pickups. XCOM accomplishes this via Cover and both also use doors as spatial gates. Descent has additional mechanics, specifically the race-like nature of every mission, to keep the players unbalanced. So I'm toying with those ideas as well.

Fire is the next big goal. I have some good ideas for why fire is important.

  • It counts towards surround. (If your back is to a fire, you can't defend as well.)
  • Mystics will have abilities that use fire on the board to their advantage.
  • Fire spreads light, revealing hidden enemies.
  • Fire depends on Debris or it will burn out, which makes Debris distribution important.
  • Fire is dramatic!

The main goal for fire is for it to make terrain and position matter more than they currently do.

I'm excited. Relationships like fear have been on the drawing board for over a year, and Fire has been an important combat concept for almost as long. It feels good to finally be implementing this stuff and playing around with it.

Friday, September 19, 2014

Making Decisions

The full loop is now complete, you can enter the campaign, play a mission, and come back to the campaign. So now I'm at a crossroads, in a sense.

Yesterday I tried to think about all the things I could do next, but the list was too big. So I used one of them so-called "agile methodologies" to produce this graph that covered the biggest goals I could think of:


The idea is, you do the things that are high impact and risky first, and then rotate counter-clockwise through low risk high impact, to low-risk, low impact. High risk low impact is left alone.

So this seems to indicate that I should work on character advancement and combat mechanics, since that's where I think most of the high-impact risk is. Those two are tied together somewhat, and so is Overlord AI, since the AI will have to respond to the changes in combat mechanics. But at least it gives me a place to focus.

This exercise feels a little funny with just me doing all the estimating. You're really supposed to have a group of people weighing in. But it sure goes faster with just one!

Monday, September 15, 2014

Campaigns

Progress has been a bit slow over the past couple months, due to travel and real-estate shenanigans, but here's where I am right now.

Campaigns are a thing!


You can start a campaign and it will generate a world map and some heroes for you. It gives you some time controls, up at the top. And the first thing that happens is that a mission becomes available.


When you click on this you get a party select screen, with a list of your heroes and (eventually) details about the job.



When you're happy with your party you can continue. It takes time for them to travel to their destination, and then you get another prompt to run the mission.


The mission will start and your chosen party will populate it.


 I was really, really surprised at how much work this all was. I guess I was used to having most of the scaffolding in place, like we've had for missions for quite a while. But this campaign stuff was all freeclimbing. And there's a lot left to do. For example, victory and defeat conditions for the mission, merging results with the campaign, and applying outcomes.

But well, once that's done, we should be back to a more comfortable place, where I can focus on incrementally adding game systems and content. I'm looking forward to it. I don't like going so long without showing visible progress. I've had to keep reminding myself that this systems stuff is really necessary.

Monday, September 8, 2014

Tomb/Grave Concept 1



Something I'll have to think about depicting eventually, this being Legacy and all.

Sunday, August 31, 2014

On Sharing Musical Progress

I've noticed that, as a general rule, programmers are really good at sharing and talking about progress made in their work. Artists are fairly good at this as well. But musicians? We are really, really, really bad at it.

(Warning: navel gazing ahead!)
My guess is that musicians are generally trained to perform rather than create - the goal is to become capable of repeating something perfectly and on the spot. So while the journey there is interesting to ourselves, it's also not something we want to share with the world at large. It's a shadow of what we're trying to do. So we shy away from showing "unfinished" things. We don't want people to think that's the extent of our abilities.

Composers, though, do have a progress bar of sorts. There are things we can show that eventually add up to a greater whole. Maybe because most composers start as performers, we still have those weird feelings about sharing. Maybe because we so rarely work in teams, we're not accustomed to communicating with anyone about what we're doing. Also in play is an institutionalized fear that non-musicians can't understand the meaning of a work-in-progress and will judge something unfinished without understanding what to look for. While that's got some validity, it's also very self-perpetuating. If sharing music-in-progress were a common thing, people would have a better sense of how to approach understanding an unfinished piece.

(Okay, it's safe now, you can come back)
Point of this is, I would like to get better at sharing things in progress and make more contributions to this blog. I've been working on the second concept piece for a while now, but I don't really know what is interesting to other people. Whether or not anyone wants to read posts from me about all the weird little things I encounter is not something I have any sense of.

So... what do you want to know? What would be useful? What interests you?

Tuesday, August 12, 2014

Pillars of Character Progression

In order for our characters to be "varied and interesting," we need to add texture to them, ideally over the course of the game so that the player is invested in that story. Right now I envision five major pillars of character progression: Age, Training, Relationships, Consequences, Gear.

One of the next steps is for me to model these in a Lab, to prototype the way that they all play together to create the stats and aspects that drive combat, and the way they create interesting stories, explicitly or implicitly.

Age - our concept here is still that Warriors peak early, Hunters peak in middle age, and Mystics peak in old age. So we need age to affect stats and, ideally, art as well, in order to show that progression. Age also leads for many characters to an eventual retirement, which we'd like to feel like a well earned reward for the character. That means it likely needs to feel like a reward for the player as well.

Training - this is still a bit vague in the absence of a strong class design spec, but the general gist is that more experienced heroes are better at doing their jobs. This is intended to be most important for Mystics and Hunters, and less so for Warriors. Will we have class levels? Unclear.

Relationships - I think there's a lot of opportunity to break new ground here. Interesting characters are interested characters; they are interested in the world around them, in their fellow adventurers, in their foes, in art and music, architecture and family, and their ancestors. This stuff doesn't need to be terribly relevant to combat, where I see it integrated is in motivations, and the flavor around the character. A hobby becomes a family crest, a close friendship leads to a quest of vengeance, an obsession becomes a downfall, becomes a sidequest for redemption.

Consequences - We've been picking on this a bit with the recent stories. Your characters should change as a consequence of the missions they are on. This is thorny! It can't be too predictable, or it cries out for metagaming, and there needs to be a mix of good and bad. Maiming, blindness, etc. are excellent opportunities for research and quests. Curses, acquired powers, prosthetics, and animal companions become character-defining traits.

Lastly gear - I always found it interesting that games and stories handle gear very differently. In a story it's not uncommon to finish a quest with the same sword you started with. It's hard to name a game where this is true. It's likewise hard to name a work of fiction where the characters are constantly upgrading and swapping out equipment. I'd love for characters in Legacy to acquire character-defining pieces of gear that stick with them for the rest of their careers. We have a couple ideas for how to make that happen. At the core is the idea that their is only 1 "good" tier of gear. Once you have something at this level, it's to your advantage to keep it and upgrade it rather than swapping it out. That leads to two ideas, "training" bonuses with your favored gear, and upgrading the gear itself with various trophies* from missions. "That dragon skull would look GREAT on my pauldron!" And one other concept... characters should stop seeking new gear at a certain point in their career, and instead focus on optimizing what they have. This leaves the juicy, character-defining gear to the younger generation, who will have more time to be defined by it, and it prevents confusion about "is that Big Hammer Jim, or Dragon Armor Jim?" If he got the hammer first, that might just be enough for Jim. Let Lisa take the Dragon Armor.

So OK character progression. That's the next puzzle I think.. Can we generate a lot of characters that meet our "interesting" bar? We really, really want to get to a place where we have a ragtag troupe of unique professional adventurers, rather than a bunch of soldiers with standard issue chain mail.

*monsterparts.

Wizard doing something wizardy.


Do you think I drew too many doodlies on his robe? I think I drew too many.

Monday, August 11, 2014

Heroic Death

I'm knocked to the stone floor of the cavern by the clacking claws. My bow is broken, so is my leg, and my shoulder is torn. I'd really prefer to just lay down and wait -- the creature is already beginning to turn away from me,  I could crawl away, they could....rebind me... but I see its attention now on Nia and Tilbert, who are backing the other Thrixl into the fire in a desperate deadly dance.

Their backs are exposed. And honestly I never really wanted to go through rebinding. I don't think my mother would have approved of it.

I sigh and lash out with my good leg, sweeping the spindly chitinous legs of my foe on the smooth floor, and forcing its eyes back to me. With my good hand I grab my last remaining weapon. I always keep my whittling knife sharp. Sharper than my arrowheads, sometimes. Ha.

One chance, as it stoops over me. I flop my bad left arm right onto it's face, and it grabs the bait hard. I almost lost it right then, from the pain. But I always liked Tilbert. Nia's a decent girl too. left shoulder pull down, right arm thrust up, up through its neck with my knife. A good stroke.

Then it thrashes my arm off in its death spasm. That ought to hurt, I think, but I just lay my head down so I can watch Nia and Tillbert chop and burn, chop and burn. They look pretty good together. My vision fades as they finish and turn, because I don't want to see their faces when they see my body.

Not the way I expected to go, but I'm proud all the same. Shows ol' Luric. And the mission's done. I can hear them singing my song now, back in the hall. A proper hero.

~

Out of Character: death is something we want to be present in Legacy. Here it's offered as a choice: you can flop, feign death, and take a curse or consequence, (rebinding, maiming, etc.), or, you can take a heroic death and accomplish one more thing. In this case, a counter-attack on the monster that slew you. Mechanically that can be advantageous because you lose one guy to preserve two others. In this case the two remaining heroes would likely face additional injuries or deaths if surrounded by the remaining Thrixl. Making death feel heroic, and not just like a punishment is the goal.

Zinylle

(See this post for story.)

The idea is that I illustrate these as a way of forcing myself to do character concepts, which in turn will help guide the art style for the next pass on character art. Will it help? Only time will tell. These are obviously a different style than the current characters, different proportions, etc.

Sunday, August 10, 2014

The Eyes of Zinylle

Zinylle was a promising warrior. On her third battle, she was splashed in the face with the acidic venom of a Thrixl, and blinded. Even blind, she hacked the beast apart with white hot fury until it twitched no more. But her eyes were ruined permanently.

For two years she lingered, sad. She gave up her training, tending instead to what duties she could. Then a rare opportunity arose when her close friend Onriel was researching Thrixl origins and the nature of sight. Onriel proposed a dangerous course of action, and Zinylle accepted it. Onriel located two large gems, rubies. Such things were more common in those days, they say. She cut them to match the shape of the Thrixl eyes she had been studying, and imbued them with spells and rituals.

The operation to replace Zinylle's eyes was rough and bloody, and she nearly died of infection in the weeks after. Two moons later the result was revealed.

Zinylle did not regain her sight, exactly. She could see the vague shadows of terrain and friendly figures, just enough to move around and get her job done without having to feel for things. But when a rabid dog raced into the stone yard, she grabbed a nearby sword, raced toward it and slew it in one stroke before it could reach the confused masons. Foes, it turned out, shone out to Zinylle in fiery red, coruscant, in every florid detail.

She returned to the battlefield, always volunteering for those missions where her disadvantage would be an advantage: deep forests, twisted labyrinths, lurking hunters. She had an incredibly successful career hunting the sort of nightmares that others refuse to face.


Of course, she would have been buried with her eyes, and we do not know the exact location. But at the end of the account of Zinylle, which appears to be written by Onriel, the author describes how the two friends wished that the eyes could help others as well. So you see Jacon, your situation is not without hope. If you are willing, continue your training. Keep your body strong. I will search for the tomb.

Saturday, August 9, 2014

Elmnic Wolfhue


Get like half a dozen more of these guys together and they'll summon Captain Planet.

PS- In case anyone cares about this kind of thing, my sketches are dirty as dirt. I think some people sketch "cleanly." I do not. If I know I'm going into Illustrator anyway, I do all the fiddly movement in there.





Steelhorns is that you?


In what would normally have been his later years, old Korsvo spent a lot of time alone, researching his own topics.  He rarely ventured out of the fortress, but he did continue to make breakthroughs in ritual magic, which he passed on to the company with detailed illustrations and instructions. He was a favorite instructor and mentor for many of the younger mystics, and he loved to lecture on blood theory and ley lines if he got too much wine in him.

One day word came in of a rampaging minotaur to the east. When the company called for volunteers, Korsvo tossed his aged silver amulet onto the table before anyone else. Some of the company members were surprised, but then, it's was not uncommon for an old veteran to carry an old grudge that he would not discuss. The second token on the table belonged to Havstad, Master of Traps. He was known to have quested with Korsvo, many years ago.

Young Lianna placed her amulet on the table third, and she brought back this account of the battle:
Havstad led us through the forest for a long time, and instead of confronting the beast directly, we set up an intricate line of baits and traps, to corral the creature to the back of a specific canyon, near the mouth of a shallow cave.
With the beast cornered, we were to approach, I was to take the lead as the Shield Arm. Well that was the plan. What happened instead was that once Havstad has finished trapping the escape route, Korsvo rushed in, shouting wildly. I leapt to try to keep up but Havstad motioned me back and took up an arrow and trained his sights on the beast.
I ran forward in spite of the warning and this is what I saw. Korsvo leapt directly in front of the beast, throwing rocks and insults as fast as he could. The beast raised its great spiked club and brought it down on frail Korsvo's skull. His whole frame was slammed to the ground, head split open. I was horrified. And then it happened. Korsvo's blood rushed out of his body and swirled in a hideous whirlpool around the enraged and suddenly terrified beast. I held my charge for a split second then. It seemed prudent.
I was aware of Havdar shouting out "hold! hold!" behind me, and it seemed to me I was out of my depth. I held. The blood subsided and the minotaur slumped forward to the ground, and then, dropping its weapon, stood again unsteadily. It flexed its arms and stretched its legs and let out what I would have to describe as a chuckle. It bowed to me, and to Havstad, three times. Havstad lowered his aim and said "quest accomplished."
The beast calmly unthreaded old Korsvo's amulet from his broken body and attemped to wear it. This did not work due to the horns being in the way, which was oddly comical. Clutching the amulet instead, he walked out of the canyon, expertly avoiding our traps. We buried Korsvo's remains at the site, but we did not mourn.
For some years afterwards, at times, a jolly minotaur would rush into the middle of a woodland battle as if from nowhere, a silver amulet of the company hanging from his burly neck. He'd smash some foes and give a great bovine laugh and be off again, just as quick. Old Korsvo usually got the credit. Also for years afterwards, at times, farmers would complain that someone or something was visiting their cow pastures at night. Old Korsvo usually got the blame.

Curses

Elmnic Wolfhue of Ogergin's Crossing faces down the last beast, as his comrades circle behind it. Suddenly it lunges, and its jaws tear at his arm, and then at his torso. He cries out and collapses to the forest floor. In that instant his friends rush in to finish it off, with spear and fire. Elmnic lays on the stones and branches, breathing raggedly and bleeding. Not much time.

Hadyel fishes through her pack while Jud carries Elmnic to a flat spot and lies him down. Jud begins to scribe a circle in the dirt with his spear point, all around Elmnic. Hadyel returns and grimly offers the dying hunter a leather flask. Their eyes meet for a long moment. Elmnic considers his choice. In the end his burning hatred for our accursed foes makes his choice for him. He takes the flask with his left hand and drinks the contents. Jud and Hadyel finish the circle to the best of their knowledge and abilities.

Blood of the enemy, blood of the comrade, blood of the land. Elmnic screams and contorts. His wounds stop bleeding red, instead a thick yellow sap oozes from them. His mauled right arm twists and writhes, and the two hold him down to the ground while the magic takes its course. Then they bind his body and his bulging and discolored right arm with linen, and fashion a sled for him that the ponies can pull. He'll be asleep for weeks, if he's lucky. Then he may wake up.

~

Heroes Remembered, volume 4

Elmnic Oakhand was one of the most feared and respected hunters for miles. In his 24th summer he was mortally wounded by a magical beast in the forest, and underwent the ritual of rebinding on a makeshift altar. (see footnote) His right arm was transformed into a knotted, woodish bludgeon, in the vague shape of an arm and fist. He retained sense and control, although its range of motion was limited. In addition, ever after he bled a thick yellow sap, rather than blood.

He returned to his patrol almost immediately after regaining consciousness. Unable to aim a bow because of the ritual, he nevertheless was an uncanny tracker and trapper, and in time developed a close combat style that took full advantage of his unique physiology. In the course of his later career he slew two dozen of the foul hounds that ripped his body apart. Interestingly, his two daughters were born with grass-green hair. They lived full and happy lives.

footnote: This is the earliest account of a successful rebinding on the battlefield, a practice that has since become more common and successful, though the results remain highly unpredictable. It is thought that the three bloods influence the outcome, but exactly how remains unclear.


Saturday, July 26, 2014

Grass

Just wanted to follow up on world maps with grass.


Well looks like the hard part's done, we have a map. Pretty sure the rest of the game is just details.

Friday, July 25, 2014

Tower-Flippers! Wednesdays at 7 on HGTV!


I was talking to Nate about the "scale" of most of the art for Legacy. Namely, how thick are the outlines and how detailed do things get? We both kinda like the "smaller" scale that I tend to go with on most pieces like this. I let the outlines stay relatively thick, as if you're looking at a picture that someone drew instead of marveling at a Skyrim-scale behemoth of detail.

Play to your strengths, they say.

World Map

I took a few days to sketch this out. These are generating programmatically in about 45ms, give or take.

Here's what it looks like zoomed most of the way out:


And here's a close up on the starting town for this instance:


Oh I still gotta add grassland, dang. But yeah it's looking almost usable. The layer images in the upper left of these shots is kinda cute: based on the presence of lakes I'm deciding how wet it is, and based on the presence of mountains I'm deciding how cold it is. Those two factors control what trees can spawn there. Dunno if they'll influence other in-game things yet. But they could.

Almost... usable...

Monday, July 21, 2014

Responding to Feedback

We gathered a ton of feedback on Saturday from at our informal indie game dev meetup. So here's what I've done:

* attack is now always visible even if there's nothing nearby or you're out of time.
* added a status text area that shows the camera controls.
* you no-longer attack by clicking the attack ability, now you always click on the unit you want to attack.
* no longer get ability feedback when it's not your turn.
* when an action is possible, we predict the results of that action and show you in a tooltip. So you can see how likely your attack is to hit and how much damage it will do, and whether it will kill the dude.

Prediction tooltips:

And attack ranges:

And with that.. we may pivot and take a look at the campaign again, because the other major feedback that we got is that people want a story or overarching structure, in order for the game to make sense. I think having a rudimentary campaign in place will be really helpful for driving mission combat forward as well, because it will motivate unit upgrades, gear, new monsters, and new scenarios. And I'm excited to have something that resembles the whole game that we have in our heads.

The first iteration of the campaign is likely to be pretty simple, just a framework to see some continuity between missions. Then comes resource allocation, world map, and then the possibilities really open up.

O.O

Saturday, July 19, 2014

Placeholder Sounds

I've integrated the placeholder sounds and Candy's music (on the title page only for now), so now the game makes noise.

I also tweaked the combat, vastly reducing the variance in the attack roll, and fixed a few bugs in the process. The combat is feeling more predictable now, but that AI is still kindof a chicken. Need to do something about that heh.

By the way, we are not working on Mac at the moment, due to some complexities with openGL, Mac, and LibGDX*.


*TECHNICAL NOTE: The long and short is that developing on a PC is easy mode. The drivers are all super forgiving and as compatible as possible. So when you take that code anywhere else you suddenly realize how many mistakes you're making that have been silently ignored up til now. On top of that, there is a legit bug in libGDX not actually creating a 3.2 core context. That makes it impossible for me to move forward with Mac compatibility without either: A, fixing a lot of core compat issues with libGDX itself, or B, reverting all my shaders to be compatible with OpenGL 2.1. So I guess I might have to do the latter, if it comes down to it. Hopefully it doesn't, I'd rather move forward targeting 3.2 as my min spec. We shall see.

Thursday, July 17, 2014

Playtestable

I've got a version of Legacy in dropbox that should be playable. If you have access feel free to check it out and send me your notes. It's java so you'll need the latest java installed, but it should work on PC/Mac/Linux*. If you don't have access but would like to help playtest, let me know. I will likely give you access, though certain restrictions may apply. I want to organize regular online playtests once we have a little more gameplay up and running. I'll send out an email / social media blast to gauge interest.

Warning if you try it - it's not all that user-friendly or fun yet. In the parlance of the game industry, we're still in pre-alpha.** Oh also and there's no victory detection for the mission. If you kill the boar, give yourself a cookie. If you all die, do a pushup.


* Tested with a sample size of 1. Thanks James!
** The terms 'alpha' and 'beta' assume that you have some kind of schedule and really some idea of what you're building.. Here we have the luxury of exploring our options and changing direction quickly, so those terms mean less. But really - it's 

Wednesday, July 16, 2014

Towards Fun

I spent a lot of time today rewriting the way that Legacy handles regions, after I found some pretty bad issues yesterday in the course of working on AI. The new system is fast and flexible and I think it will hold water for a while. In the process of fixing that up I squashed a lot of bugs that were messing up the AI and the game generally, so now I have (what appears to be) a game that runs with no broken assumptions.

At the end of the day today I spent some time tuning AI, for performance and quality. After all the performance work I'm able to easily explore 40k scenarios per move, where before I was setting that number to 1.5k to 3k. I finally feel like the algorithm isn't starving to death. The big quality changes were that I lowered the "exploration factor" and increased the bias and the aggressiveness, by making the scoring system care much more about the enemy's health than its own. There are still some funny scenarios though, where it gets into standoffs, and I think right now it relies too much on the "roll out" to do the damage, so it spends time running away instead of biting heroes. I think I can tune that out.

Well anyway the game almost feels like a game, but not yet a very fun one. The surround mechanic is alright. I can't tell if it's going to get tedious or not. Right now it's the only way the heroes can do any real damage to the boar, which means I spend most of my time trying to set up a turn where I surround the boar, without letting him bite me. If the boar were more aggressive that would likely feel better, since yeah I might get bit but I wouldn't have to chase him around the map with a rolled up newspaper.

The main mechanical problem I see is that attacks are wildly unpredictable. I'm using an attack roll similar to Fate, and I think what I'm seeing is that Fate has a ton of mechanics around modifying the result after the roll, by tagging this or that. Legacy doesn't have those right now, and what that leaves you with is the raw dice, which are pretty brutally random.

The other thing that feels bad is that the heroes don't have quite enough tools. They need either an overwatch, or some heroics, stunts, saving throws, healing surges, fatigue potions, some kind of extra rule-breaking mojo. Some way to break up the "I walk up to you and end my turn and you hit me" gameplay.

So, if you can't tell by my tone of voice, this is extremely exciting! I'll be thinking about the combat formula, and about what kind of abilities I can add in to round out basic melee. It's like a game!

Tuesday, July 15, 2014

Black Castle Ruins, live

Finally, I finished a live version of the first music demo:


And that is why I say no to samples.

I'm actually not sure how I feel about the timpani anymore, but I figured I'd leave it in. I have versions exported both ways, actually, and put the one without timp on my personal soundcloud. When I first wrote the piece I felt like it needed something to push it forward, but when you have a real person playing instead of just the samples, the tension is there on its own. On the other hand, I often neglect percussion, which rarely seems to be a popular choice, so I'm probably missing the point.

I wrote second short piece weeks ago that I meant to record at the same time as this one, but it was too much to do all at once. I've been recording with some small regularity lately, though, so at least setup and settings don't seem like as big of an undertaking anymore.

The next one will be a campfire/party sort of piece - the kind of thing you get together and play for entertainment with other village people who feel like socializing, drinking, and maybe dancing. Incredibly different from what I just posted. After that I think I have enough understanding of the workings of the game to take a stab at some sort of atmosphere or looping piece that could theoretically work in an actual gameplay scenario. Then I guess we'll see if anything starts to settle in and indicate a good real direction to go, or make more crazy things and just see what happens (nose-flute playing boars? eh? eh?).

AI is Hard

I've got the the MCTS algorithm working, at least nominally. It makes choices and it puts up a fight, for sure. Right now I think it's less than satisfying to play against, and I'm trying to figure out why.

The main symptom is that it runs away, and I have to chase it all over. It is actually a moderately effective strategy, but not one that feels fun. The next symptom is that it sometimes isn't aggressive enough. This could just be a bug.. I need to get more insight into how it's working to be able to say for sure.

It's been a lot of work to get this up and running so I don't want to immediately scrap it for a goal and heuristic based approach, but so far I'm disappointed with the performance, even after a few optimization rounds, and I feel like I could get equivalent behavior much cheaper with an expert/goal system.

Hmmmm...

Some windows



I don't really know what's going on here, just futzing around with aesthetic.

Sunday, July 13, 2014

Look Ahead Rabbit Hole

So for a turn based game with indeterminacy, incomplete information, a high branching number, you have a few choices for AI. My fallback has always been "eh make a heuristic and call it good," but I've been reading, and I want to take a stab at doing some actual prediction and min-maxing.

For that, Monte-Carlo Tree Search appears to be the framework of choice. It has used successfully for games like Go that have heavily resisted other computerized techniques. The basic idea is that you pick a move, go a little way down, and then randomly simulate the rest of the game after having made that move. If you win more than you lose, make a note of it. Now pick a new move to test, and strike a balance between exploiting the most promising moves and exploring new moves. Each time, push your simulation a little further into the future, making it more accurate. When you're out of time, pick the best move so far. (Most visits, probably.)

So, that sounds like a good match for Legacy AI: pick a bunch of potential moves, test them out for 2-3 turns in the future, pick the best*. And since you're biased to explore the most promising moves, you make better decisions without having to thoroughly explore the entire possibility tree. One big advantage of this approach is that it requires no expert knowledge of the game domain (though it can benefit from expert-driven heuristics) in order to pick good moves. So as balance progresses, abilities are added and removed and numbers get tuned, the AI should be able to plod along more or less fine. When the game design is fairly stable, then you come back and write some heuristics to make it converge faster.

The rabbit hole is that in order to implement this, I need to be able to simulate the future in a fast and lightweight way. So, I think this means that I need changes that I apply to the game state to be reversible. Yesterday and today I've been ripping out my ChangeHandler and OutcomeProcessor classes to separate the pieces that calculate change from the pieces that actually apply the change. It's been a tricky refactor but I can tell it's making the code better overall. What used to be one big tangled mess is now just 3 unsightly contraptions. Progress.


* I have the feeling "pick the best" is going to be its own rabbit hole; scoring an outcome is not as simple in an asymmetrical game like legacy, because there's not really a binary win/lose condition for the AI, or at least, the AI is not likely to "win" by killing all the heroes and I don't particularly want it to. But in order for the algorithm to work properly some outcomes need to be preferred, so I'll have to figure out how to score playthroughs in a way that causes the MCTS to select "realistic" AI play. Should be fun.

Friday, July 11, 2014

Legacy Logo Progress


I took an evening and banged out a logo concept that will work fine for now. 

We're mostly using the one wit the tower and the green vines, though the one with just the tower works better on busier pieces of art.

Dudes on a Cliff


Filed under "possible backdrop for main menu."

Nate's like, "Except we should have your own characters programmatically populate the cliff!"

And I'm like, "Man, that's why you're the idea guy!"

Thursday, July 10, 2014

Booting up AI

Yesterday I bought this book and read it. It was a good read. I feel almost ready to design some AI now. There's a bit more theory I'd like to refresh on, mostly around min-max searches, which were not really covered since the focus was on real-time decision making, but overall I feel ready to start laying down some ideas. Legacy is going to be impossible to analyze in closed form, due to the branching factors, not to mention randomness, so a chess-like min-max approach isn't really applicable, but I think short term goals like "get in range," "deal damage", "avoid being surrounded" are pretty appropriate.

My overall goal for the mission AI, well, I keep waffling. On one hand it would be best to have creatures that acted like creatures, and on the other hand it would nice to have an opponent that played like a human. It's a PvE or PvP kind of question. Funny, when GMing a tabletop game, I landed squarely in the PvE camp, but playing Descent for a couple of years has altered my outlook.

Descent actually handles the problem in a few ways. The threat mechanic and cards give the overlord to feel powerful in a very mechanically constrained way, and restrictions on monster movement and spawning, combined with the incentive to slow down the player, and naturally expendable monsters, tend to make the monsters feel pretty much like you want them to in a fantasy game: dumb but dangerous.

I guess we'll see where Legacy ends up! I guess my goal is going to be to make the AI as good as I can, but to give it goals and abilities that lead it away from "turtling" and towards an aggressive, "mindless evil" kind of feeling. What that means in practice, I think, is giving it goals like "deal as much damage this turn as you can." and prioritizing that above "survive to next turn."

Tuesday, July 8, 2014

Mouse Lock and FXAA

I solved a riddle today.
This one you need to see at 100% to appreciate. NVIDIA has this tech they call FXAA, which is fairly cool. It does Anti-aliasing on the cheap, and it is apparently turned on by default on my laptop, which means that it has been affecting Legacy this whole time.

The thing about it is, when you apply anti-aliasing to text and ui elements, you get blurry text and ui elements. I finally figured this out today because I sat down and made a mouse cursor, in order to implement mouse lock so I can have edge-panning, which I think will be much more intuitive for most people.

So I made this cursor,
Which is ok maybe a little silly but that's not the point. When I first loaded it in, I noticed it looked blurred, it was not pixel perfect. Turns out it was FXAA. When I turn it off, all of the UI elements suddenly look much better, and of-course all of the in-world elements look a lot worse. But that is something I'm going to have to deal with anyway because app-level FXAA is not available on every card, so I won't be able to rely on it.

I should be able to use it on just the in-world stuff by linking in the shader NVIDIA provides, which ought to be a nice performance boost over straight MSAA, which was what I originally thought I was going to have to do. And mostly I'm happy to finally have crisp clear text.

Ahem and edge panning is in. It feels.. I don't know. I need to play around with the controls more I think. It's usable though and good enough to move on. When I know what to tweak I'll probably revisit it. I'm playing with stats a bit too and iterating on the "Hunt" scenario.

The goal is for 3 farmers to barely but reliably be able to defeat a Boar monster. Right now it's just a little too tough, and I think I need to add in a defensive buff, ala "hunker down" or "dodge," that the farmers can use in order to more safely surround the boar. I want the boar to feel dangerous, and I want the farmers to have enough tactical tools that the puzzle has a solution every time.


Monday, July 7, 2014

Who's Turn

Participants are listed at the top of the screen. The center top area where the end turn button is now changes based on whose turn it is, and the chat log also informs you when your turn starts.

Multiplayerness and Surround Mechanic

Multiplayer is coming into focus. We now have chat (front and back), a lobby (front and back,) automatically updating the game list, reporting connection errors in the chat log, giving a list of who's online..


We also have a "surround" mechanic that James helped me paper prototype. Surround gives -N on defense, where N is 7-Gap, where gap is counted thusly: Take the 8 squares surrounding your figure and look for the longest continuous span that is free of enemy figures. So in the example above, gap would be 3 and surround would give each of those figures +4 on attack. Well it gives the boar -4 on defense which works out to the same thing.

The other mechanic that's in, but not terribly visible from a static shot, is Threatened squares. All those orange outlines represent regions (also new tech over the last few days) that the figures threaten. Moving out of a threatened square costs extra movement. So in combination the idea is that these two mechanics add a lot of texture to combat in the environment: all of a sudden walls are important, because if you're standing next to one you can't be as badly surrounded, but also you can be pinned against one because it is difficult to move past enemy figures.

Right now there's no AI, and the multiplayer mission ui is unhelpful. My goal today is to get the multiplayer ui in shape for playtesting, which means turn notifications and combat log improvements so it's more clear what's going on. From there, I need to plan out how I'd like AI to work, and also I need to polish the combat and the Hunt scenario for playtesting.

Thursday, June 26, 2014

Fonts Again

I'm switching away from Philosopher, because it doesn't look great at small sizes, and has some other irregularities. I've switched the main font to Fontin, which I think preserves the somewhat quirky and handmade feel, while being overall much more readable at small sizes.

Then I'm going a step further and using Fira Sans for the 12-point detail text. These two changes together mean I can show clear text at a much smaller size than before. I feel good about that.

Plenty of other progress to report as well. Ability icons, ability buttons, a combat log, a target detail card, cool character tooltips..

It still looks pretty rough I think but it's getting closer to playable.

Saturday, June 21, 2014

Game Mechanics and Story Mechanics

Something I've been puzzling over is how some games that have counter-intuitive, even "bad" game mechanics can be enduringly fun in spite of it. Here's an example: In old X-COM, you can step off of the Skyranger and immediately get hit with a blaster from an alien you couldn't see, that kills 5 or 6 of your dudes who are all clumped together inside.

That isn't fair, balanced, or fun. And yet, that moment is incredibly memorable to anyone who's experienced it. That moment is almost certain to be shared*, lamented, bitterly called up, again and again. And sure, maybe you immediately reload and try again and get past it, but from then on you know that this can happen. It colors your understanding of the game, and, for X-COM, it fits the theme** of a callously evil, alien menace beautifully. After that, the mission music is more menacing, and turning every corner is a heart-pounding risk.

Limbo achieves this same effect very early, with your first encounter with the spider.

As a gamer, I find these kinds of events fairly obnoxious. "Ok Mr. Game Designer, you got me. har har. now can we get on with the actual game?" I don't think they're good game mechanics, per se. What I'm trying to get at is that, what makes a good story is not necessarily a good game. And although we have a pretty good idea of what makes a good game mechanic, we don't widely understand or agree on what makes an interactive experience good grist for player-driven storytelling.

So that's why I'm looking for another term, which I'm calling Story Mechanics, to explain game systems and game design that encourage storytelling and memorable moments. So, what games tend to collect a lot of stories?

  • Minecraft - how many stories have you heard or told about this barely-a-game?
  • X-COM - the original sacrifices game mechanics in favor of theme at nearly every opportunity, thereby creating a sense of immersion that begs to be shared. Meanwhile its lack of balance encourages really memorable and dramatic abuses of power - by both sides.
  • Dwarf Fortress - brutally difficult and a total slave to theme, plus an absurdly detailed account of every game object, creates fertile ground for stories. Your dwarves are bound to die, and you're bound to tell their stories.
  • FTL - the different ships, systems, and weapons ensure that each playthrough is a unique story that fellow FTL players can grasp in a few words.
  • Skyrim - That time you snuck in the back door and ran the dungeon backwards..
  • World of Warcraft - people live here.
  • League of Legends - each game is practically a morality play.
  • Starcraft - the asymmetric balance and soft and hard counters make stories that are more interesting than previous, more symmetrical games.

And what can we collect from this? One thing I notice is that all of these games give you a high degree of freedom. I suppose that's important because you are less likely to bother to share a moment that everyone who plays the game can get for themselves by playing the game. So that's why, while Portal has a terrific story, and inspires a ton of love, you don't hear so many stories that start "This one time when I was playing Portal.."

None of these games locks you into a single or small handful of pre-designed characters. They all allow you to invest your own identity into the game (the two esports at the end are interesting, I think the player becomes the character in an esport, so this point is less applicable.)

Something else I notice is that each game is accompanied by a large body of optional lore and content. In Skyrim consider the books, in Minecraft you (used to) have to look up recipes on the wiki, the walls of text in FTL, the quests and lore in WoW, etc.. Most players absorb this passively over time as they immerse themselves in the game. In general this content serves to give the player the impression that the game is bigger than what you see on the surface. I suspect that when you buy into that idea, then you want to spend time in that world, and tell stories in that framework.

If I loop back again and think about tabletop games I've played, I can list a few game mechanics that directly encourage storytelling:




  • Stunting in Exalted
  • Character creation and Domain-related abilities in Nobilis
  • Tagging Aspects in Fate, and the whole Fate Point economy.
All these compel the player to justify or storytell in order to gain a mechanical advantage. I don't know if that's very applicable to computer game design, because the goal is somewhat different; you want to enable players to make up stories of their own, rather than compel them to add flavor and narrative to a shared storytelling game that they've already bought into.. But I suspect that the surrounding mechanics are similar; As a GM playing Exalted, you make sure to describe a set that's full of interesting environmental details, so that the players can stunt off of them. So when making a computer game, build interesting environments and systems and allow players to play around with them.

I'm not entirely certain where I'm heading with this idea. Mostly, I want to be on the lookout for mechanics that encourage storytelling. Building on the previous post, I think that a strong character generator is an excellent start. I think that expressive freedom is important. I think that tragedy is important***.

I don't know if good game mechanics and good story mechanics are intrinsically opposed. I do think there's a lot of tension between them that needs to be recognized, and that those choices deserve to be made consciously.


*Seth Hendrickson advised me to make a game that people will want to tell stories of, and share.
**Dave Guskin taught me that in game design, everything serves theme. EVERYTHING.
***god damn creepers!!