Thursday, September 27, 2012

Game Engines

There are many choices for a mobile 2D game engine.  There are even multiple free, open source ones.  So far I've been able to narrow it down to two engines that look promising: Cocos2D and Moai.  Both of these are free and open source and seem to have an extensive community supporting them.  The company that creates Moai has some extra services you can pay for, but it's not required.

Cocos2D seems to have the advantage in thorough documentation.  Also, it was created with the iphone in mind, so it's easy to integrate.  The big disadvantage is that it only runs on the iphone.  Moai will compile to iphone, android, or even a desktop app.  Also, Moai has a video of Tim Schafer extolling its virtues.  I love Tim Schafer.  The main thing I don't like about Moai is that the interface is Lua.  I'm just not a big fan of dynamically typed scripting languages.  At least not for performance critical applications like games.  Too much going on under the hood.  Also, arrays in Lua start at 1 instead of 0.  That bugs the hell out of me.  (I know, they aren't really arrays.  But still.) 

So I think I'm going to stick with Cocos2D for now.  I don't want to have to worry about multiple platforms at this point anyways.  If my game is successful, I can always port it to Moai.  The engines can't be too different, right? 

Wednesday, September 26, 2012

Starting anew

Over the weekend someone asked me what my target demographic is.  At the time I said 'everyone.'  But that's not really possible.  Also, that's not really my objective.  No, my target demographic is just one person: myself.  I'm making a game that I want to play, and if others end up wanting to play it as well, that's cool.

So I started my prototype, as evident from the photos below.  The basic idea I'm exploring is a puzzle game that is somewhere between a strategy rpg and chess.  I know I said I wanted to do something closer to Go, but chess just works as a better analogy for individual characters and positions.

Friday, September 21, 2012


It turns out running unity on IOS is not included in the free version.  There's a 30 trial for the ios integration, but after that it costs $400.  Now, that's not a huge amount of money, but it's more than I want to pay to just mess around for a while.  And I really need to mess around with the controls on a phone to make sure the mechanics are fun before I start seriously working on the game.  But that actually got me thinking, maybe the game I have in mind is a bit too ambitious for a first outing?  It might be better to try to create something very simple first and just go through the process of releasing something.  I'm sure even a simple game will be many months of work.

So for something simpler it will probably be better to go with a 2d game engine.  I've been talking to James Morrison who runs SpinTingle, and he's been pretty happy with Cocos2D.  He's about to launch a very fun little puzzle game using it.  The disadvantage there is that it's iphone specific.  So all you android users loose out.  But it's just a hard truth that games sell a lot better on ios than they do on android.

So now I need to come up with some 2d game ideas.  Puzzle games are generally good because they don't require a large amount of assets.  I was at a game design conference the other day, and one of the useful takeaways I got was that almost any game can be prototyped with cut out pieces of paper.  That's what Luca Redword with his widely successful (and relatively simple) game 10000000Check it out.

So I think I'm gonna try that.  I still need an initial idea though.
Let's see, I really like strategy rpg's but they're generally too complex for a phone.  Maybe if I boil the idea down to the basics?  Or most strategy rpg's are kind of based on the mechanics of chess.  Maybe if I did one based on the mechanics of Go?  (A game with much simpler rules).  I might be getting too ambitious again...

Thursday, September 20, 2012

Platformer Demo 2.0

Platformer Demo 2.0 is complete(ish)!  Go check it out here

It took a while to get the animations to import correctly.  And it also took a while to get the running animation to look right.  I spent a lot of time tweaking it since the post below after getting some tips from a professional animator. Animating a run cycle is a lot harder than a walk cycle it turns out.
Anyhow, now I feel relatively confident in Unity.  The tutorial goes on to add enemies and splash screens etc, but I think it's about time I start on my real game.  So "new project" "BattleBallz"!  (Except not really since I'm sure that name is taken).

Sunday, September 16, 2012

Relearning Blender

So about four years ago I started learning game development using a combination of Blender for modeling and JMonkeyEngine for the game engine.  Recently I dug up that old code to try to pick up where I left off.  Both of those programs are now many versions ahead of where I left them though, so it's time to do some relearning.  JMonkeyEngine I'm going to scrap in favor of Unity3D.  There seems to be a lot more community support for Unity and it has the advantage of being able to compile to almost any platform out there (including ios and android).  Plus, it uses C# instead of Java.  C# has really grown on me as a language.  Especially with some of the functional programming constructs they've added.  Generics, lambda expressions, and custom iterators (with IEnumerable) make for some very pretty code in my opinion.  But I'll talk more about C# and Unity later.  I wanted to talk about Blender here.  Now, don't get me wrong.  I love Blender.  It's free, open source software that can do absolutely amazing things.  But it can be a real bitch to learn.  There are just so many controls and options and modes and sometimes clicking here does one thing and other times it does another thing and arrrgh.  Plus they moved everything around since the last time I used it (now on version 2.6).  But I'm slowly relearning how to do things.  I recently added a running animation to the Megaman Z render I made years ago.  I think it came out alright.

I'm back

So yeah.  Back to this whole blog thing.  I had stopped because it turned out the project I was working on was no longer needed.  But now I'm starting a number of new projects.  The eventual goal to to produce a game of sorts.  But I want that game to be polished, so I'm taking the long route.  I'm taking my time to familiarize myself with the available tools and meeting other people who are into game development.  My plan for this blog is to document my progress and hopefully that will in turn motivate me to make progress.  I'll also be posting my sketches and doodles along with some random thoughts.  You know, the usual blog stuff.