Put together some dev stats for In Retrospect

I was bored and not really in the mood to do another long work session today so I threw together some dev stats for my game instead.  My first game.  Not sure if these numbers make sense for the type of project I am doing but whatever.

noidea

Date started: November 14, 2013
Years worked: About 3 2/3 years
Hours worked: God, who knows? Hundreds? Thousands?!
Projected finish date: Fall 2018!!!

Project folder size: 4.44 GB
Assets folder size: 534 MB
          Art assets size: 211 MB
          Audio assets size: 100 MB (23 songs + SFX, this will probably be much larger when I put the audio in its final format)
Build (playable .exe) size: 660 MB

Total scenes: 40
Total prefabs (game objects): 1,081
Total scripts: 88 (+ some 3rd party scripts)
Total lines of code: 19,987 (+ 3rd party code)

Largest scripts by lines of code:
          1. Player Controller: 3,085
          2. Menu Manager: 2,370
          3. Stage Manager: 1,932
          4. Non Player Controller: 1,400
          5. Non Player State Manager: 1,366

Largest scripts by file size:
          1. Player Controller: 126 KB
          2. Menu Manager: 97 KB
          3. Stage Manager: 88 KB
          4. Dialog Content: 74 KB (will get much larger when I actually write dialog…)
          5. Save / Load Manager: 70 KB

Smallest script:
          1. Spawn When Needed: 1 KB, 7 lines of code (I made an entire script that essentially just holds a single variable and I honestly can’t remember why…)

And of course this is a work in progress so many of these numbers will get much bigger…

A milestone? Planned animations done. I guess.

You may detect a tone slightly less ecstatic than my last post. I’m trying to figure out why that is myself. This is big! Every planned animation is done!

…so why does it not feel exciting?

Probably a large part of that is that my overall excitement about working on my game has become a lot more… complicated. I’m currently working a job with a longer commute and longer hours than my last one, which makes it tough to come home and work on my game at the end of the day. I’m still getting work done, but I’m often sitting down to work already exhausted, which doesn’t make for the best sessions. To be frank, I feel like I’m burning out on it a bit. So I’ve slowed down to try to not burn out, but then I feel like I’m not getting enough done. WHAT A CONUNDRUM.

Another part is that I just don’t think i’m that good at animation. Don’t get me wrong, the stuff I have animated is as good or better than I originally expected, but that doesn’t mean I’m particularly happy with it. With work I could get better of course, but becoming an excellent artist in addition to everything else I’m trying to become excellent at is just… ug. See above where my time and energy are already limited. So it reminds me that, if I want to really feel good about how this game looks, I’m probably going to need to seek an outside helper. So then, what was the point of this year and some change of focusing almost exclusively on doing my own art and animation? That’s a good question. It certainly helped me learn a lot about the process, helped me solidify exactly what assets I need, helped me define what kind of style I’m going for, and helped me get my game looking a bit more professional, all of which put me in a better state to try to find someone to work with, if I go that route. And you know, whatever I prefer I might need to do my own art and animation if I can’t find / afford / etc. the right person to work with, so I guess we will see what happens there.

Finally, the “planned” part of “planned animation” comes with quite a big caveat. I can already think of a lot more stuff that should probably have some animation, including my environments, which are VERY static at the moment. And of course a lot of my current animations are garbage that should be fixed. So it feels far from done.

Still, this very long period of pretty much only working on art and animation has probably come to an end for now. Next up? I guess I need to do the same thing for sound effects, which should hopefully be a much faster process.

After that? After that I’m finally getting close to that finish line.

I think?

MAYBE.

Now look at some wacky animation that I made.

end-boss-animation

Another milestone: finished static art for every single object in the game!

By static art I mean that a lot of stuff in the game doesn’t have any animations done yet. But I now have at least a single frame of art for almost everything in the game.  The only exception are the backgrounds, which are still placeholder art.

Checking my emails it looks like I started doing pixel art for In Retrospect around March of this year.  And outside of some programming / design tweaks here and there, I really haven’t done much else on the game since then.  So that’s about 9 solid months of just working on pixel art, day in, day out.  Fun!

I did some quick math, didn’t count everything exactly but skim counted and it looks like I did art for a total of around 3,750 16×16 tiles, which is about 960,000 individual pixels.  THAT’S ALMOST A MILLION PIXELS.  I mean yeah not every single one was individually drawn, there are fill tools, copy and paste, etc. but geez louise that’s a lot of pixels.  If and when I get the animations in it will surely top a million.

There is still a ton of work to do on the art. Some of it I’m happy with, some of it I’m not. The UI / menus need some work. And as mentioned above, I still need more animations. But it’s a pretty big milestone nonetheless.

Anyway, enjoy some screenshots!

Some boss fight art, and thoughts

