A Very Short Summary of May

Well, May has come and gone, which is sadly to say that I missed the regular deadline for Indiecade.  In my young naive eyes however, hope springs eternal; the late entry deadline extends to the end of June, so I’m not out for the count.  Plans haven’t really changed, they’ve just gotten a bit…bumpy.

There is, I have to admit, still quite a lot of work left to be done, and I fell quite short of my optimistic estimates.    But the deadline did keep me honest, and I managed to accomplish a lot.  The character art is coming around the home stretch, the tilesets for mapping the game environment are done, I’ve cut into the writing, the AI pathfinding/movement has been smoothed out…and I’ve finished implementing another important aspect to the game that I haven’t really talked about yet.  It’s a bit hard to describe in short, but it was a major goal that I’m happy to have behind me.

There’s a lot more to say and quite a bit to show, but for now I’ll end by just laying out some tile art, which is used to generate the rooms in the game.  It’s not the flashiest kind of art asset to show off by itself, so I’m just dumping a lot of it at once to make up for that.  The image isn’t exhaustive, that is to say there are a couple tilesets not shown that will be in the game, but this is more than enough to get the idea across!

Tilesets

The afterlife gets a facelift!

Today I’d like to show the art behind one of the characters in Why Am I Dead 2, and use it as a bit of an example for what can be expected in the sequel’s art.

Meet one of ten major characters in the game, Alton.

RevisedAlton

As you can see, I’m sticking with the Earthbound-esque style of the previous game, which means bright colors, strong outlines, and simple shapes.  However, I will be putting much more attention to detail in each sprite, making presentation better all around.  This particular sprite above is the result of many iterations, and a lot of time spent learning more about pixel art.  I’m generally not so concerned about visuals, but I really want to cram as much personality into each sprite, since the game is so character-centric.

But the part I take most pride in is the considerable improvements that all animations will have.  In the first game, every walk animation had four frames, but with the huge caveat that two of them were just the regular idle frame.  Doing that saved a lot of time, but it’s poor form and looks really shoddy.  To demonstrate, let’s revisit the character Cricket from the first Why Am I Dead.

CricketFrontx2CricketLeftx2CricketBackx2
CricketRightx2

These animations served their purpose at the time, but would be a huge limitation going forward.  You can probably notice that the legs come together and apart in an unrealistic way, which is the cost of recycling frames — and overall it’s a bit choppy.  All of the new animations, however, will use six frames rather than four, and all of them will be unique, and they will have full-body animations, not just moving hands and feet.

AltonFrontx2AltonLeftx2AltonBackx2AltonRightx2

(There will also be some bonus animations that I shall not be posting yet, but which will be in game!)

The one thing that the previous game did have going for it was that all of the animations were done ground-up for each character; I never used character templates to speed things up, which means that every character had a different walk, as choppy as it was.  Quite a few people pointed this out, as it gave each character a different feel, and brought out their personality more — some ran, some hobbled, some sauntered.  Well, that is a practice that I fully plan to continue for the sequel, as time-consuming as it is.  So, expect to see more characters in the future, each with their own strut!

An Update List on Why Am I Dead 2

I was hoping to have an update sooner than this, but programming goes at its own pace and no one else’s.  This should be the first, and last, major WAID2 update that lacks any visual or audible component, as I’m wrapping up the nuts-and-bolts development and moving into art and writing.

I’ve been on the fence regarding how early I actually start uploading material from the game.  I’ve decided recently that I’d rather hold off until I’ve moved past art/writing/assets that are “work in progress” (or worse, place-holders!) before I do so — any benefits of a greater sense of progress for me are outbalanced by the risk of making a poor first impression.

