July 03, 2008

Galaxy (My New Toy)

Although its not quite ready for a release, my Galaxy program is doing fun and amazing things. What is so special about it? It is very high 'extensible'.

Basically, I mean that everything about it: from how the objects look to what they do, is easily modified by any without programming knowledge.

Each object on-screen is a pair of files: one which tells the program what picture to use, and one which is a series of commands for that object to process.

The commands vary from simple (go forward 5 units, turn left), to the more complex (home on enemy missile targets, explode with a given force).

Additionally, objects can spawn other objects, which in turn can spawn other objects, and so on. This makes it a dynamic and growing system, easily expanded to do new and interesting things.

You can see in the picture below a brief shot of the action. The Millenium Falcon ship in the upper left is launching mobile missile turrets.
Each missile turret is launching 4 missiles, waiting a few seconds, and doing so again.
Each missile is homing in on the player (the Falcon in the lower right), and exploding when it dies.
You can see the player has fired lasers, destroying some incoming missiles. On the left, you can see a chain of explosions: one missile hit the player ship, blew up, and that in turn detonated the missile behind it. These explosions chained up a long column of inbound missiles.

While this seems complex, its just a bunch of relatively simple objects interacting. And changing one line in a text file could quickly add new and dynamic effects.


I've gotten the program able to run in Linux and in Windows. Soon I'll have it ready for folks to play with, and will post it then.

Also, as is incredibly obvious, I could use the help of someone with artistic talent: my missiles shouldn't have to look like bulimic red giraffes.

Posted by Moore at July 3, 2008 09:01 AM