Indie-cade and Eye-candy

If you’ve been following this blog for a while (specifically a year), you may remember when I set a goal for myself to submit my game to Indiecade.  Well, you see, though I may have implied that I was aiming for Indiecade 2013, I was actually planning on submitting to Indiecade 2014 the entire time!  That is to say, in roughly the next week I’ll be submitting my game to Indiecade, right on time, just as planned.

Hmm.  Yes.  That’s what we’re going with.

It’s pretty exciting to send the game off for the first time to a real critical “audience” (if only of one or several people) – and it’s exciting that I feel the game is at a point where it’s really presentable and can speak for itself.  Though aesthetics may or may not be critical for game competitions of this sort, I definitely took a lot of time recently implementing changes to the game’s visuals that I had been aching to for a while.

Let’s take a look, shall we?  (NOTE: Below are some GIFs which wordpress resizes, and it kinda messes with the image.  To see them in their proper resolution, simply click on them.)

 

1. Shadows!

Bonus included: The tiny "redesigns" that rooms go through over time
Bonus included: The tiny changes that rooms go through over time

Once upon a time, Why Am I Dead At Sea had no shadows.  It existed in a world with purely ambient lighting; light was everywhere.  It came from nothing and went nowhere, and therefore, no shadows!  Someone pointed out to me that shadows were a relatively easy change that could make everything seem more grounded.  It was obviously good advice, but at the time I wasn’t willing to go through every prop when I had a million other objectives, so I took a half-measure and added shadows to all of the characters.

Well now, all people and objects have shadows!  And as expected, it didn’t take a huge amount of work, and definitely makes the game look better.  Everything is less floaty and it’s much clearer where they’re positioned on the ground.  It also just kind of breaks up the flat colors of the floors and adds some much needed detail.

 

2. Additional Backgrounds

I never thought I'd be making these graphics when beginning the project...
The middle one, the sunset, was finished a long while ago and seems to still be the best of the three.

As the content for the game continued to be made, there were points in the story where it is made clear that time is progressing, either from one day to the other or from morning to night – and yet when you go onto the ship’s outside deck, it was always the same time of day – sunset!  That’s obviously because it was the only background I had made at that point.  For some points in the game, though, it seemed really important that I get the alternate backgrounds which show different times up and running.

They help set the mood for the story in a big way, so once I got to a certain point it became a really high priority.  But, that’s not all I did with regard to the outside-the-ship area!

 

3. Parallax Scrolling

I don't usually put GIFs directly onto the blog out of consideration for those with slow internets, but this just doesn't work in still image.
I don’t usually put GIFs directly onto the blog out of consideration for those with slow internets, but this just doesn’t work in still image.

If you’re not familiar with parallax scrolling, well, parallax is the effect of objects farther away not moving as much to us, thereby creating our perception of depth.  Parallax scrolling is the simulation of parallax in media whereby different objects scroll at different speeds to signify depth.

After creating my lovely backgrounds for the outer deck, I brutally chopped them up and put them in separate images.  I then created a special kind of Prop (ParallaxProp) that contains a set of images and has them scroll along with the game camera at different speeds.  It was actually really simple to implement on the code-side; it probably took more time overall just cutting up the backgrounds and making sure the end visual result was what I was looking for.

Because the area is so relatively wide, if the scrolling is too extreme things don’t really match up or work out how I want them to.  So, the scrolling difference is intentionally small, creating a subtle but still noticeable effect.

This one is particularly subtle, but the lowish FPS of the gif doesn't help.  In game it's more apparent.
This one is particularly subtle, but the lowish FPS of the gif doesn’t help. In game it’s more apparent.

This was one of those features where it was “really cool if I could implement this, but I don’t know…”  So, it feels really nice that I actually did end up getting it done!  And it really didn’t take me a huge amount of time.

 

3. Water Animation

splashgif
I tried to keep Darryl inside the ship for this shot, but he directly disobeyed my orders!

I always knew that the boat’s lower outline and the ocean were going to need some kind of…change.  A pure and unchanging blue rectangle didn’t quite cut it.  What I have now is still imperfect in several ways, but at least communicates what is actually happening and isn’t as blindingly static.

Figuring out how I wanted to do this and implementing it were surprisingly tricky.  For one thing, the water was originally a part of the map itself and I’d never made an animated object as large as this before, so there were a lot of possible ways I could implement the small waves in the water.  I could animate them tile by tile, in which case it might make more sense to make it an extension of the map itself, or I could make one huge animated object, in which case I would probably make it a prop.  The latter would most likely put much less strain on processing time, but would result in a really unwieldy and humongous bitmap.  I ended up taking the middle-ground and made some 7-8 animated props, each of which was a small but wide “strip” of the full thing.  The image files are small and simple, and there still isn’t a lot of labor that the game has to do to animate them.