So, sadly, you’ll just have to take my word that all of the following have been done:

  • Completely rebuilt how dialogue is handled, which means…
    • Writing dialogue is way easier for me to write, and for others to read (hopefully)
    • Looping dialogue; before, all dialogue options inevitably led to an end.  Now some options can loop back around to previous parts of the conversation; convenient for menus or for revisiting information.
    • In-dialogue variables (eg. <player> tag in script will be replaced with whichever character the player is controlling)
  • Save / Load Function!  This would have been useful in the first game, but is a necessity for the second!
  • Game “props” (such as doors, tables, beds, etc)  have some extra attributes…
    • They can initiate dialogue when you try to talk to them, as sort of an “examine” function
    • They store information about which character can “use” them.  For example, some doors will be locked for certain characters, and open for other characters (who presumably have a key).
    • Some props will have different dialogue results for different characters.  One character might be bored by an object, and one might find it of great personal significance.
  • New possession ability mentioned earlier: some characters can be “fully possessed”, which allows you to talk as the Ghost through their body, opening up different sets of dialogues and effects!
  • Completely rebuilt how collision detection is handled, which allows for both smoother and more efficient movement.
  • Finished character AI, adding safeguards that should drastically reduce unwanted emergent behavior.

I think that’s all the major stuff, though there were some minor background changes that are much more boring.  Sorry this update is so colorless, but I wanted to get it out anyway.

WAID2 Design Peek #2: Possession and Narrative Voice

One of the biggest questions I had for WAID’s sequel was how I would handle the game’s possession mechanic.  That mechanic was really the whole point behind the first game, and remains so for the second.  I have to revisit it, address any issues that came up, and try to put a new spin on it as I move forward.  Aside from production value, it’s the one area that has the most potential for improvement, because everything else in the game will pivot around it.

Normally in video-games there is a subtle conflict between the narrative voice of the protagonist and the player.  That is to say, who is actually talking or acting — the protagonist of the story, or the person controlling them?  They are often mutually exclusive; the more dialogue that a protagonist is given, the less voice the player feels they have.  This is why so many video game heros are so infamously silent: any dialogue from the protagonist runs the risk of alienating the player and separating him or her from the game.

Case in point.
An extreme example.

This conflict reaches some degree of synthesis in many western RPGs, where the player actively creates their own protagonist and chooses his or her actions and dialogue throughout the game.  It still remains a concern, however, when the restrictions of the overall plot must curtail the player’s freedom to define their own protagonist.

In Why Am I Dead 1&2, you are not a person controlling a character, however.  You are a person controlling a character who is in turn controlling another character.  Therefore there are actually three voices in potential conflict, and in my case none of them should be pushed to the side completely:

  • The player’s voice —  What is the actual player’s goal?  What do they want to do?
  • The ghost’s voice — The dead person’s ghost (ie the real protagonist) is implied to have some remaining autonomy.
  • The possessee’s voice — That the possessee’s motivations are heard is not necessary in ghost folklore, but it is imperative for design.

In the case of the first game I leaned hard onto the side of the possessee’s voice.  It was simpler, and showed off what I felt made the game unique.  The player could choose what lines of dialogue to pursue, and the ghost could possess and move people around, but the actual words and actions that carried the story through were those of the characters who were ‘possessed’.  As a result, some people expressed disappointment or confusion that although the ghost was such a huge part of the story, it didn’t exert any influence on the course of events.  Likewise, some people were unsatisfied that they had to help the ghost, who turned out to have been an unpleasant person when he was alive.

The only difference being I don't even pretend you have this level of freedom.  From popmatters.com
I don’t even pretend you have this level of freedom.  Edited screen from KotOR from popmatters.com

To be clear, I’m very happy with how the format of the original WAID worked out — the possessed characters being able to speak was really powerful, and allowed for over 70 unique dialogues in the game.  Without their voices, it would have been around 10.  You are given the space to explore the characters in much greater detail than if they were overshadowed by the ghost’s voice, and I don’t have any plans of tearing that apart.  What I will be doing, rather, is adding different elements to the game around that base, which either portray the thoughts of the ghost, or allow the ghost and/or the player to influence the way the story goes.

