2013/03/06

March Forward!

Flare v0.18 is my March One Game A Month goal.

We’ve made tremendous progress in the engine since the last release. Version 18 will represent the final Alpha of the game. Flare v0.19 onward will be Beta for the engine — a freeze on new features so that we can focus on making content and games for Flare 1.0!

Here are the target dates.

  • March 15th: Feature and String Freeze
  • March 30th: Release v0.18

2013/03/01


Book of Lost Lore


Book of Lost Lore screenshot

My February #onegameamonth project is called Book of Lost Lore. It’s a chapter of interactive fiction (much like Choose Your Own Adventure). The story is that of an aspiring adventurer in a dangerous fantasy world.

My main gamedev skills are programming first and 3D modeling second. This project uses neither of those. Instead it’s basically all writing. I’m not great at writing so this was good practice that I’m hoping to put towards Flare.

If you’re out there and aspire to be a game designer/writer but you have no programming or art skills: here’s an example of a game type you can make on your own, right now.

I want to send out special thanks to catch the bear (Matthew Ohlendorf) for allowing the use of his songs from the album “down to sea in ships”. I’ve been listening to his work often this month and it only felt right to put his music directly into the book.

2013/02/19


Flare article at LinuxExpres

I found this great article about Flare by Pavel Petřík at LinuxExpres (Czech). It’s a surprisingly in-depth look at an earlier version of Flare. If you’ve discovered Flare through this article, welcome!

Alpha work

We’re still working on v0.18 data and features. I think we’ll find a cut-off point soon and announce a potential release date. It will be the final “alpha” version of the game. After that we’ll be in internal Beta.

Henrik has added a SoundManager class to Flare. This helps us streamline all sound effect loading/playing internally, and forces more consistency on data files. Next on that front we’ll be sifting through the code for “hardcoded” sound effects and moving those to config files.

I’ve been working on models for some new Artifact trinkets. These will be animal carvings that grant +1 bonus to a core attribute.

  • Bear Figurine +1 Physical (represents strength)
  • Owl Figurine +1 Mental (represents intelligence)
  • Cat Figurine +1 Offense (represents agility)
  • Turtle Figurine +1 Defense

Here’s a peek at the work-in-progress artifacts:

Bear figurine
Owl figurine

A small data change I did today is providing a purpose for gems. Now gems retain 100% of their value when selling. The gems represent denominations of gold: Sapphire 100g, Emerald 200g, Ruby 500g, Diamond 1000g. I’ve placed one of each gem on Kenrik the trader in the main town. Now players can buy gems as a way to save money to the Shared Stash (and prevent extra gold loss upon death).

2013/02/18


Polymorphable wins a prize for the Liberated Pixel Cup!

Congrats to the Polymorphable crew for taking home the Secondary Prize for Teams in the Liberated Pixel Cup!


Screenshot of Polymorphable

From the LPC results announcement:

Last but not least is our secondary prize for teams. Laurelia’s Polymorphable Citizens comes in as an impressive single-player RPG. The game makes use of a modified version of the FLARE engine (if you haven’t seen FLARE, well you should, because it’s an incredibly impressive project… really great if you like dungeon crawlers). The game doesn’t play like FLARE though; for one thing, instead of being an isometric game like FLARE, it has all the Liberated Pixel Cup look to it. And it works great! The game has a good story and some neat features. And as the title suggests, the game makes interesting use of a lot of transformation: in order to succeed in your task, you have to switch between the powers of various creatures!

It’s an interesting game, and has a good sense of story and adventure, and cool to see the FLARE engine being put to different use. Check it out!

Wow! High praise for Polymorphable and for Flare as an engine. Congrats to Matthew Krohn and Thane Brimhall who created Polymorphable for the LPC. And additional thanks to these guys for all they’ve done to improve the core engine.

2013/02/07

Using item flavor to tell stories

In text adventure games of yore, game designers couldn’t rely on images to communicate each item to the player. Instead it was common to Inspect an item to get a textual description of it.

In fantasy there’s a common trope of mystical magic items with hidden names or powers. In The Hobbit, Elrond recognized the Elvish weapons Orcrist, Glamdring, and Sting and explains the stories and powers behind them. In Diablo, the mage Deckard Cane identifies magic items for the hero. In D&D there is a traditional magic spell that can reveal the properties of enchanted items.

This combination of game mechanic and fantasy tradition is still evident in games today. Many fantasy games include a “Flavor” description of objects or powers. By “Flavor” I mean text that is about story and color, not about specific game mechanics. We see this distinction clearly in Magic: The Gathering where flavor text on cards is in italics to denote that it isn’t part of the card’s actual game rules.