Most of the objects in my game are relatively small in size, but I do have a few big pieces, including the one and only “boss” in the game. Anyway, this is definitely one of the biggest single sprites I have made and THE most detailed big sprite I have made. And the boss has 3 big destructible “cannons” so I had to make what the boss looked like underneath and then make parts that fit nicely on top as well.

WITH CANNONS
boss-1-before

WITHOUT CANNONS
boss-2-after

I’m getting near the end of the first pass of static art, just a few pieces left. After that… I guess I need to decide if I am going to try to take on all of the art in my game for real, or try to find an artist. Because the next step is animation and that’s a lot of work if I’m just going to have someone else replace it all anyway.

Then again making all of the current art has been a lot of work if I’m just going to have someone else replace it all anyway, but it’s been a nice learning experience as well.

Programming versus art

I’ve been working on art a lot lately and it’s been making me think about the differences between programming and art. Specifically, the anxieties related to the two.

When I need to do programming, whether adding new features or fixing bugs or the likes, I generally know what I’m trying to accomplish, yet I’m not always quite sure exactly what the means to doing it are in advance. Most of my anxiety comes from a somewhat binary question, “Will I figure out how to make this work?” with the answers being either yes or no. As long as I have some confidence in a “yes” going into it, the actual details aren’t super important. This isn’t to say that how code is executed doesn’t matter, because it does, but for the most part, at the point I’m at now anyway, if I write working code, as long as it doesn’t slow down the framerate significantly or something then that’s good enough. It works, it’s done.

I’m simplifying things of course, because programming is tied into game design so often programming has to go alone with tweaking the design, which is a very not so binary thing. What kind of movement should a piece have, how should it interact with the player, even questions like how big should it be all play into the feel of the game. You can’t just switch off the artistic side to work on solving problems all the time. Still, I tend to feel significantly less creative pressure when I’m working on programming than art.

Art is almost the opposite. There is some small bit of execution getting my art from the art program I use into the game, but at this point it’s mostly routine. Not much anxiety about making it work… make some art, export it, import it, it’s there. Hard to mess that up. Here though, the anxiety comes in the execution. Art is not as binary. I can get working art into the game easily enough, but how good will that art be? My art tends to range from REALLY BAD art to REALLY OK art (and sometimes, on rare occasions, SOMEWHAT GOOD art.)

So the mindset coming into work sessions is very different, and sometimes I’m more mentally / physically prepared for one kind of work more than the other. But that’s not necessarily the thing that needs the most work at the moment. A conundrum to be sure.

All of this is to say that today should be an art day, but I’m not really feeling it. BAH.

PS. Everything that applies to art applies to audio as well, though I suppose I have a tad bit less anxiety when it comes to audio, because honestly… my soundtrack is probably the best part of the game. Even if I have a mediocre day of music making where I’m just not feeling it, it still ends up better than most everything else I do for this game.

PPS. I’ve been working on the game for a bit over three years now, and the end still feels a decent ways off. BAH AGAIN.

It’s been a long time without much progress…

Well, it’s not totally my fault. Between interviewing for a lot of jobs, accepting a new job and preparing for it, looking for and buying a new car, a trip to Canada, spending days and days and days finding a decent apartment to move to in order to be closer to my new job, and packing in order to move (in a few days) it has been a very busy summer. As a teacher I usually use my free time in the summer to really go at my game hard and get a lot done, but this summer was the opposite. I barely got anything done on the game. Nearly 2 months with maybe 3 or 4 hours total work done on the game. I usually get that much done almost every day in summer. Disappointing but what can you do? Had some necessarily life changes to execute.

The new job seems like it will be pretty exciting though. I get to teach a computer science class to high schoolers, and this will include game design segments. I’ve taught a little bit of game design in elementary but I always had to sneak it in between a bunch of other stuff. Now I get to focus an entire class on programming and I’ve been given a lot of free reign to decide how to implement that. The administration and students seem legitimately excited that this will include game development too, so it doesn’t feel like I’m forcing this on anyone (in fact, I think my game dev background is a big part of why I was hired.) And I start the job with only this one class to teach each day, so in addition to helping out with the tech support at the school I will (supposedly) have a lot of time to build this class and future computer science classes, and (supposedly) will have a large say in what kind of stuff will be taught in future classes. They’re really looking to me to help build their computer science program.

But yeah, I need to get back to the game. I had gotten pretty far along before the summer hit, though deciding to (at least for now) do my own art slowed down the progress of the game significantly. Or maybe it didn’t slow it down, since art is necessary, but it was definitely not something I had originally had planned on doing, so it felt like a setback. There is still a pretty serious amount of art to get done.

I think I will have time once this move is finalized though. I think. I don’t foresee any obstacles…

Hitting a huge milestone. All gameplay objects (for the most part) + early versions of all 10 stages now built.

