The Official Y-Frust Page !

Last updated 22/9/99

At last, after over a year of having no time, I've actually produced something for the Yaroze. Hopefully its of interest to someone other than me!.

Ok...so now I want a job in the games industry. :) (no, seriously !)

The Demo:

There isn't a game yet, just a first attempt at 2D arbitrary polygon collision detection/physics engine thing. Download my project in its current form ---HERE---.

Its a zipped file. And just the binary+support files at the moment; I'll release the code when I'm a bit happier about it and the bug count is reduced. Just dump everything in a directory somewhere and run "auto" from siocons (or whatever you use). Any feedback is welcome, of course (try jmo@maths.gla.ac.uk for the moment)

Whats in so far:

You can just fly a polygon ship around a map at the moment. The main feature is the bouncing off walls! See how many walls you can hit ! Count 'em ! Guessing the controls will keep anyone amused for a few seconds. I need to add ship/map editors though, and so there's only one ship and one map in the downloadable demo. At the moment the code actually works for arbitrary polygons for the ship, but just boring squares for the background tiles. There is one annoying bug that occasionally makes the program crash....but how many times a day do you boot your yaroze anyway ? Triangular background tiles will be working when I can sort out a couple more bugs! Having both ship and background arbitrary shapes means collision detection involves an annoying amount of extra effort, and my code for this is also still quite buggy - I'll be back to working on this once I've sorted out the triangles and a few other things. Collision detection is actually point-wise, i.e. only check collision of vertices of ship polygons. This is near enough pixel-perfect detection if enough points are used to represent the ship.

Whats yet to be included:

Ship shape editor. Map editor. Some enemy ships, and bullets to shoot them with. It will eventually be possible to tailor lots of parameters of ships/map/physics of the environment from an in-game option menu. The code is set up so that polygon ship-objects can be dynamically altered, so it will be possible for the ship shape to alter in response to e.g. damage, enhancements; can even have just a time-dependent shipshape.

Extending the engine to 3D collision detection - in principle fairly straightforward (moving from 4 quadrants to 8 octants...if you're interested let me know). but need to remember that theory and practice are not always the same... Will also depend on how the 3D environment is to be represented.

Can anyone say Oids, Asteroids, Thrust..... Anyway...the main inspiration for this demo is Xpilot, a multiplayer 2D network shoot em up! Anyone who's interested should check out the Official Xpilot Page. This game has much depth!

I'm aiming to be a bit more ambitious with the collision detection in my demo though.

People to thank: Ok, I found the material from several tutorials/demos to be extremely useful when getting started. Thanks to everyone. Names that spring to mind are James Russell, Peter Passmore, Robert Swan, Scott Evans, but I'm sure there were others.

Tip for the year: Its amazing how efficiently you can get by without a floating point unit (but I'd much rather have one)!