In video games, sometimes these descriptions merely detail the item itself — physical details that aren’t obvious from the icon or 3D model, or a more creative explanation of its in-game function. But creative game writers use item descriptions to tell more about the game world. Items can refer their areas of origin, or to a famous former owner, or to an historical event.

The recent games Demon’s Souls and Dark Souls use item descriptions masterfully. These games have very little exposition and dialog but still manage to convey rich, deep worlds. Items actually tell much of the story; their flavor texts hint at the larger world that can’t be seen. This is especially effective in Action RPGs where a player doesn’t need to be bogged down by heavy dialog or told a long story. Curious players who crave story can read all the item descriptions and discover (or infer) the larger game world at their own pace.

I’ve been so influenced by the Souls games that I want to do the same for Flare. I’m doing it in a backwards (I think) way though. I’m not a writer; I don’t have a volume of creative notes about the world that Flare takes place in. Instead I’m creating item descriptions that I feel are resonant, and sort of building/discovering the world as I go.

Because I’m not a writer this task is turning out to be far more challenging than I expected. Good flavor text needs to be concise — one or two lines at the most. It should lend the feeling to the game world, so I’m trying to avoid overt pop culture references or too much breaking of the 4th wall (though other games with different tones can and do include those things). Finally I need to mind the fine line between pretentious and boring. But my goal is to have every item tell a tiny story.

Items in progress

Last Rites
Effect: this weapon deals double damage to Undead
Flavor: When the Warpriests of Sceleris began their mercy killings, they used these morning stars on the most faithful parishioners first.

This was the first item I created in this new style. Here the item hints at a historical event in the game world — some undead outbreak. I particuarly like this text because of the oxymoronic nature of the terms: “war priest”, “mercy killings”, etc. It heavily implies the event was not a clear cut “good”. Holy men butchering villagers to stave off an undead plague is a moral quagmire.

It may be that such an event is cliche. I’m reminded of Arthas’ purging of Stratholme in Warcraft lore. But we’re not forcing the player to dwell on the event — just giving them a taste and letting them fill out the details themselves.

Originally I used the phrase “Warpriests of Sceleria”. I changed it after making the next item, as you’ll see.

Thief Gloves
Effect: you loot more gold from defeated enemies
Flavor: “In Lower Sceleris there is honor among thieves. Everyone else is a mark.

There’s no set place in the game named Sceleris, not yet anyway. This just implies somewhere in the game’s world there is such a place, and it is probably a hive of scum and villainy.

When naming “Lower Sceleris” I needed a fantasy name that sounded like a dangerous area or city. I started with “Sceleria” only because it had an interesting fantasy sound. By luck I found out that the similar form “Sceleris” is actually a Latin word that has something to do with crime or villainy. The player probably won’t know that, but it’s a nice touch of flavor. Adding “Lower” pushes the idea that it’s a lesser or poorer part of town.

I like the flavor implication that there may be a Thieves’ Guild operating in Sceleris. Action RPGs aren’t usually the kind of game that needs political intrigue or guilds, but it makes an interesting backdrop nonetheless. It also makes an easy opening for quest lines or NPCs later.

Boots of Speed
Effect: you run faster
Flavor: These enchanted boots are prized possessions of Courier guildsmen.

I must have been intrigued by the idea of guilds, because I outright named one in the next item. A Courier guild is great in a dangerous fantasy world. Or at minimum it gives some grounding to fetch/delivery quests that are easy to implement.

I had been playing with the phrase “prized possession” when writing up several items and decided I needed a good spot to use it. It makes a lot of sense here — running quickly means you can avoid danger and deliver items more efficiently.

This also opens up easy places to award the treasure — slap it on a dead body along with some other package. Now there’s a story in the environment instead of explained in words. And perhaps the hero can take the package to its destination.

Ashwood Wand
Effect: small bonus to magical power
Flavor: The secrets to harvesting Yggdrasil twigs are known only to traitorous dryads.

This item didn’t need to be some majestic artifact; just a nice “my first magical equipment” for mage characters.

This flavor continues my theme of favoring dark and twisted stories. I enjoy the idea that evil tree spirits are trading away parts of the World Tree for personal gain. Every twisted reference we drop into the game adds to the setting and atmosphere.

The Yggdrasil is a Norse reference, but I think it’s obscure enough to pass here. I was concerned whether people too familiar with Norse mythology would find the reference silly. But fantasy already borrows so heavily from old mythology that it’s probably fine. If it really bugs me later I can just rename the tree.

Lawman’s Sidearm
Effect: small bonus to melee combat
Flavor: The workmanship on this blade appears hurried, as if forged under the fever of vigilance.