It would have been nice to have hit this about a week ago, which was the 2 year anniversary of starting work on this game. But considering that my unofficial deadline was “the end of the year”, it’s pretty nice to hit it over a month early.

Basically I now have all 10 of the “raw” stages built for my 10 stage game. “Raw” stages are what I call the sort of pre-demo stages I build that include all types of platforms, enemies, etc. that will be included in the final versions of these stages, as well as a lot of the gameplay ideas I had for the stages, etc. Essentially, these are fully playable stages that contain all of the elements they will have in the future. That isn’t to say that they are done though, or even close to done. They’re still sloppy and unpolished in a lot of respects, and the actual level design in most of them needs a lot of work, so there is a lot to be done there. Still, the basic form and elements are all there now.

For the most part. I still want to build some objects that will appear in various stages based on what your current collectible “alignment” is, etc. But that’s small stuff. The bulk of the main content is there. It needs a lot of polish, but it is there.

So why did it take me two years to get to this point? In part because I started this game with zero experience in game development so the first year or so was spent just getting a lot of basic elements like movement and camera and such in place. It’s really only been the last year or so that I got to attack the content hard.

Also, because my game has a LOT of stuff in it. So far…

About 70 different enemy / hazard objects. Many with attacks that involve additional objects.
About 35 different platform objects.
9 button objects (these give you a variety of special moves, etc.)
5 collectible objects (x6 of each collectible.)
About 10 collectible spawner objects.
About 20 “etc” objects.
5 player objects.

Much of the above also have variations, so… that adds a bunch more.

In truth, I think I packed too much in. The game’s main “story” mode, if you manage to play through without dying, only involves about 45 minutes of gameplay. All of the above packed into 45 minutes of gameplay! I have a lot of additional challenge stages and such planned to make sure the game has at least 3-4 hours of content, but that will all be reusing the same objects. A lot of the complaints at my playtesting sessions have involved too much coming at you too fast, so one difficult thing I will have to do in the near future is decide what objects to cut. Tough, but necessary.

There is still a ton more to do for this game. I need to polish up what I have hardcore. Add in the “alignment” stuff. I haven’t even really started on the story / choice sections yet. Lots of art to get in (it’s mostly placeholder stuff right now), sound design (have been keeping up with the soundtrack but sfx are all placeholders), gameplay modes, the above-mentioned challenge stages. Make it work nice on a variety of resolutions with a variety of controls. Optimize it to get rid of some framerate issues in certain areas. A lot of known bugs to fix and plenty of unknown bugs that are sure to arrive. Still way more to do so please don’t ask me when it will be finished because my answer is still “I don’t know.” Probably at least another 1-2 years.

But it feels nice to hit this huge milestone. Might be time to take a small break and go outside and breathe some fresh air again. Maybe I can sit down and actually play some video games for once!

What to do when an unstoppable force meets an immovable object

So, it occurred to me recently that the development of my game is pretty much just the story of that one Batman movie (or something.) Because there are a few ground rules for my game that contradict each other…

A. The main character can NEVER stop moving forward. (Important for many reasons… it’s a runner, certain things sync with the soundtrack thus have to happen at specific times, etc.)

B. Many objects cannot be moved through. (Important because uh… self-explanatory? Human beings can’t pass through everything in the world? Or they would just be ghosts or something?)

So what do you do when the player can’t stop moving forward but also can’t pass through certain objects?

Most runners that I have played have a simple solution to this… you hit a wall, you die, and start the stage over again. Well, that’s fine I guess, but I didn’t want that in my game, which is not a one hit kill runner but a runner with an actual life bar.

So my main solution to this issue from the start has just been to have slopes and bumpers everywhere, so when the player needs to go from a more open-ended area to a tighter area they essentially get funneled into it without having to slow down. The problem with slopes though is it kind of makes no sense to be running up a slope and keep the same forward momentum… so I use them minimally and have broad slopes such that the player (maybe?) doesn’t notice this inconsistency if they are on a slope. Bumpers are both more consistent physics-wise and more fun, but then it kind of breaks up the feeling of a semi-logical world having random bumpers all over the place. Of course, this is a world with ghosts and birds carrying power-ups and clones of yourself and… point is, it probably doesn’t need to make sense based on the real life human world. Still, putting bumpers all over makes me feel a bit uncomfortable from a design standpoint.

So I’ve tried to think up other solutions to mix things up. One stage is in the sky and it has no ground… just a LOT of wind that will push you back up if you fall off of the cloud platforms. Another stage (in planning) has a bit of a wacky creepy fun house part, so I plan to use mirrors as warps to instantly transport the player elsewhere. Etcetera. A lot of these ideas have stemmed from trying to solve that fundamental issue in a way that doesn’t rely on bumpers everywhere.

Whether or not I’m going to successfully solve this in a fun, consistent way throughout the entire game… we’ll see.

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.

Hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.