free flight racing game: maGlev

Hi all

After being shy for two years as I gained experience in Blender, I present my first in-progress Blender game, maGlev.

maGlev is a racing game set in an industrial future, but with a difference. An explanation:

Originally I wanted to make a Wipeout style game, and my early efforts were along those lines. A trend I saw in futuristic racing games was for the racing craft to become ever more sleeker. I found the aesthetic quite dull as designs became Wipeout derivatives and very difficult to make something original so I decided to do the opposite- light, sleek machines became large and mechanical, a heavy industrial aesthetic influenced by trains, factories and the like. See the next post for concepts:

As the title suggests, the ships are capable of free flight using magnetic levitation. Although not scientifically accurate, I like the idea of giant dipole magnets and the machinery to keep them running.

Since weight is no issue if you can levitate anything, each vessel can carry a large payload. Payloads can be offensive weapons or defensive measures. However, carrying weapons / defenses will make the ship fly slower due to the strain on its engine. Payloads can be jettisoned in flight once expended to increase speed. Players and AI might choose not to carry anything at all, and have a speed boost from the start.

Weapons can be damaged through impacts or combat, and there is a chance of explosion if the AI /player does not jettison it in time. Each ship has a power rating, and this rating determines the size of payloads it can carry. So large, slower vessels can carry heavy payloads while light, fast ships can only carry small items.

Weapons are (provisionally)

  • Vulcan auto turret: a light defensive payload that automatically targets the nearest hostile vessel. It is similar to the Phalanx cannon seen on today’s warships.
  • Beam laser: a focused beam of light that burns its target. Since the beam travels at the speed of light, damage is instant and will continue with prolonged contact with the target.
    *Rockets: unguided missiles with a high explosive warhead.
    *Guided rocket: a lighter ‘smart’ munition that actively seeks its target until its fuel is expended.
    *Plasma lance: a high energy, short range beam of plasma that easily cuts through targets. Its sheer power is mitigated by the unstable nature of its fuel that will detonate if damaged.
    *Shield: a magnetic envelope that surrounds the ship and payload. It will deflect projectiles and energy weapons. The shield will track one target only.
    *Mines: jettisoned in the path of pursuing ships (or placed strategically) these munitions explode in proximity of enemy vessels.
    *Enhanced mine: a single, subkiliton munition that deals lethal damage in a large radius. This bomb will not discriminate so the player /AI dropping it can also be destroyed.

The fiction behind the teams, tracks and ships is yet to be developed. I made a decision to focus on making the game work first (and in doing so found a love of scripting, despite me not understanding it fully).

Here is a very early video that shows AI ships flying around a test track. I wanted to provide a sensation of speed and fluidity, and of course, manic fighting: (This was my first go at recording footage so apologies in advance)

Completed features:

*AI pathfinding: the system uses nodes that AI track. Each AI knows the distance to the next and last nodes, and from this a distance flown can be calculated (and thus work out a race position). As far as I have tested this, both aspects are reliable.
*AI collision avoidance: AI will avoid collisions with other ships and scenery, and will take evasive action if critically damaged.
*Timing /position: ships have a lap, best and race time, real time position (1 st, 2nd etc) with the supporting logic of starting a race /race countdown (i.e. 3,2,1 GO!)
*Weapon logic: turrets autotarget, damage calculations, payload explosions are complete/ near complete. Turrets are true turrets in that they comprise of a base and separate gun that move independently of each other.
*UI: Game menus (driven totally by joypad with no mouse required) complete. UI will randomly select weapons and randomize racer positions on the starting grid.
*Incidental effects like smoke and dust during low flying are partially implemented (the squares in the video)
*Although I might not use it, each ship has a variety of camera angles available, and the player can jump to other ships in the race at will. I also have a ‘grandstand’ mode where the player can see the racing from the ground. This view is automatically used if the player is destroyed.

To do:

*Player controls
*Artwork, assets and supporting fiction
*Cockpit views
*Generally unify the separate projects- timing, AI and UI were developed independently.
*Overlay scenes (game over, race stats, in game HUD)
*Sounds/SFX - music I would like to keep to having a folder for players to drop their own music into.
*And other stuff I’ve forgotten

Also, a big thanks to Lah, Monster, MarcoIT, Agoose77, SolarLune and the countless others who have helped me all these years to get here.







Great job! Looks awesome! Do you plan on using glsl or just the simple shaded?

Thanks! I intend to implement GLSL shaders at some point, depending on performance.

Some more concepts (the aborted Wipeout ‘wedges’):



And some more ‘industrial’ stuff:




And a slightly better view of a laser battle (towards the end of the video, before the player AI gets destroyed).

A test of the autocannon:

A bit of an update:

I have fused the verious mini projects into a whole game loop now- I actually have the working skeleton of a game!

A lot of things I will have to revisit, and the assets (scripts mainly) will need to be transplanted to a clean file (my current project ‘prototype’ file is full of rubbish and dead links /missing files).

Started thinking about the heads up display:

It shows times, split times, speed and orientation, along with highlighting other racers / waypoints. Eventually I want to have indicators for hostile weapon lock-ons (plus a few tweaks).

(Thanks to SolarLune for the basic ‘tag’ script!)

A long time with no updates, but the project still lives! This video shows:

-a stripped down HUD
-20 AI racing
-one active weapon (autocannon) but also other AI carrying dummy weapons like mines
-roughly blocking out the designs for the racers

There is lots to fix as this was a little hacky, but its getting there!

Some more concept stuff- feels like ages since I drew anything…

Attachments


Hi all, projects not dead! After a bit of a break I’m working on this again. Progress so far:

Optimisation- I have 20 other AI flying and fighting with only 25% logic overhead (compared to over 50% before with 10)

Weapons-I have now a self targeting cannon, laser, mine layer and flamethrower weapons working (with fun results!)

Various tweaks to the UI

Sorry no video, CamStudio does not want to play nice…but soon!

Hey! I’m glad to see your still working on this! Looking forward to future updates!

Some title screen concepts:




Another menu concept…

A low res (but smooth!) video of things moving around…

Another update:

The cockpit is now feature complete, it has:

Head ‘bob’: on sharp turns or changes in direction the in game pilots head will move with the turn
Waypoint indicator
Artificial horizon
Readouts via video display unit (VDU): this is a test for some ships that have enclosed cockpits and ‘see’ via cameras rather than windows- I hope to make these ships claustrophobic. The downside is the imageRender eats about 5% extra logic…quite a luxury!
Slightly tweaked AI to overcome odd bugs
Weapons now only activate after a set number of laps (in the test the fighting starts after lap 1, although there is one last bug to squish)
4 fully operational weapons: plasma cannon, vulcan cannon, laser and mine launcher
Removed several redundant HUD overlays- all readoouts now are physical cockpit objects