Here’s an item description that mainly details the history of this single item. Some lawful person, or possibly a vigilante, crafted this weapon to fight the chaos. It doesn’t say whether it was used in self defense, or as a makeshift badge, or to slay criminals, or to fight some abstract cause. Any of those options are possible and that makes the item interesting.

The name of this item is almost anachronistic — sounds more like an Old West revolver than a dagger. But I like that feeling; I want the settings of the game to almost feel like the frontier West. In future games based on Flare I plan to experiment with more overt anachronistic stories.

Strategies

I’m mainly writing out this blog to meta-think about the strategies I’m using to come up with flavor texts. Here are some options I’m seeing just in these first few items, plus a few more thrown in that I want to use later.

  • Reference to a historical event
  • Reference to a historical person or previous owner
  • Reference to location (region, city)
  • Reference to factions or organizations
  • Physical or usage detail of the item
  • History of how the item was made
  • Foreshadowing?
  • Set up a quest or game event?

Hopefully this out-loud thought process is helpful or insightful to someone else. I’m trying to get better at various facets of game design and writing definitely isn’t my strong suit. Side note, I’m considering creating a text-heavy One Game A Month entry for February for more practice.

2013/01/31


Bicycle game

Bicycle – One Game A Month project for January

It’s the end of January and I’ve finished up my first One Game A Month project. After slashing and postponing many features I’ve settled on a simple toy that I rather enjoy.

Bicycle is a simple game about riding a bike. I recreated a simplified, stylized version of the neighborhood I grew up in. There are no real goals to the game besides the ones you set for yourself. Just ride around, do laps, take shortcuts, time yourself, or explore.

Part of the motivation behind creating this project was to continue building simple reusable tools in HTML5 + Javascript. I don’t think a game as complex as Flare will make sense as a browser game any time soon (hundreds of MB of assets, performance issues, etc). But there’s something to be said about having a way to quickly prototype and share online.

2013/01/24

Two very different shooters

WARNING: SPOILERS

Part of telling a good story is knowing what stories have already been told. I don’t play as many games as I did in my youth, and back then I didn’t have a critical eye towards analyzing game stories. I’m trying to fix that by playing more games and write my thoughts about them.

I finished two games recently that have basically opposite reactions to shooting people: Saints Row the Third and Spec Ops: The Line.

Before going in, some background: I very rarely play shooter games. Before these games, probably the last one I finished was Borderlands 1. Before that maybe Ghost Recon, about ten years ago. So I’m terrible at shooting games. In both Saints Row and Spec Ops I turned the difficulty down to the easiest level.

Lately my tolerance for game violence has been getting lower. I purposefully don’t include human enemies in Flare and I’m even uneasy about sentient neutral creatures like Goblins and Minotaurs. It’s just easier to swallow violent gameplay when it’s against hordes of undead or demons instead of wiping out entire tribes of regular dudes. So I was curious to see how I’d react to the gunplay in these games.

This is also in the wake of the Connecticut Shooting and endless online debate about the affects of guns and video games. I don’t have much to say on these larger issues, just noting that they do temper my reactions to these games in some way.

Spec Ops: The Line

Immediately after finishing this one I devoured Killing is Harmless – A Critical Reading of Spec Ops: The LIne. And then I had several uneasy days while this game knocked around my head.

Right from the beginning I felt a bit out of place. I’m already not at ease shooting people, so I started questioning everything that was happening the first time I had to use my rifle. I had an idea of the story and questions the game was setting up though, so I forced myself to play through the game — even though the game outright asks the player why they continue to play.

I’m especially intrigued by Brendan Keogh’s analysis of how these games usually make us “other” the enemy. Because they’re usually not American/Western, they’re automatically outside our Monkeysphere. To introduce US soldiers as the main enemy was jarring and made the game even harder to play. Then the later reveals that these soldiers were only trying to help really stabs at the heart.

I also really like the themes of interventionism here. Three separate groups — the 33rd, the CIA, and the Deltas — all show up to Dubai trying to help. But the game shows us in a vivid way: showing up with guns to create order isn’t going to be a simple solution. It’s an effective way for a video game to convey a fictionalized version of what actually happens “out there”.

The contrast between Dubai’s rich architecture and interiors and the brutal desert and gunplay is stark. It’s an interesting thought that civilization is always teetering on the brink of collapse. It also plays on the concept that capitalism isn’t some magic cure that makes places automatically good.