This all means:

  1. There will be two ‘stages’ to possessing someone.  The first is when the ghost does not fully understand a character’s motivations or feeling, and thus cannot completely take control of their body — this results in the same mechanics as the original game, where the possessed character is really the one talking/doing things, and the ghost is just a silent nudging force.  The second stage allows the ghost to fully take over the person, meaning that the ghost itself will be deciding what to say and do.  It must still act within the limitations of its host, however (if you possess an animal, you cannot speak English!).
  2. A more detailed back-story to the dead person.  Of course, in a longer game everyone will have longer back-stories, but the dead person will have a greater share of the story’s overall focus.
  3. Points in the game where you can influence the relationships of the characters and the story itself.  This means more multiple endings!  I’m not going crazy with this, it isn’t going to be a Choose Your Own Adventure game–it will still play out mostly linear.  However, suffice it to say that you will have more control over how everything plays out.

I believe that about covers it.  The implications of these design calls will be explored as development proceeds.  Otherwise, development is going rather smoothly, and I hope to get some art up soon.  Maybe a quick demo video as well.

WAID2 Design Peek #1: Character AI

Things have been a bit crazy, and I unfortunately haven’t been in a position where I can work on my game full-time.  Without going into detail, my hope is that in a month or just over a month I’ll be settled down and can have a routine.  The problem has been as much a lack of free time as it has been a lack of consistent environment; it’s really hard for me to treat development seriously when I’m not in one place long enough to develop a routine.

But I’ve been chipping away at it as much as I can.  Though I don’t feel comfortable at this point showing the progress I’ve made, I can at least talk about it.  For each new post, I’ll give a compact description of something I’ve done or am doing, and more importantly, what I think it will add to the game.

For this update, it’s character AI.

Why Am I Dead occupies a weird space in design.  It plays out like a mystery-adventure, but uses the mechanics of RPGs for interaction.  Because of the former influence, the game will take place in a very confined area that the player becomes intimately familiar with.  Because of the latter influence, all objects and characters must be visible whenever you’re in their vicinity (unlike in adventure games such as Hotel Dusk, where characters often pop in and out only when the story demands it).

For a longer sequel to Why Am I Dead, this means you’ll be seeing the same rooms and the same people a lot.  You’ll get a feel for the whole space.  Partially in order to avoid the feeling of claustrophobia, and partially to create the impression that you’re in a livable environment, I decided that the characters would have to be very proactive regarding where they are at any given moment.

That is to say, having completely static characters that only move when you control them won’t cut it for a larger cast and a longer game.  The characters will all have to move on their own, and not in the way they do for RPGs (randomly and aimlessly); they will move around the ship in routines, and even when you aren’t present.  During different parts of the story, they’ll be in different areas depending on what’s going on.

On the plus side, this means:

  1. Characters won’t be stuck in weird poses for the whole game.  It would break immersion if several days pass in the story but you find that two characters were apparently staring at each other the whole time, because that was how they were when you left them. 
  2. The setting is more convincing.  Towards the beginning of one story day, maybe people are getting breakfast in the diner.  Towards the end, most are probably back in their rooms.  Maybe someone is taking in the night sky outside.  You don’t just see spaces, you see them being used.
  3. More opportunities for character insight.  Mannerisms can be added to characters’ movements; frenetic pacing when a character is stressed, for instance.  It might also say something if a characters is just inside their room all the time, or if they’re always walking around everywhere.

And on the negative side:

  1. LOGISTICS.  Adding these features is relatively easy, and already works for the most part.  Getting them to work as intended will take time.  I imagine traffic jams in hallways and people dry-humping each other all over the place for a while.
  2. If I overdo it, finding a character that you want to possess could be frustrating.  This is a matter of making characters’ movements intuitive and scaled to how much you’ll probably need to control them at the point you’re in.  Given the relatively small environment though, this shouldn’t be a huge issue.
  3. If I underdo it, I could hit an uncanny valley of AI, a la The Truman Show.

Like I said, this is already mostly implemented, as it was one of the first things I started working on.  Getting it to work smoothly will be a challenge, but I think it will add a tremendous amount of personality to the game.

