Using your soundtrack to speak to the player

For the second year in a row I was on a panel about story in video games at Indie Pop Con. It was my job to modify the panel to make sure we weren’t doing the exact same panel again this year. Unfortunately due to lack of time and other reasons I sort of failed at that, and it ended up about 95% the same panel we did last year. Oops.

One new thing I did add was a small audio / soundtrack section. I want to talk about / expand on that a bit here. Coming from a musical background I have always felt that you can tell a story through music. And not just lyrical music, but instrumental music as well; a category which, of course, most video game music falls under. Actually a lot of songs follow the same arc that many stories do… introduction, rising action, climax, falling action… music is really just another language to say some of the same things as text or visuals can.

Speaking of text and visuals, obviously one way to use a soundtrack in a game is to compliment the story being told on-screen through text, or visuals, or audio dialog, etc. And that is all well and good. But what interests me more is when a soundtrack can help a game transcend itself and say more to the players than it would initially appear.

The first game to come to mind for me is Super Hexagon. If you’re just looking at what is happening in the game it is tough to say that it has much of a story at all. A small triangle dodges pieces of geometric shapes. It’s just a puzzle game, right? How can that possibly speak to me?

However, add in the right soundtrack and it feels like so much more…

With that music Super Hexagon to me becomes an epic struggle against some negative forces that would keep me from obtaining my very important goals. Everything is against me, but I’m making my last stand. The feelings evoked are much more substantial than a game about a shape dodging shapes has any right to evoke in me. It’s powerful.

Another game that uses its soundtrack to transcend its story is Donkey Kong Country. Essentially the game is just about a couple of primates who want their bananas back. Nothing super serious. Silly, even. And yet…

I can’t play that stage and not feel like there is something more going on. Suddenly the game is speaking to me in a somber, melancholy way.

Of course, I have heard the argument that soundtracks are often used to create false emotions in players, and this trickery should not be praised if we are seeking out truly meaningful experiences. And when games about shapes or primates can make me feel powerful emotions, maybe that argument holds some weight? However, I choose to look at things a bit differently. To me the story being told through the music is valid on its own terms.

I think about the soundtrack for “The Memory Project” (real name coming soon perhaps?) a lot. I want the soundtrack to have as much to say as the game itself. In some ways this game is me finally finding the right place to speak through my music.

Hopefully I have something interesting to say.

The best part about being an elementary computer teacher / indie game developer?

Well, that would be getting to show off your game to your students AND get a bunch of valuable feedback in the process.

For example, I now know that in its current state my game is NEXT TO IMPOSSIBLE for most 2nd graders, and playable but barely for most 3rd graders. Somewhere around 4th / 5th grade is where they start to be able to really comprehend what they need to do and execute it.

…but it’s still pretty darn tough for them. Only a handful of students made it through the first stage. A select few made it through other stages. Mind you they were taking turns so the average student only got about 10-20 minutes with the game.

It did bring up an interesting question that I haven’t thought about too much yet but probably should, which is “How young of a player do I want this game to appeal to?” If I’m trying to pull a Nintendo and say the game is for “everyone”, then I definitely need to make some of the earlier stages easier, because at the moment it is certainly not for all ages. Most of the 2nd graders gave up pretty quickly.

I was sort of thinking of easing things up anyway. I tend to build my “raw” stages by cramming a bunch of stuff in first, and then pulling stuff down over time.


Thoughts on showing the game off for the first time

Well, I finally showed the game off publicly. Overall the response was very positive, which pleased me. Of course, the response was mostly from this group of people I have been hanging out with for awhile now, so you’re never quite sure if they are just being nice, but I think had I showed up with junk the response would have been a lot different. It’s clear we’re doing some things right here (though there is a longggggggggggggg ways to go.)

One thing that felt nice was the clear sense that I’m meeting one of my major goals, which is to make a runner that is more inspired by Mario-like platformers and such than it is by other runners. To be honest, outside of the BIT.TRIP games (which I do love) I have barely played any runners, they’re just not really on my radar much. More than one person mentioned that what they saw in my game was a step up from what they expected when they heard I was working on a “runner”, and I also received comments about how it felt different than other runners. One person mentioned specifically how runners have a bad reputation, and I’ve thought about this a lot too. I have to agree, a lot of them are really, really unimpressive. I won’t name names, but on a whim once I watched videos of the various runners available on the Wii U eShop and oh my god… except for BIT.TRIP they pretty much all look really uninspiring. Combine that with the fact that there are WAY TOO MANY OF THEM and you have a genre that has a poor reputation. I really think that I need to distance this game from the glut of mediocre one-note runners out there. I will have to work hard to control the message.

