Yay to loads of updates!
To start with, I need to ask quite a big question, would you all preferred it if I kept to the simple dog fighting style game, like Star Wraith by SW3D games, or should I move to a more free-form orientated thing, like Freelancer? This is because I want to expand the game to include flying on planets and stuff like that, but I can't do that with my current gameplay style.
I've been pretty busy lately but there's lots of new things I've integrated into the engine. I've replaced my consoles built in scripting language (that was somewhat like Source's console) with a lua interpreter, so you can now define variables and functions in the console, call other lua constructs like for, while and if, and call external lua scripts

Adding on to this, I've also ported most of the hardcoded scene creation code into lua scripts aswell, so creating the screenshot below required the following scripts:
autoexec.lua (the script automatically executed on startup):
-- STARTUP SCRIPT
print( "Transcendent Version " .. version_major .. "." .. version_minor .. "." .. version_patch )
-- load the default test level
sm_load( "test" )
game_start( "testScenario" )
test.lua (this creates the scenery: skysphere, planets, etc):
sm_setupSkysphere( 0 )
sm_setSunDirection( 0, 0, 1 )
-- spawn the planets
sm_spawnPlanet( 6000, -1000, -6000, "test-planet1", 2500 )
sm_spawnPlanet( 2000, -1000, -1000, "test-planet1-1", 500 )
testScenario.lua (this creates the players and teams):
-- create the player
player = pm_spawn( "SerialVelocity", 0, "Transcendent", sc_local_keyboard, 0, 0, 0 )
pm_setCurrent( player )
-- create the ai opponents
for i = -5, 5, 1 do
pm_spawn( "BOT", 1, "", sc_bot, i * 100, 0, -300 )
end
I've also completely rewritten the ship manager to support building ships from parts, parts being defined in a config file like this, and built from these parts:
// format:
// [id]
// type = type number
// mesh = mesh filename
// name = BY/WG/EN/EX-NAME
// mass = mass in kg
// ap = armour points
// sp = shield points (body only)
// link = linkID, x, y, z (child parts attach at this position)
// mirrored_link = linkID1, linkID2, x, y, z (body only)
// same as:
// link = linkID1, x, y, z
// link = linkID2, -x, y, z
// thrust = acceleration in m/s (actual thrust = ( eng1.thrust + eng2.thrust + wing.thrust + ... ) / ( totalMass * 60.0 )) (engine only)
// glow = glow effect x, y, z (engine only)
[100]
type = 1
mesh = 100.mesh
name = BY-TEST
mass = 8200
ap = 5000
sp = 7000
mirrored_link = 1, 2, 11.1, 1, 8.5
mirrored_link = 3, 4, 5, 0, 24
Please ignore how terrible my modelling skills are

each ship you can see is built from 3 different parts: a body, wing and engine (oh and I broke the gui code).