Saturday, May 10, 2014

A Change of Plan

I work best on a tight deadline and I acknowledged as much during my last blog post. That fact has been stirring around in my head for a few days now and I think I'm going to do something crazy and change my May goals.

Below is a list of all the work I have left to do on my Ludum Dare 29 game, Beneath Your Skin (not necessarily in this order):
Add music
Add sound effects
Add more voice work
Add an ending
Fix movement bugs
Fix the resolution on the windows build
Add suspicion for the NPCs when you are in an infected host
Add voice mimicing mechanics
Add at least three new levels
Add touch screen controls
Make new art for all the new levels
Make new art to make the levels feel lived in
Make rooms you can go into from the hallway
Tighten up the elevator script
Fix guard animations
Test all my new levels and mechanics
Release the game for $1 on PC
Release the game for $1 on Android and iOS

My new goal for May is to do at least half of that list. My goal for June is to do the rest.

Why the rush? I've known for a while that the best way for me to get a job making video games is to just start making video games. The problem is that I'm not finishing anything. To fix that, I'm going to do something crazy and just devote as much as my free time as I can handle to just shipping a game. The game will probably not be as good as it could be, but it will be something I feel good about releasing to the public and that will have to be enough.

Release or bust.

Monday, May 5, 2014

End of April Progress Report: Ludum Dare 29!

Last month ended pretty shamefully with me not working on my prototype much at all. However, it's May now, and I need to review what I did manage to accomplish last month and determine what I'm going to try to accomplish this month. Let's start with my prototype that I made (largely in January and February).

Power Game Prototype

The "Power Game" prototype is currently dead in the water. Editing the script is a huge pain right now and the whole project is larger than I can handle at the moment. Mostly the failure for me here is a lack of experience with Unity combined with a large scope and no art. It's being indefinitely moved to the back burner until it becomes feasible.

Ludum Dare 29

Ludum Dare is a 48 hour game jam where you try to make a game according to a theme all by yourself. No existing private code is allowed and any art/sound assets must be made by you within the 48 hour period. It's pretty intense; especially if you have problems with scope like I do. Compounding it further is my own lack of artistic talent, which is a problem when you have to make all the art yourself.

The theme this year was Under the Surface, so I decided to make a game where you played an alien parasite who burrows under people's skin and controls them from inside before bursting out of their chest like in Alien. My lack of artistic talent makes the game less violent looking than it sounds from that description, but I guess the violence is just implied. That's fine though because the more realistic the graphics got for a game like this, the less palatable it would be.
The exit is just behind this blue-locked door! But how to get there...

What went well

  • The art looks great (considering the artist). I'm pretty hard on myself for not being a very good artist, but when it came time to scratch together some art for Ludum Dare this past month, I feel like I nailed it. The art isn't super awful, and it's pretty easy to tell what everything is. 
  • Unity made adding new content easy. After several attempts (including "Power Game") at making a lot of code to drive the game forward, I feel like I really got close to The Unity Way of doing things. As a result, when it came time to start building new levels, it only took me an hour to put together the entire second level of the game. Most of that was fine tuning, since I was able to drag and drop almost everything else.
Hello there officer, I'm certainly not an infected human being
controlled by an alien parasite.
No, sir.

What went poorly

  • Unity and Monodevelop (the code editor for Unity) crashed on me several times. Monodevelop also stopped responding to mouse input on the list of opened files frequently, which would have been a problem if I wasn't already used to using keyboard shortcuts to navigate. More problematic was on Sunday around 9 hours before the deadline when I clicked between Monodevelop and Unity too fast (I think?) and got an error telling me that my code solution was unable to be overwritten. At that point, Monodevelop stopped being able to debug my game code. This persisted even after I more or less fixed it, and breakpoints only work in most areas of my code. This caused me a lot of frustration and stress. I lost about an hour or so to figuring out what was going on.
  • Levels went poorly specifically because I should've made more of them. There are only two levels in the current version of the game. My general unfamiliarity with Unity and uncertainty of what exactly I was going to build for levels made me over-engineer a bit and I took too long working on making the game work and not long enough making levels. Ideally, I would have spent less time debugging Unity's crashes (as mentioned above) and integrating art into the project (animating individual sprites for characters took longer than I was expecting because I couldn't simply swap out spritesheets) and a little more time working on more levels. I think a reasonable number of levels to shoot for would have been five.
  • Sound is very lacking in my game. There is no background music or sound effects. I had been planning on using to generate looping background music, but that fell through when I realized Unity didn't support MIDI and I had no way to make up for that with the time left in the competition. I did take some time to pull out my keyboard and try to make a 10 second loop, but it ended up being really grating on the ears after more than a few loops, so I just cut it entirely. The sound effects got dropped when I found myself spending the last hour or so of the event debugging a small error that completely broke the game.
Just a parasite hanging out in an air vent.

Overall, Ludum Dare went extremely well and really bolstered my confidence. I'm looking forward to seeing what feedback I get on it and I'll detail that here next month.

Pigeon's Quest

Pigeon's Quest is a game where everyone dresses like birds for some reason. I mentioned the title to my wife sometime late last year and it's been in the back of my mind ever since. Only recently (last month?) did I have the epiphany that it's based on the game Snake. If you've never played Snake before, you can play a basic version of it here using the arrow keys to move.

So far, I've got basic snake gameplay implemented. You move a smiley face around a game area and when you run into other people, they follow your smiley face appropriately. If you pick everyone up on a stage, it instantly takes you to the next stage. There's a lot to do, and after Ludum Dare I've got some ideas about streamlining what's already there. This is definitely a thing I want to work on some of the time, not all of the time.

I've got some neat ideas for innovating on the snake gameplay, so I'm excited about that. I'm very worried about the art though and when I come to that point, I think I'll just save up some money and hire someone who is far more talented than me to make the art. I'll update my end of month posts with any progress I make on this though.

Goals for May

When I left off with my April post, I mentioned that I wanted to use Ludum Dare to kick me out of my slump and I think I succeeded in that. As I type this, there are two pages of improvements and level sketches in my game ideas notebook for my Ludum Dare game. My goal for May is two-fold: I want to spend some more time developing my Ludum Dare game into something closer to complete and I want to work on Pigeon's Quest some more. I don't know if I can get either to a finished state by the end of the year, much less a state where I feel good releasing them, but I figure it can't hurt to try, right?


In closing, as I've mentioned I have been thinking about scope a lot lately. How big is too big? How do I recognize when my scope is too big for a project? How do I better estimate how much work I can do in a set period of time (a month, a day, a year)? How can I trim down scope for ideas I come up with that are too big?

I don't have any answers for that yet, but I am reading about it. For example, I recently found this article where a guy talks about how he loves making small stuff. I don't think that style and speed is for me, but it's definitely a good viewpoint and there's plenty of advice I could use in there.

Do you have any tips for dealing with scope issues? Do you have any links handy to articles or talks about people dealing with project scope? Please let me know in the comments!