Here’s a 3-d, 6 degree of freedom asteroids game, an exercise to get familiar with Blender.
blend file: http://www.tomlechner.com/games/Asteroids.blend
(yikes the youtube image preview looks really ugly!!)
Being my first try at really anything in blender, I’m sure there’s a lot of stuff that I’ve not done in a reasonable manner…
Some problems still to be solved:
Text is rather annoying. Using dynamic text objects for the moment, with a terrible hack to get it to not be pixelated, I need to figure out the text as texture approach. I tried to use the text sheet creation program at ashid.sk, but it won’t run for me…
There’s a horrible stutter that sometimes crashes the game when blowing up asteroids nearby. It just involves spinning objects that are not supposed to be collidable, but somehow, physics starts hogging everything, resulting in the stutter… Doesn’t happen when further away. Otherwise, it stays around 60 fps pretty constantly.
I tried to use an equirectangular image mapped to a uv sphere, but around the poles there was a horrible pinching, even when the unwrapping had full rectangles for the polar polygons. It seemed the default shader was dividing that square into two triangles, and favoring one. The square is distorted into a triangle, so the result is only one half of the square is visible. Arrrgg!!! For a star field, this is very noticeable. Tried to triangulate, but got frustrated. To fix this, I remapped to a star-cube instead of a star-dome.
Some objects I tried to have a local spin, but when parented to another object that was spinning, the spins didn’t compound. Is there an easy way to do that? Ended up having a script keep the object origins synchronized, and no explicit parenting.