Crap Flight Simulator 3Submitted by Earok on Mon, 03/15/2010 - 17:05
It's a tradition of mine to try and make a bare bones flight simulator in every 3D engine that I adopt, sort of my version of 'Hello World'.
Crap Flight Simulator 1 was my first attempt at a DarkBasic game (Actually my first attempt at a 3D game, period.) which was primarily to test out the terrain capabilities. A few months later I made Crap Flight Simulator 2 when I was trialling BlitzBasic, and I was so impressed by it's capabilities and ease of use that I immediately decided to switch.
On Sunday I spent half the day working on Crap Flight Simulator 3 in XNA, and well, here it is:
I guess that makes me officially a XNA user now!
Okay, it's not really much to look at (The terrain is stolen from the Creators Club Tutorials) but I am happy with what I have achieved. The main thing I worked out was how to rotate vectors (Which are used for representing 3D position) around quaternions (Which are used for representing four dimensional rotations - Don't ask) and then move those vectors forward/backwards, left/right and up/down relative to their local rotation rather then the rotation of the game world.
One of the things that bugs me about XNA is how it lacks a lot of the stuff Blitz3D had to make it easy to use. The quaternion based rotation above is a good example, in Blitz3D you never even had to think about it as it did all of that stuff in the background. It also lacks built in support for heightmap based terrains, creating primitive meshes (Spheres, Cubes etc), collisions and so on. I find that you have a lot more power with XNA, but it takes far longer to get anything decent working.
That said, I have started to code a Blitz3D inspired Library with C# and XNA that will help me build my future projects. I may open source it if it becomes any good.
Probably going to go quiet on the blog for a bit. Going on a vacation soon, then straight after that I'll be doing ScriptFrenzy.