The transformation of the main character is handled incredibly. By the end of the game the “hero” looks and speaks like a monster. Keogh notes that at that point he’s on the same level as other game heroes e.g. in Gears of War — brutish and bloodthirsty. Games like to assume that a character can be so horrific and still be heroic; it’s honestly great to see Spec Ops take a darker and more serious tone.

Saints Row the Third

On the complete opposite end there’s Saints Row. It’s a lot like Grand Theft Auto but takes itself much less seriously (which works in its favor).

In this game you play the leader of a group of international superstar criminals — complete with clothing lines and energy drink commercials. There’s essentially no consequence for mowing down pedestrians; sometimes the characters even applaud you for it. But the game is so completely over the top, so unabashedly violent and flashy, that none of the violence can be taken seriously. None of the deaths here felt anything like the ones in Spec Ops.

The game welcomes violence so much that it’s actually tricky to play the game safely. I opted for a main car that was on the slow and safe end because I never felt comfortable just thrashing through the streets over people an cars and lamp posts.

I ended up spending a lot of my time on character creation and wardrobe options. I’ve been doing 3D armor in separate equipment slots in Flare so it was interesting examining the methods they use here. I like the variety of clothing options even though it served no practical gameplay purpose. I may experiment with Flare games in the future where armor is more about style and less about defensive values.

Most of the story was over-the-top and kinda fun. I thought the voice acting of the main crew was great. There’s this incredibly good character-building moment where you’re just driving to the other side of the city and the two main characters are singing along with the radio. Completely unnecessary but an interesting break between ridiculous violence; it served to almost humanize the characters. It reminded me of the “Royale with Cheese” scene in Pulp Fiction.

I thought the ending was handled especially well and ended up being more thought-provoking than expected. You’re given a choice to save a friend on one end of the city or get revenge against one of the main bad guys at the other end. I chose to save the friend which gives kind of a happy, playful ending — the two remaining big bad guys leave and the Saints go back to being entertainers. I watched the other ending on YouTube. There you’re given the chance to kill both big bad guys. It’s a very violent, vengeful, serious ending but requires the player to let friends die. The vast differences in the tones of these endings — silly and peaceful vs. vengeful and bloody — says something interesting about the players on both sides.

Either way, by the end I was getting headshot streaks and not batting an eye. Not sure what that says about me. I think I will take a break from shooters for a while.

2013/01/16

Designing Content

Often I’m brainstorming about the high level content of Flare — especially the basic story that will tie the game together. I recognize that Flare isn’t going to be heavily story driven. It’s an Action RPG after all, without even the conveniences of e.g. dialog choices. Spinning a valid story first then plugging in dungeon romp gameplay isn’t as easy as I first thought.

I’m starting to think about the content in a different way. We’ve created a lot of core assets and features to make a game, and it would be really great if we could give all of those assets and features a time to shine. This feels like a bottom-up approach to content design — look at the small pieces available and think of ways to combine and showcase them. This way of thinking is probably common for puzzle games where it’s good to exhaust the unique ways each element can be used. But can this approach be used to make an Action RPG?

  • Tile Sets — for each tile set, consider unique-feeling thematic areas that can be created from the base tiles. Focus on creating distinct shapes per map and vary the mix of tiles used in each. It’s important to add landmarks so maps are memorable. Interesting maps will give us strong ideas about world flow and enemy placement.
  • Enemies — for each base enemy type, consider all of the common fantasy variations of that creature. Also consider how powers and stats can combine to create unique enemies that serve a specific battle role. Interesting enemies could have entire maps, quests, and items created around them.
  • Items — for each item, consider how it should be acquired. Bought from a regular vendor or some remote craftsman? Reward for killing some fiend, exploring a side area, or completing a quest? Great items may give us ideas on new quests or bosses.
  • Stats — for each bonus stat, consider a place for it to shine (and to be weak). Prominent example: make sure we have extensive areas where elemental resistance is all but required to survive.

2013/01/14

Flare alpha vs. beta

Flare’s engine is close to the feature-completeness line. The features we worked on for v0.18 affected flare-game in a few fundamental ways:

  • Changed from 4 to 10 equipment slots
  • Changed from highly random items to a smaller, more memorable item list
  • Adding more armor slots means more absorb, so damage and health has to increase across the board
  • With items no longer being mostly random, items need to be specifically placed on enemies, in loot containers, or on vendors.

Some of the core decisions about a game’s flow depend on these changes. Right now flare-game’s alpha demo is obsolete. It might be possible to rework those old maps and retrofit all the new data into them, but it would be a significant amount of work for that alpha demo’s final release.

Meanwhile the engine code for v0.18 is essentially ready. It could use more testing with real content/data but the major features are implemented. v0.18 is also the last scheduled Alpha Release. v0.19 will include the remaining features we want for Beta and for 1.0.

