User blog:C3PO the Dragon Slayer/Avian Hunt: June 17, 2008

June 17, 2008
I'm well on my way to finishing the collisions system, which is what is used to detect if a ship is hitting the ground, or if a laser is hitting a ship, or if an asteroid is hitting a building (who knows?), knowledge that is absolutely crucial in simulating a space battle.

Thanks to Jesper from the Game Maker Community, I have a program that could extract data from a Game Maker model file and determine boundaries that should be checked for a collision (forming a box). I modified and extended this program to better fit my needs, and I am continuing to develop it to ease future tasks, including generating lasers at the correct spot (straight out of the gun), drawing turrets on the Millennium Falcon and other ships, and creating the collision models for capital ships.

This has also been made very easy thanks to Hanson's ModMod Collisions Dynamic Link Library (DLL), which performs the calculations to determine collisions outside of Game Maker. This makes everything faster and more effective, not to mention much easier. I also have a pretty neat terrain system functioning, which randomly generates hills and ditches, and with the tweak of a single parameter, create rolling plains, crystal steppes, or tall mountains. Depending on the texture I choose to use, it can look like the Dune Sea on Tatooine, a generic grassland, or an enormous advertisement for Mos Eisely brand Juma Juice (game developers have the right to fool around too!). Since I also have everything ready for the Jedi starfighter (the Delta-7 from Attack of the Clones, there's nothing stopping me from adding another playable ship. But I'm taking things one at a time; I want to test the collision system thoroughly before I do anything else.

Also on my immediate agenda:
 * 1) Switch to mouse controls
 * 2) Add targets to shoot
 * 3) Construct an HUD, which can toggle radar, health, etc.
 * 4) Add more ships!!!

The next update will ask for a preferred format for an HUD, including several options.