Got constructive criticisms too, which I can’t complain about because it is really the ultimate point of showing the game off like this. I should have had a way to track the critiques at the time, but I managed to remember a lot of it and write it down afterwards. I’d say the majority of the criticisms fell into the same basic category of the game failing to teach the right things well enough before requiring the player to do them, whether it was certain controls or what the different collectible do or how certain platforms or enemy types work or… well, tons of things. And of course I kind of knew this would be the case due to A. me being overly familiar with the game and thus logically having blindspots and B. the demo being kind of thrown together without full attention paid to everything that would be necessary. But it helps a lot to hear about specific examples and know what needs to be clarified for the player.

I also learned that if you make a tutorial and make it skippable… a lot of people will skip it. That’s important to know. Now, whether this would be the case if someone were playing on their own time at home versus trying to quickly check something out at an event where there are people to talk to and other games to play, I’m not totally sure, but I don’t want to risk it so I guess I should just work on the assumption that skippable tutorials will be skipped by X amount of players. Well, I never planned for the final game to have tutorials anyway, that was just a last minute way to deal with the fact that the “stages” aren’t set up to teach you the things you need to know quite yet.

I posted the build to Negative World as well, to get responses from the members there. Still waiting to see what they think!

There is a LOT left to do and I’m kind of overwhelmed at times, but I think I will take a day or two and just map out a plan for the near future. Getting this demo ready has taken up so much of my time lately that now that it is out there, I’m sort of in a “what’s next?” mood. Not that I don’t have plenty to choose from.

2017 release, perhaps?!

Come play “The Memory Project” at its public debut!!!

Yep, it’s been in development for about 16 months of, finally time to show it off! If you show up, you can play The Memory Project (not a final name) for yourself! Before it becomes a MONSTER SUCCESS. (Ha… ha…)

Indie City Games March Meeting
Saturday, March 21st
1:00pm – 4:00pm
DePaul University
243 S. Wabash Room 900

It’s definitely a huge work-in-progress, something that will be evident on a variety of levels. Actually, I was telling my girlfriend how there are 5 different kinds of art in the game right now. But come to think of it, there are actually 6 types:

1. Artist-created art in the new style we decided on
2. Artist-created art in the old style we were using
3. Artist-created placeholder art for some animations
4. Andrew-created placeholder art that is essentially just sprites from other games I’m temporarily uh… “borrowing”
5. Andrew-created placeholder art that is really, really poorly drawn MS Paint stuff
6. Actual images that are currently used as placeholders for the backgrounds

So it is certainly a Frankenstein monster to some degree. But hey, I’m happy with where we are at.

Nervous about the showing? Sure! But also excited! See you there!

I’ve always said Super Mario is my biggest inspiration

Yeah yeah I know, I’m an indie developer, I’m supposed to have hip esoteric influences, not mainstream junk like Mario. But hey, the Mario games succeed in something that few other games do, which is to continually add new fun and interesting mechanics throughout the course of each game. And this video gives a pretty good (yet concise!) explanation as to why they are successful in this. My goal for my game is that each stage adds new elements or mechanics, which definitely adds a challenge from a game design perspective. How do you not just end up a string of tutorials?! Here is how.

Updated my dev blog, getting ready to finally show off this still unnamed game aka The Memory Project

It’s been a pretty busy last few months. For one, I actually do have a pair of day jobs and, on occasion, an evening job. So this is a “side project” I suppose? But it’s also the thing that I think about constantly, and work on pretty much whenever I have spare time. Basically it consumes me.

I decided to update the dev blog and make it more readable. That’s probably a good thing to have in a blog, right? I also added some updated versions of about half of the songs in the soundtrack under the “media” tab, if you are interested.

