Space Rings 3D now on the Android Market

I did the development work for Space Rings 3D, released by Tribaloid to the Android Market today ($.99 download).

Space Rings 3D is an accelerometer-based game for Android-based phones and tablets. The basic premise is to guide a ball through a series of rings, getting points for passing through rings. Survive as long as possible against the clock, and pick up various power-ups along the way.

The game is intended to work on a wide range of devices with various graphics processors, different screen sizes, etc. Supporting many different devices is definitely a challenge with Android.

I used the excellent LibGDX library to take care of a fair amount of OpenGL cruft, as well as input handling, asset management, etc. Definitely recommend.

No Comments

Android game: Space Rings 3D (alpha)

First public version of a game I’ve been working on for Tribaloid. Getting close to the initial Android Market release, but not quite there yet.

Get the APK directly or via this QR code:


For the curious:

  • Implemented with libGDX as the core engine, using basic OpenGL ES 1.0 for the most part.
  • Straight Java, except for the native parts handled by libGDX
  • About 140 hours of effort so far

Here’s a video of a much earlier prototype:

No Comments

Chum now on github

I decided I was far enough along on Chum to put it up on github:

It’s far from complete — I’m really just working on the proof of concept now: will it be reasonably easy to use to build a full game, and will it perform decently for some relatively simple stuff out of the box?

But so far, I am pleased with how it’s coming together.  I have liked several things about using the tree of GameNodes for everything, with GameEvents to manage communications between nodes.  I recently added GameSequence, which makes use of both.  It’s intended to be the basis for managing animations and such — I already used it to implement several text animations, as shown in the AnimatedTextExample:

                // Shake side to side
                animation = new GameSequence.Series();
                int offset = FP.intToFP(30);
                to.x = center.x - offset;
                to.x = center.x + offset;
                to.x = center.x - offset;
                to.x = center.x + offset;

xI hope to be working on a couple of actual games using Chum in the near future — a 2D game called ‘Misma‘ ported from the iPhone, and a simple 3D action game along the lines of ‘3D Cube Race‘,  but with a lot more to it.  And I’ll be at Google I/O in a couple of weeks, and would be more than happy to talk about Chum, game engines, games in general, or whatever…

, ,

No Comments


I’ve just started a new game engine for Android called Chum.  I’ll be using a lot of code and knowledge from the engine I wrote for CowPotato, as well as from many other resources, so it’s not a from-scratch effort.  The main focus on the engine will be:

  • 2D and 3D OpenGL ES
  • Incorporate best practices for OpenGL setup, touch and accelerometer handling, etc
  • Simple loading and management of meshes, textures, sounds
  • Handle much of the boiler-plate stuff like exception handling

It’s not intended to be a super-duper, whiz-bang engine to start with.  It will mostly be geared at my needs for some games I have in mind (including fixing lots of problems in CowPotato), and serve as a testbench / prototyping tool.  A general game engine will never be able to be as finely tuned as a purpose-built engine for each game, but it should be sufficient for a wide variety of applications, at least as a starting point.

I also plan to make Chum open-source, but I’m not sure how / when that will happen.  I’m thinking of some possible business models (to get at least some marginal monetary benefit) such as services / tutorials based on Chum, but I still have a lot to figure out.

No Comments

Current Android game offerings pretty disappointing

I spent a hour or so yesterday browsing the Android Market, specifically looking for games for my three-year-old to play.  His first question about every game: “how do I shoot.”  I really don’t see many good options among current offerings.

I’m still working on CowPotato, and one thing I plan to add is a ‘toddler’ mode with simplified aiming — the current controls are a bit beyond my son.  But even if I’m looking for more advanced games, there are few action games to choose from.  That is, if you don’t include all the emulator games and XGalaga clones.  Come on, people!  How about putting some effort into something slightly original?

I’ve got a couple other projects going, but it’s painfully slow, trying to make time to work on them.  Android may not be even close to as good as an (action) gaming platform as the iPhone, but there’s still a lot of untapped potential, and I’m still excited about going after that.  I’ll be blogging a bit more about my upcoming projects shortly…

No Comments

First Android game: CowPotato

I developed CowPotato along with the guys from Froogloid, over the summer of 2009.  We targeted it from the beginning for submitting to the Android Developer Challenge 2, but we’ll continue to support and improve it in the normal Android Market as well.

CowPotato was released to the Market in beta form on Aug 24, and submitted to ADC2 Aug 31.  We hope to have a non-beta release ready to go by Oct 1, and a enhanced pro version soon after that.

As part of creating CowPotato, I developed a 3D game engine that I plan to polish and reuse for more games in the future.  My eventual goal is to make that engine public (most likely as an open-source project) for others to use, but it needs the experience of a few more games before I’m ready to do that.  I will be writing future posts about game deevelopment issues here, so I hope to see you back soon.

, , ,