Monkey Style Games

Making games, monkey style.

COLLADA, and a naming.

I have now have

  • a mesh class with batches per material,
  • a simple scene graph (eg a linked list),
  • quaternion/matrix conversion code.

There is a simple model class that contains a tree of “meshes”.

However at this point I really need to be able to load some interesting data. Spinny cubes don’t cut it anymore.

COLLADA is an excellent open format for interchange between 3D programs (like Max, Maya) and your engine code. Until the creation of COLLADA, there was simply no useful way to share 3D information. The specification is deep and well thought out. Everything is described concisely in simple English, and there are even unit tests for the supporting software.

Together with BOOST, I think COLLADA is one of the cooler things to come out of open source recently.

For me (and every other game developer), the problem is that I really don’t want to be loading and parsing DAE files (XML) which describe several thousand polygons each. COLLADA has a concept of ‘conditioners’ and ‘refineries’ which are really just fancy names for old-school game “data converters” or “data packers”.

So my next bit of work is to look at creating a build step with an offline tool hosted on my mac. The build step will simply “make” (in the makefile sense) my nice binary data from source COLLADA files (.DAE).

The cool thing about this is I will be getting my head around Xcode, make, and COLLADA all at the same time. Maximum brain hurtage!

Oh and for what its worth, the “engine” or framework I am developing (as a base for the actual game) has a name: LUXATRON or LXT for short. And I already have the domain name.

I’d love to see “Powered by LUXATRON” on the splash screens of some cool iPhone games in a years time. And my Ferrari will be red. The only colour they should be.

No comments

Good news/bad news

Good news - soon I will get to work on my iPhone engine full time.

Bad news - I’m unemployed.

Anyone hiring?

4 comments

First Screenshot

Here’s a screeny of the customary rotating square demo:

The first screenshot.

Spinny!

Features at play here:

  1. A simple OpenGL ES renderer with a nice vertex declaration interface - currently supporting lit, textured and vertex coloured triangles (or any combination thereof). There’s also a handy wrapper around VBOs that I’ll go into in the future.
  2. Texture loading (currently only 32bit PNG files, massive overkill for the LCD screen).
  3. Texture based font rendering - two fonts are visible here, my personal favourite “Georgia” for the text and “Arial” for the frame timer. The font class uses the output generated by the excellent “bmfont” tool available free at www.angelcode.com .
  4. A slightly inaccurate frame timer :-)
No comments

Getting Started

Confession - I actually got started a couple of months ago, but didn’t think of writing about it until just recently.  Unfortunately, progress is pretty slow, as this isn’t my full time project. However, the good news is that I have a bunch of stuff almost ready to post.

Pardon me while I wrestle with the formatting - this is my first time using WordPress on a non-default format. Small children or those with a weak constitution should avert their eyes for a few days…

I’ve compiled a list of things you need to get started:

  1. Become a registered iPhone developer for free here: http://developer.apple.com/iphone/
    This gives you access to the all the online/offline documents and tools. You don’t need anything for this except an email account.
  2. Get an Intel Mac. A new Mac mini will cost around AU$849. http://www.apple.com/au/macmini/
    You can now install the tool, build code and run the iPhone simulator. Theoretically this should be all you ever need to learn to program for the iPhone - but to run on actual hardware you need the next step.
  3. Join the iPhone Developer Program for AU$129. http://developer.apple.com/iphone/program/
    Unfortunately theres a delay here of a a few weeks while they process your application. You pay once you’ve been accepted, and now that iPhone OS 2.0 is public the approval time should be picking up.
    You need this to be able to sign and execute code on a iPhone or iPod Touch.
  4. Get some test hardware - a new 8GB iPod Touch from eBay is around AU$300.
  5. Once you have hardware and dev program access, you can then follow an incredibly baroque process of certificate generation via the developer site. Once done, you’re now ready to have your own gravity sensing teapot application.

Total cost (if you don’t have a Mac or an iPod) = approx. AU$1278.

2 comments

But why?

1. The iPhone/iPod Touch is a sweet machine: with a kick-ass CPU, and a kick-ass GPU.

2. The development environment is free(-ish) if you already own an Intel Mac. (More about this next time)

3. You can develop in a real compiled language in the C family - C/C++/Objective C. Inline assembly works. No JIT compilation, no virtual machines, just you and the code you wrote.

4. Personally, its a new thing to make my brain hurt while I learn, and thats when I’m happiest.

4 comments

Hello, world!

My name is Justin. By day I am a games programmer, but by night I am … a games programmer.

Over the next few months I will be developing a game for the iPhone/iPod platform, and I thought I should share some useful tidbits of information as I go. I hope this information is useful, and saves some time for someone banging their head against a wall.

Also, I frequently enjoy a good rant about games and game dev in general. Golly, I’m looking forward to it already.

No comments