Fail Fast…And I Forget The Rest

Just a quick post about my Ludum Dare 25 experience.  The theme this round was “You are the villain”, which pleasantly surprised me, since I was almost positive people would vote in “End of the World”, given the timing.

I really started to fall in love with my interpretation of the theme.
I really started to fall in love with my interpretation of the theme.

I can say, at least, that I came up with a solid game idea and implemented it in the space of 48 hours.  Unfortunately, as with last time, I don’t think that I can say I created a fun game in the space of 48 hours.  In this case, I created a text-based game that was too open-ended and didn’t have a strong enough text-parser to accept nearly enough player input.  The result was a game that basically asked you to guess a small set of key-phrases to proceed, and threw back most everything else with a standard “…I don’t understand.”

You can play the game here, if you at least want to know what I’m talking about below.

This was partially the result of an over-ambitious subversion of typical text-adventure design, as well as a failure to get any play-testing in before the deadline.  The typical text-based game involves issuing commands to the player involving physical objects.  The commands that are acceptable nearly always have to do with those objects that the designer introduces.  For instance, if the text game puts you in a room with a door, the designer may reasonably conclude that the player will try to interact with the door, in which case there are a small set of commands that can be anticipated.

In my game, you do not issue commands; you simply make statements, and with very little context.  The breadth of different inputs that can (and did) come to the players’ minds obviously dwarfed what I could predict by my lonesome, and as a result, the game was unfortunately more frustrating than fun.

Some of the very few commands that my game actually DID react to.
Some of the very few commands that my game actually DID react to.

The one nice thing about all of this, though, and the reason behind this post’s title, is that I got to botch this idea in only 48 hours, when I could easily imagine myself taking weeks to botch it.  I would have spent time creating all sorts of different levels for the game and different endings to the levels, and way more graphics, but would have still completely overestimated my ability to create a text-parser flexible and broad enough to be fun to interact with.

If I continue working on this, I’ll be able to go at it from a totally different and way more productive perspective, and I think the result will be far better.

A Quick Retrospective on Whatever Just Happened

I think I’m far away enough, now, and have gotten most of the changes to the game done, that I can talk just a bit about Why Am I Dead in a post-mortem kind of way.

To condense it all down to one sentence, I think my main takeaway from Why Am I Dead is that changing a game’s scope and time-line in mid-development can have some negative drawbacks in the long-term.

The importance of having a good plan.

What do I mean by that?  Well, let me start by saying this: Why Am I Dead was an idea that I came up with in order to motivate myself to get my feet wet in Actionscript 3.  To repeat myself, and just to be really clear: this was a game that I meant to make as practice.  I took a couple days to think up the idea, I figured I’d code an engine very quickly that demonstrated the idea, I’d put it online and then move on to my first ‘real’ Flash game.

Obviously it didn’t turn out that way.  The game’s timeline went from one week to roughly three months.  During that span I repeatedly made off-the-cuff decisions to spend more time on this thing or that thing, and then to try and actually market my game, and so on.  Of course, had I not made those decisions, the game would be virtually unplayable in its final state; but it also created the sense in my mind that I was taking far too long with the game.  I had not mentally prepared myself to be working on the project for that long, and so I started to feel serious burn-out, and as if my game would never be finished…even though over all I still didn’t end up taking that long developing it.

Last 10% is actually 90%, etc etc

I know, I know.  Burn out, on a three-month long project?  What kind of sissy am I?  But, again, because I started out thinking the game would take a week or, at worst, two weeks, it was hard to convince myself to keep going and see the project through to the end.

Here’s one particular manifestation of why this was a bad thing.  Since I had intended mainly to make a game engine that demonstrated a neat idea I had, I considered things “finished” when I, well, completed the game engine.  But then there were numerous times, usually due to scripted events for the story, that I had to add some functionality that I hadn’t anticipated.  Since in my mind I was ‘done’, rather than take the time to implement it in a general/safe way, I threw on some duct-tape.  With my limited play-testing, there was no way this wasn’t going to blow up in my face.

