|
|
 |
Using the Cube Engine to replicate Mechassault &
make......

The cube engine is a multiplayer, online cross platform FPS
engine that has been around for many years and is probably the
pinnacle of Open Source online game development. It is specifically
designed for the online multiplayer FPS experience and it has been
used in commercial games. The latest, is
Saurbraten (Cube 2)
and there are a few major children (
Assault Cube, Eisentein rpg ) of which the
slickest is
Blood Frontier, a
Scifi FPS shooter.
While I was playing Blood Frontier that
I suddenly realised that all the basic online game play existed in
the engine to do MA 1. The major changes would be the
models (player mechs, weapons and effects, destructible
terrain/buildings and the of course maps. Cube includes an idiosyncratic, 'on
the fly' map editor. it's pretty cool but with a bit of a learning
curve. You can even do cooperative editing online.
A few tweaks to the engine to accommodate 'mech behavoirs and
get some people map making, it would be more than half way
there. I had modded the HUD and the game
menus in the past, so it mostly came down to models.
I thought I might try a proof
of concept. I have a simple Madcat model, not fully animated but it
walks, turns and falls over (typical Madcat!) I thought it wouldn't be to
hard to import this model into the game.
That was some months ago.
My Misadventures with Models.
I am not very good in the 3rd dimension. I have done a little bit
of model making in 3DSMax but never had any facility with it. The
player models that come with Cube are Quake/Doom md2, md3 and md5 models. The
tool chain that may people use is to import a model from 3DS studio,
Maya or similar into Blender, which has import and export scripts
for quake models. Won't bore you with the details, but basically I
couldn't get the import or export to work, nor could I use any of
the tools I had to view the md5 format. End of project.!
NOTE: I have started a Google Code
project mech-arcade
Any further progress will be reported there -
visit
|
General Comparison between MechAssault 1 and
the Cube Game Engine
I have starred the areas where most work is needed
and ranked them according the difficulty. The most important and
most difficult is building the mech models and getting them to work
properly.
|
| |
Mechassault 1 |
Cube (eg Blood fronteir) |
|
| Online team play |
upto 8 |
more than 81 |
|
| Server |
Xbox Live |
Comes with server app, anyone can
host. * 2 |
|
| Campaign |
Fixed |
Can string together levels, can have
triggers and events 3 |
|
| Graphics |
DX8 |
Open GL |
|
| Platforms |
Xbox only |
Window, Mac, Linux
(No OpenGL on the 3604) |
|
| Basic FPS functions (power ups, health5) |
Some |
Most5 |
|
| POV |
3rd |
3rd, 1st, Camera |
|
| Destructible terrain |
yes |
Yes. using quake models **
6 |
|
| Player Models |
X models |
quake 5 models ***
7 |
|
| Weapons |
N/A |
quake models**8 |
|
| Maps |
??? |
create with inbuilt editor **9
?import .obj files |
|
| Comms |
Headset/voice |
Text - would need teamspeak,
xfire or
similar to add voice * |
|
| Input |
Controller |
Keyb/Mouse - mods available for
controllers * |
|
| Customizable |
No |
Yes * |
|
| bot team players |
No |
Yes |
|
| |
|
|
|
Notes
- Out of the box it all seem to work well.
- Again it seems to work well, in my one
attempt.
- The triggers and events can be used to add
more complex game play, such as would be needed in a SP
Campaign. There are some examples with each Cube flavors.
- Do any 360 games use OpenGL? Does it exist at
all on the 360? Answer:
NO
- MA only needs health and weapons, Cube has
armor and others.
- This would need to be quake models, not sure
if md3 or md3 would work or need md5. I have had a lot of
problems even viewing md5 models, there seems to be a few
flavors. I haven't been able to get Blender to even import the
character models.
- This is the hardest part of the job. Point 6
is also true for this.
-
Some thought is needed how to do
the weapons. it may be you only need to see the blast/beam/missle
rather than the weapon, and just use an indicator in the HUD
-
Maps are a very big job but
unlike the quake models, the tool chain is all there ready to
go, just waiting for a few obsessive compulsive personalities to
do it. Look through the maps, there are many good maps to learn
from.
|
|
Functionality Issues
The engine offers a bit more than MA
uses. What's in and what's out.
- POV - ?3rd or 1st or both
Probably
Both
- Jump Jets - will probably need engine
and model changes, though it is not impossible the behavior
could be scripted
- Jumping - the engine does it already.
?turn if off? ?could it be adapted for jump jets
- Pilots and Battlearmor -
Probably Not
- VTOL - Probably Not\
- Alpha Strike -
Probably Not\
- Reduce weapon types Probably
Yes -
see
here
- Controller mapping
- Mech behaviors - try to reproduce all
- Balance mechs better -
Probably because of forced weapon
changes
Engine Mods
I was hopeful of no engine mods, however
other than perhaps peripheral things like radar. There are a number
of behavoirs and functions that will probably require engine +/-
model changes
1. Weapons
Some changes would be necessary. The more you could
use original models, or rather the projectile & fx the better,
as you would probably remove actual weapon models given the mech
POV.
See here
2. Health pickup after death
The goodies may be able to be managed with the current
engine
3. HUD & GUI
Looks like all can be done without engine changes
4 Mech behaviors
The engine would have to Actions: Running,
Walking, Flying, Gimped,
Heat management
Damage Fx (impact animation, visual damage cues, gimping)
5. Input
Controller mod does exist, have downloaded
6. Physics
????????
Major Model Changes
1. Damage effects
2. Ragdoll behavior at death, needs explosion 3. Torso
rotation
4. Flying
5. Targeting effects (targeting, tracking, null sig, chaff)
6. Invisibility
HUD
1. Radar - should be able to be turned on
2. Graphics/Style
Menu & GUI
1. Layout
2. Graphics/Style
The first draft is here >>>
A more detailed, up to date version of step 1 is
here
For weapons see
here
First Cut:
I have a cunning plan Sire?
Mission
Objective: Reproduce MA1 online game play using the Cube Engine
Step 1 - Proof of concept -
3 months
Get a mech model into current maps, a basic a proof of
concept.
Reskin the GUI to make it more mech like, including radar
Set up the 'tool chains' for code, models, maps and graphics
Note 1: Main difference(s) between a
MA style mech the current
player model:
- the torso rotation and effects of gait
- the damage
fx and gimping
- targeting fx (nullsig, chaff)
- invisibility
- weapon handling
- heat management
Note 2: The Mech would be a player not a vehicle b/c the
cube engine doesn't do vehicles without modding the source
Start with only a few people, a lead, a
modder, map maker, a C coder (if possible, I would be hoping not
to mod the engine ) and someone network/server savvy. These
would form the basis of the 'teams' as more join
Step 2 - Get the old Mechassault feel -
6 months
Add controller support, test and refine, try to make it like
feel MA1
Develop the mech model into a 'reference mech'
- 2 actually, one for chicken walkers and one for human
style gait
- Include all base behaviors (walking, running, falling,
exploding etc)
- work out how to do the weapons
- The teams would start to form:
- Engine Team
- Map Making
- Modelers
- Network & Testing
Step 3 - Base Game - 12
months
We have 2 reference mechs, and a game that
works and feels like
MA
1. Develop a few more mechs from the reference
designs 2. Work on Weapons - missiles, gauss, PPC, MG, lasers, hammers
3. Develop a few test good test maps (?replicate some classic MA
maps) with some destructible terrain 4. Make all the above work together as best as possible, without
significant mods to engine. What's missing?
Is it a
problem with the engine, models or maps. Does it need an engine
mod?
We now have a If OK proceed to 4
Step 4 - Finishing the Basics -
18 months
1. Engine Mods - see below
2. Work on weapons
3. Work on maps inc destructibles
4. Add
voice coms here ( use Xfire or
teamspeak)
Test, refine, test etc
If OK proceed to 5
Step 5 - Alpha release -
Around 24 months
Aim at about half a dozen mechs and maps for Alpha.
1. Major test including volume testing
2. Map development would continue
3. Mech development would continue
Step 6 - Post Alpha
1. Fix problem identified in alpha
2. Ideally map and mech development would be finished by the end
of this
Step 7 - Beta release
1.0 Beta
1. Major test including all release maps
2. No new map or model development
Step 8 - Post release V 1.1
1. Fix problem identified by users
2. Community development groups
Step 9 - Version 1.5
1. Add the good community maps, mods, mechs
and models.
2. Fix bugs
3. Develop functional spec for 2.0
- Persisting world aka MA2 conquest
- Mission bookings/game scheduling
- VTOL and other vehicles (significant
engine changes)
|
|