I also had to decide how I could get animated water to agree with depth, since the part of the background above the horizon has objects (ie the sun and moon) that are far in the distance, while the animated water is completely flat.  Most ways of trying to actually get the water animation to obey depth seemed either ugly or way too hard, so I compromised again and simply had the opacity of the waves fade as they get closer to the horizon.  This was only possible because of the approach I took in cutting up the animation into small little strips, so it’s nice how the two issues fit together!

 

Actually this is not all of the visual changes I made, but they’re probably the most apparent ones, and they’re the ones I’m proudest of.  None of the changes I have made are huge, as I’m not looking to give the game a full make-over, of course…but they add up to a much prettier game nonetheless.  While there are still some things I really want to fix or renovate, the game is actually really close to how I expect it will look as a final product.

 

Now then…fingers crossed on the whole Indie-Cade business!

 

Stem to Stern #1: Narrative/Gameplay Structure

I had originally planned on opening up my series of more informative posts with a big post on AI, but since I’ve been mostly doing dialogue and cinematic writing, I’ve been inspired to make a post about the game’s overall structure instead.

StoryScreen1

Let’s start by describing the game in the simplest and most basic way possible.  The gameplay involves me throwing a huge amount of writing and text at the player, and having them search for the important bits of information in there.  Unlike other adventure/mystery games, there aren’t many puzzles or problems that if you can’t solve, you’re stuck.  In WAID you always had access to everything you need.  If you felt up to it, you could always brute-force through the challenges of the game by triggering every single dialogue and dialogue branch.

The challenge is to find the hints I’ve scattered in order to figure out which character interactions will get you on the right track.  Of course, the non-vital dialogues are both an obstacle in that they obscure what you need, as well as a bonus in that they can flesh out the story and give further insight to the characters.

Let’s take a look at the structure of the previous “Why Am I Dead”.  There is a wide body of what I refer to as ambient dialogue: the sum of dialogue which obscures the way forward.  There are also smaller pieces of story dialogue which are actually needed to trigger the ending of the game.  The way the game was structured, it could take you hours to finish it, or two minutes.

Image

How does this structure look for a longer game, though?  I would certainly like “Why Am I Dead At Sea” to last longer than that, whether “that” is two minutes or two hours.  So how do we make that happen?

There were two challenges that I saw going into this project.  Firstly, it seemed to me that a longer/larger game would run into the problem of overwhelming the player with far too much ambient dialogue far too quickly.  As it was, the original WAID wasn’t extremely navigable and could bring the player down time-consuming dead-ends.  Some people enjoyed this, but some did not!

And secondly, for a larger story I would want time to pass as the plot moves forward – that is, things would have to be a bit more sequential in order to make sure there was some plot.  In the previous WAID nothing happens without player input except at the beginning and end, which was fine…but in this game that severely limits the kind of story I can tell!

So I decided I wanted to taper the beginning of the game, bringing the player into the ambient dialogue slowly.  I also wanted to cut up certain parts of the game into self-contained ‘chapters’, in which there was only one entrance and one exit, so that some modicum of stage-setting could be done.  The resulting structure for Why Am I Dead At Sea looks like this:

ImageThis is accomplished, admittedly with some awkwardness, by restraining who you can possess and where you can go at the beginning of the game.  For the first two major parts of the game there is a substantial amount of optional dialogue accessible, but not so much that the player is drowning in it.  Objectives are hopefully much more clear.  As each new character becomes available to possess, however, the amount of ambient dialogue also increases.

This also allows for that oldest of design tropes seen so often in LoZ dungeons – if there’s a new character you just unlocked, you can be confident you will have to use them pretty soon.  I wasn’t allowed to guide the player in this way before!

StoryScreen3

And just as importantly, having certain choke-points for the story allows me to do things such as have small periods of time pass, or move characters move around, and so on.  This isn’t trivial.  A weird thing about the last game was that, to preserve an interesting pace, characters had to spill their guts to each other very quickly, without knowing anything about each other!  It was possible to suspend disbelief, but definitely felt off.  This time around I want dialogue to feel more organic, which means at least the illusion of some time passing.

So that is, in a nutshell, the layout of the game.

The Pixels Never End

As usual, the work on WAID continues.  Just to get this out of the way, I’m finally pronouncing dead my goal of submitting late to Indiecade.   As much as it pains me to sit on my work as time goes by, I still just don’t feel comfortable sending out what I have.  Mainly, I wasn’t able to get as far in development as I was hoping.  I guess it didn’t help that I now know I won’t be in the country when Indiecade is going on, so any benefits that submitting a game confers for conference attenders are void.  And considering the scale of the game and my development schedule, by the time I actually get feedback from the jury I’ll probably be in the final stages of development, if not finished.  But I’m glad I at least set that goal, as it definitely helped push me along and sped things up!

I’ve got the characters and the tilesets — now I just have to fill out all the scenery/props for the game.  After animating all of the characters, I can’t adequately express how pleasing it is to create a sprite and be able to just move on, without having to create 25+ slightly different copies of it.  If it looks good, that’s it.   Next one.

It’s also a bit nice to return to some objects that I had done for the first game and put a slightly different spin on it.  With the simplistic style I’m using, it can only improve so much, but I’ll take any sign of progress!