The result of this half-hearted approach was very apparent when it hit the major flash portals.  I had raised the bar for the game in all aspects except for polish and QA, and so the release was quite rough, and unfortunately not the best display of my programming chops.

This wasn’t really a case of being unrealistic in regards to how long it would take to finish my game. This was a case of changing what game I wanted to make, halfway through making it.  So, for my next project, I will have a particular goal for my game in regards to its functionality and overall polish, and I will do the best I can to stick to that goal.

Of course, overall, I’m ecstatic regarding the reception of Why Am I Dead, even though there’s plenty of room for progress.  I never ever ever ever ever expected a Flash game that was this text-heavy to get so much attention, and I definitely did not anticipate people to interact with the story as much as they did.

So, what’s next?  The idea of a sequel is extremely tempting, especially given how many people commented that the game mechanic would work better as a longer and deeper experience (which is exactly what I’d love to make!).  So, while it’s still a bit too soon to say for sure, a “Why Am I Dead 2” is very plausible.

Guys, you don’t understand, it wasn’t supposed to be that good of a game!

So, GDC China just ended.  I had a great time, met some great people, and listened to some fantastic talks.

But that’s enough of that (at least, for now).  Because, you see, the first morning of the conference was the day MochiAds accepted my game Why Am I Dead.  It was also the day I was allowed to put my game on the bigger flash portals.  I just sort of did this without any real expectations for anything, except for maybe a transient increase in ad impressions.  Mentally, I had already finished the game and made it public.  This was just a little footnote.

I was so, so, so stupidly wrong.

With such a promising mechanic, I hope WAID ends up being more of a proof of concept for a bigger project… As a standalone game, Why Am I Dead? has flaws, but it’s still plenty fun enough to justify sinking 30 minutes to an hour into it…

Gamecola.net

Clearly at the moment, the developer has a greater amount of skill at constructing an effective mystery than depicting it in Flash. However, it is an ambitious, atmospheric work reminiscent of Hotel Dusk or Colonel’s Bequest, and it has quite the killer ending. This marks Peltast Games as a designer to watch out for in the future.

JayIsGames.com

It’s certainly not perfect, but Why Am I Dead? is brilliant enough to be worth a few confused hours this late Sunday evening.

Indiegames.com

  • It got the daily first spot on Newgrounds on 11/17/12 with about 9,500 views
  • …and is continuing quite healthily on the “Popular Games” section with, as of now, over a 4 star rating
  • Also got included on FreeIndieGam.es, a web-blog that I am a big fan of

I don’t know how all of the above looks to people who are not me.  After all, a lot of the praise is qualified with good criticism, and there are Daily winners on Newgrounds every, well, every day.  So, perhaps none of this shocks or awes you, the audience.

As for myself, however, well.  I.  It’s just.  Ahem.  Forgive me as I pretend that I’m on Tumblr for a moment.

There’s a lot more to say on the game as a whole and I may write up a post-mortem in the near future.  As for now, there’s still a lot of work to be done on the game regarding bugs and APIs and whatnot and I should be doing all that and not posting on my blog!

A Hopefully Intriguing Prototype

First off real quick, after work with a graphic designer I know, I have a new logo which you’ll see emblazoned at the top of this blog.  I’m quite happy with the result!  With this new logo in hand, I redesigned my home website once again.  The results, before and after:

The result is a brighter design with way more space, and a quite sexy logo if I do say so myself!  I also used a bit of JQuery in this version of the site, which was nice to dabble in.

The main thing I’d like to talk about in this post, though, is that I put up a game prototype on my website.  I’ve been working on it for about a month and a half alongside preparing Why Am I Dead for its release into the wild.

You can find it here!

