I'm Making A Video Game, Part 3: Starting Over

When I last updated, back in February, I had given up on using Gamesalad to make a video game and had switched to learning the Corona SDK. Why has it been five-and-a-half months since I wrote about this? Easy: because nothing much happened in that time.

Corona version of LBDA.
Corona version of LBDA.

So around early March I just stopped working on my game and focused on other things (like starting up a book trailer production business). But I kept the hope of making a game or app alive and rethought what kind of app or game I wanted to make. Plus, since I'd been learning some programming by using Corona, I figured I might as well take the horrible plunge of learning Objective-C 2.0, the programming language on which Mac OS X and iOS are based. Start from the ground up! By this point I'd gone back to my original idea of making an old-school text adventure. So most of the programming wouldn't involve graphics or animation, just getting text on a screen, right?

I bought some Objective-C and iPhone programming books, and I also bought a video instruction series. A few weeks ago I started going through the video tutorials (a 15-hour set!) and quickly got confused as all hell. It soon dawned on me that I was in way over my head.

And that, dear reader, is when I went BACK to Gamesalad. I figured that by now they must have fixed what was broken. So I downloaded the newest version (I think they're on 0.9.6; I left when they were on 0.9.1) and I tried making my text adventure. Well, turns out Gamesalad is not great for text. And all that broken shit I thought I'd left behind is still broken. I'm kind of amazed that it's still busted after 5 months, but hey, they've got their own priorities, I guess.

Okay, so forget Gamesalad. AGAIN. Let's try Corona. AGAIN. This time I knew exactly what I wanted to make Corona do. I just had to find samples of the basic code and make it all work together. And by god, last weekend I figured it out. Seriously, I cracked the code or broke the magic seal or something. I figured out how to display paragraphs of text and change screens based on the user's selections. It might sound simple, but dammit, it was not easy decoding this shit (please remember I have no programming training or experience). So right now I'm fucking proud of myself for assembling a template that works. I say "assemble" because I've been pulling out code from free samples that other Corona users have made and I'm putting it all together to meet my needs, hopefully without breaking anything in the process. Anyway, go me!

Alright, now that I've got a working model all that's left to do is write my damn story and put it all into Corona documents. This will take a while. At this point all I've written is Chapter 1 and it's around 4000 words worth of content. This will definitely take a while. But, hey, at least it works!


I’m Making A Video Game, Part 2: Oh Fuck!

Since I last updated a lot has happened with my iPhone game (called “LBDA”). I made quite a bit of progress on it, up to the point where it was in a playable state and included sound, multiple menu screens and four game modes. At that point I started creating the artwork and adding it into the game.

      Early progress of LBDA from the GameSalad version. 
     Early progress of LBDA from the GameSalad version. 

Then, earlier this week, GameSalad (my development tool) updated their software to version 0.9.1 and my game immediately broke. Well, maybe the game itself still works, but there’s no way to know since all of GS’s preview functions are fucked. I was pissed. Really pissed. What’s even worse is that GameSalad doesn’t even publicly acknowledge there’s a problem. Their go-to line is “well, this software is still in beta and you can use it for free,” which is true. But if they’re trying to build user loyalty they should at least admit they broke something and give a timeframe for a fix.

So, rather than just focus on my game’s artwork and wait for GS to release another update, I decided to switch development kits. This lead me to Corona.

Corona seems cool, powerful and well-supported. Plus, it’s also supposed to be fairly simple to pick up. Simple, that is, if you have some basic programming experience. Which I don’t. But I decided to learn this thing anyway, dammit. Which is where I am now.

I’m slowly (very slowly) teaching myself to use Corona and to code in the Lua programming language. This is not a particularly easy task for someone whose sole coding experience was learning basic HTML back in 1999. But I am making tiny bits of progress every night, despite having to constantly pound my head on my desk just to understand Lua. Right now I’ve got a menu screen with some graphics and clickable buttons that make sounds. Oh boy! At some point I’ll actually have to figure out how to recreate the game part of LBDA in code. Yikes.

It’s pretty disheartening having come so close to completing a game and then having to rebuild the whole thing in a completely foreign environment. But then I remind myself that less than a month ago I didn’t even know how to make anything in GameSalad, and I ended up getting pretty comfortable there. Corona is a harder thing to learn but I think it will ultimately make my game better. Plus, now I feel like I’m really “building” a video game from the ground up, rather than “making” one with a simple toy. I love the idea of GameSalad, but its execution is really lacking. Hopefully one day it will end up being really great. Until then I’ll be over here forcing code into my head. 


I’m Making A Video Game: Begin!

Yes, it’s true: I’m working on my own iPhone game. Well, “games” is more accurate since I’ve got a couple in progress. “How did this happen,” you might ask? Sit down and let me tell you!

Last week I stumbled upon some software which claimed to make it “easy” to develop your own iPhone game without needing to know hard coding mumbo-jumbo. Sure, you’d have to learn the program’s language, come up with the game, design it, do the art, sound & music and somehow make it all work together yourself…but, hey, at least you don’t have to know how to code shit (whatever that means). So I decided to take the plunge into the world of game design. It was actually an inexpensive plunge, since the basic version of the software (which is called GameSalad) is free.

I spent several hours last weekend just reading about how GameSalad works and watching video tutorials. Somewhere in there I came up with my idea and started putting it together. I wasn’t exactly starting from scratch; there are a ton of free GS demos out there that you can learn from. Plus, every time I get stuck on a problem (which has happened a couple times this week) the people on the GS are pretty helpful.

So right now I’m jumping back and forth between two small games, and I might begin a third soon. I like this method because each game will have different challenges to overcome and learn from. So if I solve a problem in one, chances are that knowledge will come in handy with the other.

Once one game is completed I’m hoping to get it on the App Store for 99 cents per copy. I figure I should make a small game and sell it for cheap just to see what the experience is like. I’ll update more as I make progress building the games.   


Milo: The Next Seaman?

While the whole Milo E3 demonstration seemed neat, I think it's unlikely that it will work as advertised. It will probably do well recognizing gestures and body movement but I doubt it will understand the whole "human emotion" thing. Which is awesome. Because the more broken it is the more it will be like Seaman! And if it's LIKE Seaman, why couldn't it BE Seaman? Yoot, get on this baby!


Giant Listing

I've spent way too much time making game lists today. Trying to remember every game I own is an exercise in futility, but having it come together is surprisingly rewarding. "Look at all the great games I have, people!" If only I hadn't left all games older than a PS2 at my parents' house. That would make listing SNES & N64 games much easier! Hopefully Giant Bomb will make it easier to edit and compare collections with other people.