If v0.18 is the last alpha release, it does make sense if we update the alpha_demo one final time. Here’s what we’d need to do:

  • Set new damage and absorb on all new items
  • Set new damage and health on all creatures
  • Place all new items in the game (on creatures, containers, or vendors)
  • Update all containers to open-once logic
  • Add item descriptions to many new items (if possible)
  • Playtest a lot. All these new numbers won’t magically balance, they’ll need several iterations.

The alternative would be to just create new content, which would later be candidates for final release content. One reason this may make more sense is that the flow of the game content is much more important when it’s not driven by random items. As an example: we’d want early quests to reward items that are useful to low level players (magic swords/staffs/bows). We’d want to place interesting optional items in side quest areas. It’s easier to do that deliberately when creating maps instead of trying to retrofit them into the old maps.

Either way a full game release on the v0.18 engine is a ways away due to the amount of content work needed. Here’s one decision I’m not sure about: should I tag the engine as v0.18 so that we can keep working on the next features? I’d say yes, except there are specific expectations from downstream repos. Many flavors of linux are packaging flare-engine and flare-data separately. If we just update flare-engine it actually won’t work well with the old data. If we don’t really want the v0.18 code to be released yet, it makes sense if we hold off on tagging it.

What I may do is move the goalpost slightly for v0.18, so the code can continue while we work on release content. The main feature left for Flare 1.0 is cutscene support, and I think it’s something we can implement now. I’ve commissioned Flare artist Justin Nichol to work on some digital paintings that will serve as intro cutscenes for the Flare world. The cutscene system will likely also be used for displaying in-game credits.

So I have a lot of content to hammer out no matter what route I choose. Should I create the beginning of a new adventure, with maps designed for the new itemization? Or should I clean up the old demo and get something out a bit sooner, but perhaps messier?

2013/01/03

One Game A Month 2013

I am participating in One Game A Month (along with a ton of other devs) during 2013. Flare will still be my main focus, and some of the games I make will use Flare.

I’ve been having some decent ideas lately, plus some that have been on the to-do list for a long time. I can’t sleep so I’m writing these down. I want to share my first solid game idea:

Don’t Ride Your Bike On The Highway

When learning to ride a bike growing up, there were a series of rules I had to follow. Early on (tricycle days) it was: don’t go on the road. Then when I first got a real bicycle I had to stay between the two nearest light poles. Finally I was allowed to roam the neighborhood as long as I didn’t take my bike on the highway.

During those days my brothers and I rode around the neighborhood nonstop. We had to be back home before dark, and night officially started when the power lights came on. During that near-dusk hour we would visit as many friends as possible. Often we would trade (borrow temporarily) toys with other kids, or return toys previously borrowed. I want to relive those days. One of my games this year will be riding a bicycle around the neighborhood I grew up in.

Milestone 1 of the game will be getting the bicycle movement working right. I’ll probably use arrowkeys or WASD to do full bicycle movement: up/W to pedal once, down/S to brake, A/left to veer left, D/right to veer right. The camera will stay fixed, so it will kind of be awkward to steer — hopefully emulating the feeling of first learning how to ride. Throw in some simple sound effects and I think this could feel really solid.

Milestone 2 of the game would be drawing the map and adding basic collision. It’ll probably be simple and tile-based. I will recreate my basic neighborhood, but a bit simplified and stylized. At this point it should be simple fun to cruise around a map on bicycle, and maybe that will be game enough.

Milestone 3 would add a Punish Meter, and would really give the game its namesake. There will be zones where you are not supposed to ride a bike, especially along the highway. But also: not in other people’s yards, not near cars or houses, etc. Riding somewhere that you’re not supposed to be makes the Punish meter fill up. Crashing a bike (into a ditch, or street sign, or parked car, or house, etc) will raise the Punish meter significantly. Riding the bike after dark is also forbidden (start racing home once you see the power lights turn on!). Maybe the game ends when you fill up your punish meter, or maybe you’ll just get an earful when you finally do get back home.

Milestone 4, something I may do post-release or as a follow-up game if the above is fun, is adding the toy-trading system. Part of the goal while you’re out will be to stop at houses that have kids your age and try to trade toys with them. You take 3 toys from your Toy Box before leaving the house (starting the level), which are randomized. Some toys may be more desirable than others — more kids want the NES cartridge than the bag of marbles. Trade for better toys to get more points. Also don’t forget who you borrowed certain toys from, because you have to return them next stage.

This is all terribly self-indulgent, I know. But it’s going to be fun to me. Hopefully someone else will relate.