Of course the big issue with it is that there’s no tutorial, so it may take some patience to actually understand what’s going on.  I wrote at length about the rules and how they work in that page, so I’ll not do the same thing here.  Instead, I’ll talk more about the technical side of things, and why this prototype took over a month to make.  Sure, it doesn’t have immediate visual appeal, but that’s not what prototypes are about.  And frankly, I did some stuff that I’m quite satisfied with.

1: Menus in menus in menus in menus

The game is turn-based, and, as with most turn-based games, it centers around picking from a range of different options which are on a menu.  Some actions may have further options related to those options, which require some other menu.  Think about typical RPGs.  You can attack, defend, cast a spell, and use an item.  But if you select Spell, what spell do you pick?  And then, who or what is the target of that spell?

In my case, the details get way, way more complicated.  For instance, the actions you can choose from are often restrained by temporary effects.  Get hit in the legs, and now you can’t pick Move or Dash.  Even more, you can select two actions per turn and sometimes these effects will go away in between those two actions, thus freeing up new actions mid-turn.  So, the result is that there will be menus in menus in menus, appearing and disappearing, switching around and changing all the time.

One of my main priorities was to make this as easy and intuitive to program as possible, so that when game mechanics inevitably get changed as the game is refined, actually implementing those changes is painless and straightforward.  To that end, I think I’ve succeeded; just about any change in the player menu, no matter how big or small, can be accomplished in several lines of code on the client-side.

Good thing none of this is confusing!

2: Customization!

After I got the basic game mechanics in, I decided to implement something I’d only been toying with beforehand; full equipment customization!  That is to say, every piece of equipment or weaponry would be represented on screen in battle, and move alongside your character when he attacks and defends, and so on.

The thing that made this a bit more ambitious for me is that I don’t use Flash Professional, or really any tools that might make this easier; I am working in FlashDevelop 100% of the time.  Still, it was pretty straight-forward for the most part, if more time-consuming.  One of the most vexing issues, to be honest, was making sure that the equipment had the correct rotation and positioning when I flipped the bitmap for the opponent.

And again, I’m pretty satisfied with the results.  The work behind making new equipment, as well as swapping between pieces of equipment, are trivial.  And though the prototype doesn’t have flashy animations, the poses behind each action are convincing enough to make this effect, at least to me, visually impressive.

Yes, it’s kinda choppy. Yes, vectors would rotate better. But bitmaps have more charm!

So that’s about it.  I’d love any feedback on my li’l prototype, since it’s still in an early and flexible stage.  I’ll actually be taking a break on this project in order to handle some real-life stuff and other things I’ve been juggling around, but I definitely like the direction this is going in, and fully plan to return to it in the future.  With a tutorial, an equipment screen and some kind of metagame, I think this could be a really deep and fun game.

My first game launch, as it were

I got off extremely lucky compared to many other North-easterners regarding Hurricane Sandy.  In my area there were power outages and the occasional tree falling on some poor sod’s car, but no floodings or fires or what have you.  I wasn’t even one of the people who lost power, I just lost internet for several days, and I’m pretty grateful of that.

And not long after my internet returned, my first game is now online!

YOU CAN PLAY IT HERE

As my first game’s launch, this is kinda how I feel right now:

yeah

The image is taken from this article written by Derek Yu, which mirrors my thoughts and feelings on finishing a game in a myriad of ways.  I mean, I had kinda already finished Why Am I Dead a long long time ago, but only sort of finished it.  This time, I finished finished it.  And it feels good.  Oh, here’s another image from the same article that seems appropriate:

feels good man

Anyway.  With all this excitement, it’s pretty much impossible for my standards of success not to be met.

“This game is too short!”  == My game left people wanting more.  Success!

“This game confused me.”  == My game got people thinking.  Success!

“This game was impossible to beat.”  == My game was ambitious.  Success!

“I absolutely hate this game and I want to injure you.”  ==  My game, uh…created an emotional response.  SUCCESS!

…On a more serious note, I’m looking forward to getting feedback and growing as a developer/designer from the responses I get.  And of course, other projects are in the works, one of which I’m very overdue on talking about!