I’m assuming that there will be an Indie City Games meeting this month, and unless something dramatic comes up to stop me, I intend to be there to show off this game. Which I guess will be the first true “public” showing. I’m a bit nervous about that, although not nearly as much as I would have been had I tried to do something like this 10 years ago when I was a much bigger introvert. Teaching sort of gets you used to being up in front of people giving presentations blah blah blah. Still, I’m relatively new to the whole Chicago indie development “scene” (for lack of a better word), and even though it’s not the type of thing people talk about a lot, I have this vague sense that there is a perception of there being, essentially, two types of people when it comes to indie game development: the ones who live on hopes and dreams but never actually produce much, and the ones who maybe have some hopes and dreams but are also willing to put the work in and make things happen. Whether their output is great or not is maybe another story, but hey, they’re making things. So why does it matter to me what other people think? Hard to say, but it does. You want to feel like a “peer” and not just some random phony.

Maybe another question related to this is how to demonstrate something to others when you aren’t so sure of it yourself? Hmm.

Whatever the case, the game is being shown off as the next possible chance. The common advice that I hear is “show early and show often”, and well… it is definitely past early at this point. There is a lot more that I’d want to do if this were an official demo, and a large amount of the art in it is still placeholder art, but as a playtest demo it should be fine.

I have been working on my first video game for over a year now!

I had planned to make a sort of “It’s been exactly a year since I started making my first video game!” update post on the anniversary of the release of Unity 4.3, also known as the day I got into video game development. But I guess I managed to miss that anniversary (November 12th.) Close enough.

First things first time has, of course, gone by very, very quickly. But that doesn’t surprise me. In fact, it is one of the (many?) themes of my game. I’ve tried to stay on top of things despite this being a pretty intense year that included two moves and two new jobs (which puts me at three part-time jobs that add up to a bit more than one full-time job currently.) Also my computer died and it took me a good 1-2 months to get a new one and get everything up and running again. Still, I think I have made a fair amount of progress, especially since I honestly had no idea what to expect when getting into this. A big part of me thought I would try it out, find out it was way too difficult, and walk away. But nah. It’s not that bad. Not that there haven’t been plenty of nights staying up until 5 in the morning trying to figure out what the F was wrong with my code…

So where am I at with this runner which is definitely not an endless runner even though everyone keeps referring to it as one? It’s really tough to say. But I think it is at the point where a lot of the basic controls and mechanics are, if not quite done, close enough that I can put them in the “mostly done” category and move on. Which means focusing on content. I probably bit off more than I should have for a n00b developer in the sense that my design calls for something like 20-30 different types of platforms and 50+ enemies / hazards / etc., not to mention a lot of stage unique stuff, but I’m getting there. I have maybe 10-15 platform types done and about the same amount of enemies / hazards done. I have around 1 1/2 “demo” stages finished. This might not seem like a lot, but I actually knock this stuff out pretty quickly when I get to focus on it… it’s a lot of the behind the scenes basic structuring of the controls, game mechanics, basic tools I use to build things, etc. that has taken up most of my time.

The soundtrack, which I am doing myself because honestly half of why I decided to make a game was to have a place to put my music, has around 15 songs planned and I have around 12 finished (another reason my game isn’t further along is I took a month or so off from it to focus almost exclusively on the soundtrack.) I was listening to the Xenoblade soundtrack the other day, which is around 5 hours long, and it sort of cracked me up that the soundtrack for my game which will probably take about an hour to finish (maybe a few hours if you keep DYING a lot) is 1/5 the size of the Xenoblade soundtrack, a MASSIVE game which took me over 120 hours to finish.

I’m using “done” / “finished” loosely here, of course. There is still a LOT of polish that will have to be added to pretty much everything I have worked on for me to be happy.

I still have a longggggggggggg ways to go, so no rest for the weary. I do hope to have a playable demo ready soon, in fact I basically have one almost ready right now, just a few little tweaks I need to make (including fixing one very nasty bug) and some art that needs to be made (by someone who is not me and has a lot of other commitments so I can’t reasonably rush him) and then you will be able to get your hands on this sucker. I guess I should probably come up with some kind of name for it huh?

I project this thing will take another 2 years at least. Maybe more. And after that… I’m making a smaller game next! Or so I say. Anyway, here is a character design / animation that the artist has put together. Expect to see a demo stage soon.

Up until 5 AM last night metaphorically beating my head against a wall

