Vthrust
Work launched a G-GAY Games center, and suggested that we should submit something. I just did a clone of the old C64 game Thrust.
This project uses VIVID runtime, by Acrodea. Which is a C and C++ wrapper API for Android (iphone?). OpenGL, OpenSLES/OpenAL and so on. Although, OpenAL did not work correctly so do not use it. You can get the SDK from [1].
The SDK is still very young, and quite rough around the edges. For some very peculiar reason, they took a platform (Android), famous for its inter-platform development (Windows, OsX, and Linux!) and made a Windows Only SDK. Wow! But that is pretty much for-the-par with GMO.
So due to that, I run Windows in VirtualBox just for compiling. This meant that the VIVID UI Builder did not work correctly, and I had to set the callbacks from code etc. No matter.
I use Eclipse for compiling. So if you fetch my sources, you most likely want to use Eclipse too. But it should not matter.
Sources are here
#Sources fix me
The Ground is done with triangle meshes, I use the OsX program called Meshwork. No real reason, except it let me just draw lines, and later fill in triangles. Most 3D modelling programs have methods for creating cubes, and more complex objects, but no free-drawing. That aside, creating a world is quite easy, but tedious.
I use the Bone feature to place objects in the world. Click on the place to create a new Bone, then name it:
Bone name Description SHIP Player Ship placement. BALL Pod placement, this should always be on flat ground, so place bone on a horizontal/flat polygon line/ground, and pod is adjusted upwards to rest it correctly. FUEL Fuel tank placement, place directly on horizontal/flat line/ground. PLNT Power plant, as above, place on ground. TU00,TU01 Turret/Limpet 0 gun placement. Use TU00 for center positioning, resting on a line. Use TU01 as left-corner, to set the angle of the turret. TU02,TU03... Turret 1 placement...
Once you have saved the Meshworks file (which appears to not have an extension?) The ground data is processed into game format, using:
# ./level_load meshwork_file output_file
My thrust clone divides the world into squares, of 1.0 Unit in size. In Meshworks, this is actually 40 Units. It uses