I’ll stick to the pattern of showing my assets from the previous game and this upcoming one, side by side.  But I haven’t actually finished the scenery for WAID2 yet; what I have here is still less than half of what I plan to make.  However, it’s already more than the crap that I scribbled out last time around.

WAID1:

ClassicProps

WAID2:

PropsI’ve been working on some other art assets, but this is the only stuff fit for posting at the moment.

The Gang’s All Here

Here’s the art post that I had promised.  I’m overdue, which means that this is going to be relatively long, and I’m going to indulge myself and ramble a bit!

I am right on the brink of finishing my character art, which is a huge milestone.  The character art, while taking up a small amount of visual space in the game, is the focal point (it’s where you’ll always be looking) — and it is where I have allotted the most amount of development time out of all the visuals.  And I think it really shows, and is a substantial improvement from my previous work.

To get a good idea of that, let’s first bring out the mugshots of the cast from the original “Why Am I Dead”:

OldCast

Brings back memories!  At the time, I was pretty happy with this work as a total beginner to pixel art.  And now the full cast for “Why Am I Dead 2”, in all its glory:

Cast

Okay, well, with just a quick glance they do seem rather similar.  After all, I haven’t changed the basic style or resolution of the sprites.  HOWEVER!  I think that even without taking the (much smoother) animations into account, the extra time that I’ve put into these new sprites can be seen when looked at closer.  There is less wasted space in the new sprites, and far less jagged outlines and edges.  Everything about the new characters is more varied — the posture, the frames, the hair, even the structures of their heads.  I’ve also become more sparing of outlines, which helps me free up space, and ultimately add more details.

To give an idea of the progression I, as well as these characters went through, I’ve dug up the older versions of some of the sprites and put them side by side.

First up is Alton, the blonde guy.  As the first character I worked on, he went through the wildest progression.

AltonProgressionversion 1 : OH GOD MY EYES!  Everything about this was terrible, though admittedly it was just to get the idea down.  The hair is too noisy, the arms are nonsensical and hunched over, and the legs are short and stubby.

version 2: Thankfully I changed the arms and legs to look, well, human.  I also simplified the hair, and added color.  His headphones still looked nothing like headphones, as I was struggling with how to depict them.  I was trying, and failing, to draw them as if they were poking straight out at the viewer.

version 3: Subtle changes here.  I tried another kind of headphones, and it also was not working.  I also changed the logo on his shirt from one meaningless shape to another meaningless shape.

version 4: I simplified.  A lot.  Took the t-shirt logo out, and used the new space to draw the headphones as if they were lying flat on his chest.  Toned down the shading on his hair, took out the shading on his pants, and changed the shape of his feet so they weren’t webbed-looking.

XuProgressionversion 1: Hadn’t decided on colors yet, and was struggling with all of the information I was trying to get in.  Rolled up sleeves, collar, undershirt, skirt design — the heavy outlines just looked really busy.

version 2: I changed how the sleeves looked, and added color in a way to make things less busy.  Some details kept their hard outlines, while others lost them.

version 3: Changed the color and shape of her hair, which was cone-like and weird before.  Removed some more outlines, and went back to white shoes.

MarcurioProgressionversion 1: Yuck!  I was trying to experiment with different face-types, and knew that I wanted to give him a distinctive nose.  I wasn’t able to use my limited space to do both without making him freakishly huge.

version 2: Downsized his head, arms, and legs.  Also played with the shirt and sleeves to change his posture and make him look less macho and stiff.

DonovanProgressionversion 1: I had NO idea what I was doing with this guy at first, and was just throwing stuff at the wall.  His hair, face, and clothes are all a mess, and I did this stupid thing where I outline a black shape with a different black.

version 2: Simplified a whole lot.  The hair, arms, and legs all got smaller, and I alternated colors a bit so I didn’t have black on black with everything.  At the same time, I felt I strayed a little too much from my original concept and lost the effect I was trying to get with him.

version 3: A good compromise, I think.  Added detail rather than removed it, for a change!  The posture is more what I had in mind originally without looking stiff, and the different pieces of clothing are actually distinguishable from each other.

Once all of the art is done, I’ll be a hop skip and a jump away from a fully presentable demo.  The hope is to get there by the end of this month.  Time to break out the coffee!

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

Some more art for WAID2

I feel I’m a bit overdue for an art update, so here’s a twofer; two new characters in one post!

I’m not sure I want to go into great detail about each character whose art I finish, since I think a big part of the game will be figuring out about them as you play.  And a lot of times they won’t be at all what they first seem, so it’s a bit hard to come up with non-spoiler descriptions.

First up is Xu:

Second is Marcurio:

I’ve already tried to mix up the pace/mood of the characters’ walk-cycles, so hopefully the animations are still clear.  It definitely makes things more interesting, and I generally walk away from each character having learned something new about animating.

Also, here’s the typical spritesheets for both games, old and new, side by side.

Cricket     RevisedAltonanim

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!