Apparently the way that I was getting the length of an animation works in Unity’s editor but not at run-time, something that was not immediately evident because the animation length was *almost* a second long and, since it couldn’t grab the length at run-time the way that I was trying to make it, it just threw a 1 in there instead for some reason. Which led to the things I was basing off of that animation time to be *almost* working right but not quite, and me taking way too long to finally pinpoint why this was the case and fix things. Well, hopefully fix things, although it was 5 in the morning and I was barely awake when I finally got it working so I didn’t really bother testing it all too well. I guess I will see today if it actually works correctly.

I think sometimes people hear that I am making a game and they’re like “Oh wow, that sounds fun!” and well… they’re half right. It’s fun for sure, and I’m very glad that I’m doing it, but it’s not all conceptualizing and level designing and such. It’s also a lot of annoyingly frustrating bug fighting nights as well, the kind that make you doubt your skill… and sanity.

It’s been awhile. I’m still working hard. The game is taking form.

Which means I need to stop calling it “this runner game I’m making about life which is totally not an endless runner since those mostly bore me” soon, right? But I’m definitely not ready to pick a final name yet. So I gave it a code name: The Memory Project. Because to call it a game about life isn’t quite accurate. It’s probably more accurate to say it is a game about perception, and how we tend to remember things our own ways for our own reasons. Well, actually it’s a game about running around collecting GOODTHINGS and avoiding BADTHINGS and such. It can be two things!

Anyway, after tons of working on new code and reworking old poorly written code and such, I now have things set up to semi-efficiently? spawn a bunch of the stuff I need on the fly and get rid of it when I no longer need it, essentially limiting what is running at any given moment to what is on-screen (and slightly off-screen.) AND I built a whole “stage” with this new code that, unlike my old attempts at building stages, runs fairly well, even on my garbage old laptop with stuff flying all over the screen. Not as much stuff as I intend to have flying all over the screen in final stages, but enough for what would be an early stage in the game. This is progress.

I put “stage” in quotation marks above because I didn’t really bother overly much with that whole “level design” thing, I just kind of wanted to get SOMETHING put together to make sure all of this new code works well. Still, it’s getting to the point where I might be able to show off some stuff soon.

…ish. Soonish. I’ll keep you posted.

Looking in from the inside?

It’s interesting when you’re working as a programmer / designer on a video game as opposed to looking in from the outside, because so many things are kind of intrinsically viewed from a different perspective. For instance, the decision to make floating water in a game (IE water that has its own gravity and just floats up there above the ground) might seem kind of weird, or creative, or *insert something else here* to an outsider. But see, that perspective carries with it the assumption that it was an active decision to make floating water, and in my case I certainly never actively made a decision to make it… it’s just kind of easiest for me to program most of my environmental pieces to not have any gravity and then place them wherever I feel like it. So the way my stuff works, the only way to NOT have floating water is to place it right on top of land. And of course while I’m placing stuff I’m just dragging and dropping it into the screen quick before positioning it, so even if my original plan was to have water work in traditional ways, there would still be that brief moment where it would be sitting there on my screen floating and I’d be like hmm… why not? Not that I’ve necessarily made the decision to have floating water in the final version of the game. But it’s there if I want it.

Speaking of environmental fluids, I’ve been thinking a lot about how to define them in my game. For instance, I now have water, quicksand, and lava created. From a programming perspective they’re all very similar and essentially running off of the same code with the only differences being the visual side (which is all placeholder junk I made) and a handful of variables used to create their distinct features. But there are a variety of directions one can go with these. For instance, in the 2D Mario games you can swim in water, but in the 2D Mega Man games you cannot… although it does slow you down and let you jump higher. In most games you can jam the jump button to jump yourself out of quicksand… but upon reflection, how much sense does that even make? I mean, what are you standing on to jump off of? It’s a convention, and one that I’ll probably stick with, but it’s worth questioning. As for lava, generally in games it slows you down like water does but also drains your health. A part of me wonders if that is enough though. Shouldn’t falling into freaking LAVA be a much bigger deal? What more would I add though? I don’t want to do insta-kills. Even more restricted movement? And if my character can swim in water, should they be able to swim in lava or not?! Hmm.

It’s easy to not think about the hundreds of tiny little decisions that go into every game. There isn’t always one obvious answer, and even when there is, it’s worth looking in a few other directions first before you settle on it.

Anyway, it’s been awhile but things are still coming along pretty well. Our favorite artist Infinitywave has created an early character design / run animation that is looking pretty sweet. We’ll probably hold off a bit on showing off art though, want to get some more done first.