3D Space RTS - or more?
by Daniel Rollings · in Game Design and Creative Issues · 08/07/2001 (11:59 am) · 13 replies
I've been lurking here a while, but I've got an idea that I've been kicking around, and I want to see what the level of interest would be.
I'm a C++ programmer with skills in OO, STL, and such, but recently for kicks and grins, I did some work for a total conversion of Homeworld. You can see it at http://www.tgu.org.uk/users/trek-hw/ - we've had a great team of modellers and have gotten a lot done considering that Homeworld was never supposed to be moddable. I was handling ship AI, balancing, special effects, that sort of thing. It was a small break from the 80,000 line C++ MUD code base I'd been working on.
We ran into a lot of limitations with Homeworld, though, and we had to settle for a lot of "good enough" where a number of people really wanted perfection. As a programmer, I'm thinking that if you want something done right... you know. I could wait for a sequel to Homeworld 2 and script things in LUA, but that's not only counting on someone else to deliver on what I'd like, that's also ignoring how fun and educational a project like this could be.
Here's my idea. It's a conservative beginning, because I have an idea of how much work this could wind up being. I'd like to implement a generic, easily modifiable multiplayer 3D space engine, with allowance for squad play. It should ship with two original races, but be as modifiable as possible for the users; they should be able to package mods as add-ons instead of replacements of original ships/effects/etc. Maps could control what ship models/effects/textures to load, and initiate dependency checks for clients. Every major ship attribute should be an attachable/detachable property; preferably the end user would be able to customize their ships a great deal between games, and a clan would have their own set of designs to send into a given game. I'd really like to get a strong teamplay option, and complex objectives for the maps. Think of a mix between "Tribes in space" for teamplay, Homeworld and Tribes 2 elements for vehicles, and the customary mech game.
These aren't the most ambitious objectives seen on this forum, but I think that it's fairly attainable and could be a launchpad for something bigger. Obviously I can't just make a V12-based engine and import content from the Homeworld mod I'm coming from (licensing and property issues galore!), but I'd really want something better than just that anyway.
Is at all interesting to anyone? I've done some searches; does anyone have something like this already going?
Thanks for your time.
I'm a C++ programmer with skills in OO, STL, and such, but recently for kicks and grins, I did some work for a total conversion of Homeworld. You can see it at http://www.tgu.org.uk/users/trek-hw/ - we've had a great team of modellers and have gotten a lot done considering that Homeworld was never supposed to be moddable. I was handling ship AI, balancing, special effects, that sort of thing. It was a small break from the 80,000 line C++ MUD code base I'd been working on.
We ran into a lot of limitations with Homeworld, though, and we had to settle for a lot of "good enough" where a number of people really wanted perfection. As a programmer, I'm thinking that if you want something done right... you know. I could wait for a sequel to Homeworld 2 and script things in LUA, but that's not only counting on someone else to deliver on what I'd like, that's also ignoring how fun and educational a project like this could be.
Here's my idea. It's a conservative beginning, because I have an idea of how much work this could wind up being. I'd like to implement a generic, easily modifiable multiplayer 3D space engine, with allowance for squad play. It should ship with two original races, but be as modifiable as possible for the users; they should be able to package mods as add-ons instead of replacements of original ships/effects/etc. Maps could control what ship models/effects/textures to load, and initiate dependency checks for clients. Every major ship attribute should be an attachable/detachable property; preferably the end user would be able to customize their ships a great deal between games, and a clan would have their own set of designs to send into a given game. I'd really like to get a strong teamplay option, and complex objectives for the maps. Think of a mix between "Tribes in space" for teamplay, Homeworld and Tribes 2 elements for vehicles, and the customary mech game.
These aren't the most ambitious objectives seen on this forum, but I think that it's fairly attainable and could be a launchpad for something bigger. Obviously I can't just make a V12-based engine and import content from the Homeworld mod I'm coming from (licensing and property issues galore!), but I'd really want something better than just that anyway.
Is at all interesting to anyone? I've done some searches; does anyone have something like this already going?
Thanks for your time.
#2
Actually, I wouldnt suggest using the V12 engine at all. You would end up ignoring or ditching most of it, though the DirectX code might be usefull. I think it would be alot easier to just write everything from scratch.
To create something like a basic Homeworld graphics engine, just visit a site like nehe.gamedev.net and read the tutorials. It will teach you all of the OpenGL code necessary to do the above. I dont know any DirectX.
If I get a chance, I will build a little program that lets you move a ship through space. If I finish it before the V12 comes out (then I can start coding my game) I will give you an email.
08/07/2001 (1:14 pm)
You know, I never thought of this? It is an excellent idea, and if I wasnt already working on another project, I would defenitley help you.Actually, I wouldnt suggest using the V12 engine at all. You would end up ignoring or ditching most of it, though the DirectX code might be usefull. I think it would be alot easier to just write everything from scratch.
To create something like a basic Homeworld graphics engine, just visit a site like nehe.gamedev.net and read the tutorials. It will teach you all of the OpenGL code necessary to do the above. I dont know any DirectX.
If I get a chance, I will build a little program that lets you move a ship through space. If I finish it before the V12 comes out (then I can start coding my game) I will give you an email.
#3
08/07/2001 (1:21 pm)
nexe.gamedev.net is the DirectX 'version' of nehe.
#4
Josh: Interesting. I'm going to read up on that; it will be a priority to me that the game engine be portable at least between Windows and Linux for me, and one capable coder I've talked to would be interested given that the Mac was supported too. As higher math is not my strong suite, I'd like to start with an engine with a good implementation and API for collision detection and network play already in place, hence the appeal of V12. Thanks for the pointers!
08/07/2001 (1:58 pm)
Frederick: My projects thus far have really just been for the love. The payoff, other than the immediate gratification of the project itself, is developing skills I can sell. However, this concept is in its infancy. I don't know yet how this would be distributed.Josh: Interesting. I'm going to read up on that; it will be a priority to me that the game engine be portable at least between Windows and Linux for me, and one capable coder I've talked to would be interested given that the Mac was supported too. As higher math is not my strong suite, I'd like to start with an engine with a good implementation and API for collision detection and network play already in place, hence the appeal of V12. Thanks for the pointers!
#5
Thanks for the link to nexe. however, I have been there before, and there was a reason I never went back. Right now, the site, and the DirectX indie programming community, is in its infancy. Nexe had 5 tutorials. Nehe has 35+. There is considerably more knowledge at nehe.
Daniel: I believe that many of Nehe's tutorials are portable. I think if you scroll to the bottom of the tutorial it shows links for porting them. Not all of them have been ported yet, but I believe that a considerable number have. Compatibility may not be as large of issue as you think.
Also, many of the tutorials deal with the higher level math and implementation. I am in high school (though I am now taking college level math courses), and I can usually comprehend the math, or at least understand how to use it. For example, there is already a tutorial on collision detection, which could be very usefull, though it does not cover everything. But truly, a space RTS doesnt need very complex collision detection. Look at Homeworld. Just make the ships stay out side of a certain sphere, or other rough geometric shape. Many algorithms for collision can easily be found if you search hard enough.
Networking, the little of it that I learned, seemed very simple. There was a 5 page tutorial somewhere that created a working client-server system and sent game messages across. It had support for losing connections, connecting, hosting games, viewing info about a game, and lots of good stuff. I believe that this was with DirectPlay or some other directThing. This may not be easily portable to other systems, but it looked remarkably easy to program in windows. This, along with video card compatibility, OpenGL DirectX wrapper, and perhaps some of the vehicle code are really the only things that the V12 offers you, but I suppose that is significant enough that you should buy it unless you are on a very tight budget. I guess the V12 would be worth it, even if just for those pieces.
But you are going to have to write the rest of it from scratch. I would suggest that you complete some of the tutorials at Nehe's site.
08/07/2001 (6:50 pm)
Sorry in advance for the long post.Thanks for the link to nexe. however, I have been there before, and there was a reason I never went back. Right now, the site, and the DirectX indie programming community, is in its infancy. Nexe had 5 tutorials. Nehe has 35+. There is considerably more knowledge at nehe.
Daniel: I believe that many of Nehe's tutorials are portable. I think if you scroll to the bottom of the tutorial it shows links for porting them. Not all of them have been ported yet, but I believe that a considerable number have. Compatibility may not be as large of issue as you think.
Also, many of the tutorials deal with the higher level math and implementation. I am in high school (though I am now taking college level math courses), and I can usually comprehend the math, or at least understand how to use it. For example, there is already a tutorial on collision detection, which could be very usefull, though it does not cover everything. But truly, a space RTS doesnt need very complex collision detection. Look at Homeworld. Just make the ships stay out side of a certain sphere, or other rough geometric shape. Many algorithms for collision can easily be found if you search hard enough.
Networking, the little of it that I learned, seemed very simple. There was a 5 page tutorial somewhere that created a working client-server system and sent game messages across. It had support for losing connections, connecting, hosting games, viewing info about a game, and lots of good stuff. I believe that this was with DirectPlay or some other directThing. This may not be easily portable to other systems, but it looked remarkably easy to program in windows. This, along with video card compatibility, OpenGL DirectX wrapper, and perhaps some of the vehicle code are really the only things that the V12 offers you, but I suppose that is significant enough that you should buy it unless you are on a very tight budget. I guess the V12 would be worth it, even if just for those pieces.
But you are going to have to write the rest of it from scratch. I would suggest that you complete some of the tutorials at Nehe's site.
#6
Collision detection might need to be a bit involved at some point... I'd like hit locations, after all. What is truly a boon for an early project is that the pathfinding need not be complex. Okay, maybe you don't want the simplest A*; I would rather ships diverted course before they were right next to something in their path. That's nothing compared to the challenges you face with complex terrain.
08/08/2001 (7:21 am)
Josh: Indeed, NeHe is full of goodness. I've already downloaded the Linux/SDL ports of the tutorials and will be reviewing them steadily. I won't comprehend the details of the math right away, but I'm very comfortable with class design. Thanks for the fun link. :)Collision detection might need to be a bit involved at some point... I'd like hit locations, after all. What is truly a boon for an early project is that the pathfinding need not be complex. Okay, maybe you don't want the simplest A*; I would rather ships diverted course before they were right next to something in their path. That's nothing compared to the challenges you face with complex terrain.
#7
Hit locations are commonly done by placing a box or sphere around an object, then testing the projectile to see if it collided.
And yes, pathfinding is rather simple for you... moving forward on a straight line shouldnt be TOO hard... :)
08/08/2001 (8:18 am)
Collision detection is actually very easy, if you know where to look. I have a book sitting 3 feet to my right called A Programmer's Geometry. It is rather old, but math doesnt change. It gives hundreds of common mathematical equations for testing things like distances between points, lines, and planes, intersections, and other fun stuff! It even gives ways to optimize your program and cut down on the computations that are needed. With it, collision detection is a simple matter of opening the book and flipping to the right page. :)Hit locations are commonly done by placing a box or sphere around an object, then testing the projectile to see if it collided.
And yes, pathfinding is rather simple for you... moving forward on a straight line shouldnt be TOO hard... :)
#8
*Enable the player to be able to divide his entire fleet into 1200 various parts. Num number keys highligh a main fleet. Function number keys highlight a division of a main fleet. Normal number keys highlight a group portion of a divion. For example, if you wanted to highlight Group 8 of the 12th Division of the 3rd Main Fleet, you would press: Num3 F12 8.
*Also consider enabling the game to have simple graphics -- like one triangle could represent a light fighter, a triangle with one circle in the aft represents a medium fighter, a box represents a ship, etc. -- that way players can save memory for building more ships.
08/09/2001 (12:53 pm)
*Consider enabling the player to be able to vocally command ships and to vocally talk to players*Enable the player to be able to divide his entire fleet into 1200 various parts. Num number keys highligh a main fleet. Function number keys highlight a division of a main fleet. Normal number keys highlight a group portion of a divion. For example, if you wanted to highlight Group 8 of the 12th Division of the 3rd Main Fleet, you would press: Num3 F12 8.
*Also consider enabling the game to have simple graphics -- like one triangle could represent a light fighter, a triangle with one circle in the aft represents a medium fighter, a box represents a ship, etc. -- that way players can save memory for building more ships.
#9
*the ability to deploy as many units as I have
*traps (like hyperspace gates that swallow up ships
KEYBOARD SETTINGS
Make keyboard controls so that player can decide which key does what in the game. Also include a default keyboard setting, my preference for default is:
A: attack -- unit attacks any foe in range. Highlight unit and press A again to have unit not attack any foe in range
B: toggles between blasters (energy weapons), ballistics (ammo weapons), burners (missile weapons), boomers (artillery weapons), bombs, and all weapons settings. Press B and Z together to have unit ready to fire all weapons simultaneously.
C: press to turn on unit's cloaking device, press again to turn off unit's cloaking device -- let a unit be able to stay cloaked infinitely
D: docking -- unit docks with other unit/building, DropShip, etc.
E: evasive -- unit in evasive mode will try to evade foes by sprinting along a route that goes farthest away from all foes. While unit is in evasive mode, it will not attack any foes.
F: formation -- highlight units while pressing F and then select a formation from list
G: guarding -- unit in guard mode will engage any foe that attacks anyone and/or any group the unit is guarding
H: Holographic projector -- unit projects a hologram
I: press to turn on certain information systems (like search lights, radar, sensors, probes, etc.), press again to turn off those information systems
J: jump -- has unit jump towards another unit
K: kamikaze -- unit crashes into other unit, this can be negated by pressing M
or Delete before unit kamikazes into other unit
L: Launch/land -- Press to have unit launch other units. While unit is launching other units, press to have unit stop launching units; or select a unit and press L to have unit land on a target or inside another unit.
M: move -- unit will move forward, left right, backward in accordance with arrow keys and/or mouse. Ctrl button moves unit down, Shift moves unit up. Insert sets a new nav point, End ends the nav move system. Note that the mouse method of getting a unit to move can be used in place of the M button method.
N: neutral -- unit is placed in neutral terms of fighting stance and movement Unit will only fire if fired upon or if another unit it is guarding is fired upon. Unit will stop moving, but will resume movement if M is pressed in 3 seconds.
O: on/off, press to turn on unit when it's powered down, press while unit is powered up to turn on/off certain unit systems
P: pilot -- has pilot status (like experience, health, etc.)
Q: quit -- unit quits all functioning except life support and powers down.
R: Repair -- press once to activate repair systems, press again to deactivate repair
systems
S: Sideways -- unit moves sideways -- use left/right arrow keys or mouse to move unit in desired sideways direction
T: Turnover (ship) -- unit turns over (left and right sides reverse positions)
U:
V: View -- changes how you view the screen -- from pilot's view, to rear view, side view, overhead view, etc. Use arrow keys to highlight view options while pressing V to change the view
W: Weapons -- press to bring up advanced weapons setting display
X: move cursor over an object and press X to have unit attack only that object. Pressing X again will have unit refrain from attacking anything at anytime
Y: has only two units merge together -- great for when the left side of a unit has weakened armor & right side of another unit has weakened armor -- only units of same tonnage can merge. Merging can only be done as follows:
*right side of a unit & left side of other unit
*back side of a unit & front side of other unit
Units automatically become unmerged when one unit is different from another by:coming into contact with a non-space/non-dust terrain (like an asteroid).
Z: other unit options
Backspace -- has unit move backwards
? has unit conduct information gathering -- unit will gather as much intelligence on area as possible. Use movement keys to highlight the area the unit is looking at
Spacebar -- toggles between sensors & standard view
Home -- brings to Mothership, press again to view mainscreen of MotherShip
Page Up/Page Down -- press Page Up to increase unit's speed category by 1
Page Down to decrease unit's speed category by 1
Num+ press to increase unit's speed by 1 point
Num- press to decrease unit's speed by 1 point
Num* press to highlight all units on screen that player is allowed to command
Esc -- highlight a unit and press Esc to eject a pilot/crew
End -- use to end certain commands. While a unit is moving, press End to immediately end that unit's movement
Enter -- used to have a unit do certain commands like advanced nav movements.
Function keys -- press one to select a force group
Number keys -- press one to select a group
Alt -- use alt to pause game. While game is paused, in a corner is a small box that player can use to access game controls (such as certain options like saving, quitting game, turning on/off Level 3 stuff, etc.)
Delete -- cancels last command
Delete -- unit is deleted (unit self-destructs) -- hold Z while pressing Delete button
twice to delete unit. Pilot/crews eject before unit self-destructs
~ unit moves in semi-evasive/semineutral manner
< zoom out camera view
> zoom in camera view
Caps Lock -- brings up leadership screen
Tab -- brings up tab buttons on screen -- left click on a tab button to select it; right click on a tab button to remove it from screen
; has unit secretly follow other unit
" Talk -- lets you talk to individual and/or groups of units and/or other human players and/or cpu players
08/09/2001 (1:08 pm)
*graphics, music, character, and sound effects editors and the ability to turn off graphic explosions, music, and/or sound effects to save memory*the ability to deploy as many units as I have
*traps (like hyperspace gates that swallow up ships
KEYBOARD SETTINGS
Make keyboard controls so that player can decide which key does what in the game. Also include a default keyboard setting, my preference for default is:
A: attack -- unit attacks any foe in range. Highlight unit and press A again to have unit not attack any foe in range
B: toggles between blasters (energy weapons), ballistics (ammo weapons), burners (missile weapons), boomers (artillery weapons), bombs, and all weapons settings. Press B and Z together to have unit ready to fire all weapons simultaneously.
C: press to turn on unit's cloaking device, press again to turn off unit's cloaking device -- let a unit be able to stay cloaked infinitely
D: docking -- unit docks with other unit/building, DropShip, etc.
E: evasive -- unit in evasive mode will try to evade foes by sprinting along a route that goes farthest away from all foes. While unit is in evasive mode, it will not attack any foes.
F: formation -- highlight units while pressing F and then select a formation from list
G: guarding -- unit in guard mode will engage any foe that attacks anyone and/or any group the unit is guarding
H: Holographic projector -- unit projects a hologram
I: press to turn on certain information systems (like search lights, radar, sensors, probes, etc.), press again to turn off those information systems
J: jump -- has unit jump towards another unit
K: kamikaze -- unit crashes into other unit, this can be negated by pressing M
or Delete before unit kamikazes into other unit
L: Launch/land -- Press to have unit launch other units. While unit is launching other units, press to have unit stop launching units; or select a unit and press L to have unit land on a target or inside another unit.
M: move -- unit will move forward, left right, backward in accordance with arrow keys and/or mouse. Ctrl button moves unit down, Shift moves unit up. Insert sets a new nav point, End ends the nav move system. Note that the mouse method of getting a unit to move can be used in place of the M button method.
N: neutral -- unit is placed in neutral terms of fighting stance and movement Unit will only fire if fired upon or if another unit it is guarding is fired upon. Unit will stop moving, but will resume movement if M is pressed in 3 seconds.
O: on/off, press to turn on unit when it's powered down, press while unit is powered up to turn on/off certain unit systems
P: pilot -- has pilot status (like experience, health, etc.)
Q: quit -- unit quits all functioning except life support and powers down.
R: Repair -- press once to activate repair systems, press again to deactivate repair
systems
S: Sideways -- unit moves sideways -- use left/right arrow keys or mouse to move unit in desired sideways direction
T: Turnover (ship) -- unit turns over (left and right sides reverse positions)
U:
V: View -- changes how you view the screen -- from pilot's view, to rear view, side view, overhead view, etc. Use arrow keys to highlight view options while pressing V to change the view
W: Weapons -- press to bring up advanced weapons setting display
X: move cursor over an object and press X to have unit attack only that object. Pressing X again will have unit refrain from attacking anything at anytime
Y: has only two units merge together -- great for when the left side of a unit has weakened armor & right side of another unit has weakened armor -- only units of same tonnage can merge. Merging can only be done as follows:
*right side of a unit & left side of other unit
*back side of a unit & front side of other unit
Units automatically become unmerged when one unit is different from another by:coming into contact with a non-space/non-dust terrain (like an asteroid).
Z: other unit options
Backspace -- has unit move backwards
? has unit conduct information gathering -- unit will gather as much intelligence on area as possible. Use movement keys to highlight the area the unit is looking at
Spacebar -- toggles between sensors & standard view
Home -- brings to Mothership, press again to view mainscreen of MotherShip
Page Up/Page Down -- press Page Up to increase unit's speed category by 1
Page Down to decrease unit's speed category by 1
Num+ press to increase unit's speed by 1 point
Num- press to decrease unit's speed by 1 point
Num* press to highlight all units on screen that player is allowed to command
Esc -- highlight a unit and press Esc to eject a pilot/crew
End -- use to end certain commands. While a unit is moving, press End to immediately end that unit's movement
Enter -- used to have a unit do certain commands like advanced nav movements.
Function keys -- press one to select a force group
Number keys -- press one to select a group
Alt -- use alt to pause game. While game is paused, in a corner is a small box that player can use to access game controls (such as certain options like saving, quitting game, turning on/off Level 3 stuff, etc.)
Delete -- cancels last command
Delete -- unit is deleted (unit self-destructs) -- hold Z while pressing Delete button
twice to delete unit. Pilot/crews eject before unit self-destructs
~ unit moves in semi-evasive/semineutral manner
< zoom out camera view
> zoom in camera view
Caps Lock -- brings up leadership screen
Tab -- brings up tab buttons on screen -- left click on a tab button to select it; right click on a tab button to remove it from screen
; has unit secretly follow other unit
" Talk -- lets you talk to individual and/or groups of units and/or other human players and/or cpu players
#10
08/10/2001 (6:40 am)
Hehe! We oughtn't to plan keyboard layouts before the design specs. Keyboard layouts should be user-configurable anyway. What would seem elegant to one player will seem obfubarscated to another.
#11
08/10/2001 (11:55 am)
Well, I have to say that this idea seems really interesting, but please if yuo do end up making this game, don't make the controls so complicated! People will definitely not want to have to search their manual or keyboard for the right key to press while flying at high speeds through perilous space... maybe you should think of another configuration. You could probably combine a lot of those keys into one. And, let me just say that I don't really like the fact that all the weapon classes start with 'b', it sounds way too corny ;)
#12
09/04/2001 (3:12 pm)
There is a game close to your idea already in production. Check www.darkspace.net , download the game and look at it, maybe yuo'll get a few ideas from it.
#13
KEYBOARD SETTINGS
*Note: if a player select multiple units simultaneously and the player presses one or more of the following keys, all of those units will abide by that those keys' actions.
A attack any foe -- unit attacks any foe in range. Also, press Y while pressing A and unit will attack multiple targets in range according to unit's availability of weapons and targets' tonnages & damages. Highlight unit and press A again to have unit not attack any foe in range. -- this is basically HW's aggressive setting for units
B toggles between blasters (energy weapons), ballistics (ammo weapons), burners (missile weapons), boomers (artillery weapons), and bombs. Press B and Y together to have unit ready to fire all weapons simultaneously.
C press to turn on unit's camoflauging mimic and cloaking systems. Press C again to turn off such systems - Pressing C and Z together brings up camoflauging/cloaking equipment list that enables player to decide which systems may be on/off (left click the systems to turn them on, right click them to turn them off).
D docking -- same as in HW
E extreme evasive -- unit in evasive mode will try to evade foes by moving as fast as it can by automatically along a route that goes farthest away from all hazards (enemy units, minefields, etc). While unit is in evasive mode, it will not and cannot attack any foes. While in evasive mode, the unit can have its automatic movement (but not evasiveness) altered by the player manually giving it a movement command.
F formation -- highlight units while pressing F and then select a formation from list by left clicking one of the formation choices. Formations are:
X
Delta
Claw
Broad
Wall
Brick
Sphere
Custom
Press and hold Y while pressing F to increase diameter of formation (units become farther apart), press and hold Z while pressing F again to decrease diameter of formation (units become closer together). A formation can neither be increased to the point where units would become off the map, nor can the formation be decreased to the point where units collide. To create a custom formation, simply maneuver the units into the formation you want them to be in, then press F and select custom from the list. While a unit is in formation, it stays in that formation unless it is given another command. The player must double click on the unit to give it a command. Single clicking on a unit in a formation highlights all the units in that formation.
G guarding -- same as in HW
H hold position -- press to have unit hold position, press again and unit will not hold position. A unit that is set to hold position will never move during the entire game unless it is given orders to.
I press to turn on certain information systems (like search lights, radar, sensors, probes, etc.), press again to turn off those information systems. Pressing I and Z together brings up a list for player to decide which information system is on/off.
J Jump -- just like in HW
K kamikaze charge attack -- unit crashes into other unit, this can be negated by pressing D, E, G, H, L, M, N, Q, H, Esc, ~, Delete, or Delete twice and Z, before unit kamikazes into other unit.
L Launch/land -- Press L and Z to have unit launch other units. While unit is launching other units, press L and Y to have unit stop launching units. Press L together to designate which units the unit launches and/or does not launch not.
M movement (more advanced method of movement) -- unit will move forward, left right, backwards in accordance with arrow keys and/or mouse. Ctrl button moves unit down vertically, Shift moves unit up vertically. Insert sets a new nav point, End ends the nav move system. Enter has the unit move according to that nav system..
N neutral -- unit is placed in neutral terms of fighting stance and movement. Unit will only fire if fired upon or if another unit it is guarding is fired upon.
O on/off press to turn on unit when it's powered down, press while unit is powered up to turn on/off certain unit systems
P pilot -- has pilot status (like experience levels)
Q quit -- unit quits all functioning such as movement, firing weapons, information gathering, etc. Press Q again and unit will power down except for life support.
R Repair -- unit repairs itself and/or other unit. Select unit that needs to be repaired, then left click on unit/structure that will do the repairing. If a repair unit is selected, hold R while pressing Y to have that unit repair another unit or units.
S unit moves in semi-evasive/semineutral manner -- same as HW evasive tactics.
T Used in targeting specific areas/locations. Hold T while pressing Num5 to attack a target's front side. Hold T while pressing Num4 to attack a target's left side. Hold T while pressing Num6 to attack a target's right side. Hold T while pressing Num2 to attack a target's bottom side. Hold T while pressing Num8 to attack a target's top side. Hold T while pressing Num0 to attack a target's aft side.
U Has unit go underneath objects to use them for cover.
V View (like focus comand in HW)
W press W key to bring up advanced weapons setting display
The reason for this advanced weapon display is because I might want to select ammo types, link/unlink weapons, merge/unmerge weapons, dump ammo, power down/power up Gauss Rifles, disengage/engage PPC inhibitors, have some individual weapons fire/not fire, using TAG to designate a target, etc.
X If you want a unit to attack only specific targets simultaneously, highlight those units and press X while pressing Z while using the right mouse button to drag a box around the targets, then click the left mouse button to confirm the attack. Also, press Z while pressing X and unit will have its weapons engage multiple targets according to this hiearchy: range, tonnage, damage, random. Pressing X again will have unit refrain from attacking any targets at anytime.
Y other unit options
Z other unit options
Backspace -- has unit move backwards
Spacebar -- toggles between sensors & standard view like in HW
Home -- brings to screen showing exterior side of MotherShip. Press Home twice in rapid succession to bring up leadership screen.
Page Up press to increase unit's speed category by 1 (like from stationary to max crusing, cruising to max flanking, flanking to max topspeed). Unit will move at highest speed of the new speed category.
Page Down press to decrease unit's speed category by 1 (like from top speed to max flank speed, flank to max cruising, cruising to stationary). Unit will move at highest speed of the new speed category.
Num- used to decrease unit's current speed to a specific slower speed .
Num+ used to increase unit's current speed to a specific faster speed .
Num* press Num* to highlight all units under your command
Num* and Z leader of one side can press Num* and Z to highlight all units on his/her side.
- select a unit, then press - to have that unit "tail" a target. The unit will get as close as it can to the target without allowing itself to be subject to attacks from any source (enemy units, enemy structures, units and/or structures that might turn from neutral to enemy or ally to enemy). Note that the unit has to be as fast or faster than the target for this to work. Press - while a unit is "tailing a target" and the unit will no longer tail it.
Esc highlight a unit and press Esc to eject a pilot/crew
End use to end certain commands. While a unit is moving, press End to immediately end that unit's movement
Enter -- used to enter certain commands
Function keys -- press one to select a minor group in a major group
Number keys -- press one to select an individual in a minor group
Num Number keys -- press one to select a major group
Alt -- use alt to pause game. While game is paused, in a corner is a small box that player can can click to access a screen to access game controls (such as certain options like saving, quitting game, game options, etc.)
Delete -- cancels last command
Delete -- unit is deleted (unit self-destructs) -- hold Z while pressing Delete button
twice to delete unit. Pilot/crews eject before unit self-destructs
Tab -- used in Movement -- press Tab while M is pressed and a timer feature will be set up. Use your number keys to input the time the unit is to start moving. When the timer counts down to 0, the unit will then starts moving.
~ unit moves sideways
= Merged units -- -- like the link feature in HWC. select units of same class to merge them together and press =. Super capital ships and motherships cannot be merged. Salvage corvettes attempting to capture a pair of frigates that're merged must first have 2 of their corvettes pull the merged units apart, then 2 more salvage corvettes are permitted to capture them.
> zoom out camera view
< zoom in camera view
You can also use the mouse wheel to zoom camera in/out like in HW.
Control and right Mouse button -- used in selecting multiple enemies like in HW.
Control and Shift and right Mouse button -- used in selecting multiple targets enemies and allies
Control and Tab and right Mouse button -- used in selecting all targets like in HW
Caps Lock -- Turn on Caps Lock to bring up buttons on screen -- left click on a button to select it; right click on a button to remove it from screen. Turn off Caps Lock to remove all buttons from screen. Turn on Caps Lock to bring any removed buttons back to screen.
; has unit secretly follow a target. Highlight a unit, press ; then left click on a target for the unit to follow. Unit will stay out of visual detection of target.
"] Talk to one person -- let's you talk to unit(s) of your choice. To talk to one or more individuals, press " button, then type unit name or unit number, then press comma button, then type another unit name/unit number, etc., then press ] button, type your message, and finally press Enter to send message.
"A] Talk to all units (all friends & all foes & all neutrals). Press " button, then press A button, then press ] button, type your message, finally press Enter to send message. Click anywhere else other than message to return to using keyboard keys for game playing.
"t] Talk to everbody on your team. Press " button, then press t button, then press ] button, type your message, finally press Enter to send message. Click anywhere else other than message to return to using keyboard keys for game playing.
"Y] Talk to everybody who's under your command but not under your allies' command. Press " button, then press Y button, then press ] button, type your message, finally press Enter to send message. Click anywhere else other than message to return to using keyboard keys for game playing.
Note that you can talk to those you want to simply by selecting them and then pressing " button, type message, finally press Enter to send message. Click anywhere else other than message to return to using keyboard keys for game playing.
09/28/2001 (7:49 am)
Ok, I think these settings will be better. When I make my multiplayer 3D RTS Space Game, I'm going to fix it so that players can transfer commmand of their units over to others by using their leadership screens.KEYBOARD SETTINGS
*Note: if a player select multiple units simultaneously and the player presses one or more of the following keys, all of those units will abide by that those keys' actions.
A attack any foe -- unit attacks any foe in range. Also, press Y while pressing A and unit will attack multiple targets in range according to unit's availability of weapons and targets' tonnages & damages. Highlight unit and press A again to have unit not attack any foe in range. -- this is basically HW's aggressive setting for units
B toggles between blasters (energy weapons), ballistics (ammo weapons), burners (missile weapons), boomers (artillery weapons), and bombs. Press B and Y together to have unit ready to fire all weapons simultaneously.
C press to turn on unit's camoflauging mimic and cloaking systems. Press C again to turn off such systems - Pressing C and Z together brings up camoflauging/cloaking equipment list that enables player to decide which systems may be on/off (left click the systems to turn them on, right click them to turn them off).
D docking -- same as in HW
E extreme evasive -- unit in evasive mode will try to evade foes by moving as fast as it can by automatically along a route that goes farthest away from all hazards (enemy units, minefields, etc). While unit is in evasive mode, it will not and cannot attack any foes. While in evasive mode, the unit can have its automatic movement (but not evasiveness) altered by the player manually giving it a movement command.
F formation -- highlight units while pressing F and then select a formation from list by left clicking one of the formation choices. Formations are:
X
Delta
Claw
Broad
Wall
Brick
Sphere
Custom
Press and hold Y while pressing F to increase diameter of formation (units become farther apart), press and hold Z while pressing F again to decrease diameter of formation (units become closer together). A formation can neither be increased to the point where units would become off the map, nor can the formation be decreased to the point where units collide. To create a custom formation, simply maneuver the units into the formation you want them to be in, then press F and select custom from the list. While a unit is in formation, it stays in that formation unless it is given another command. The player must double click on the unit to give it a command. Single clicking on a unit in a formation highlights all the units in that formation.
G guarding -- same as in HW
H hold position -- press to have unit hold position, press again and unit will not hold position. A unit that is set to hold position will never move during the entire game unless it is given orders to.
I press to turn on certain information systems (like search lights, radar, sensors, probes, etc.), press again to turn off those information systems. Pressing I and Z together brings up a list for player to decide which information system is on/off.
J Jump -- just like in HW
K kamikaze charge attack -- unit crashes into other unit, this can be negated by pressing D, E, G, H, L, M, N, Q, H, Esc, ~, Delete, or Delete twice and Z, before unit kamikazes into other unit.
L Launch/land -- Press L and Z to have unit launch other units. While unit is launching other units, press L and Y to have unit stop launching units. Press L together to designate which units the unit launches and/or does not launch not.
M movement (more advanced method of movement) -- unit will move forward, left right, backwards in accordance with arrow keys and/or mouse. Ctrl button moves unit down vertically, Shift moves unit up vertically. Insert sets a new nav point, End ends the nav move system. Enter has the unit move according to that nav system..
N neutral -- unit is placed in neutral terms of fighting stance and movement. Unit will only fire if fired upon or if another unit it is guarding is fired upon.
O on/off press to turn on unit when it's powered down, press while unit is powered up to turn on/off certain unit systems
P pilot -- has pilot status (like experience levels)
Q quit -- unit quits all functioning such as movement, firing weapons, information gathering, etc. Press Q again and unit will power down except for life support.
R Repair -- unit repairs itself and/or other unit. Select unit that needs to be repaired, then left click on unit/structure that will do the repairing. If a repair unit is selected, hold R while pressing Y to have that unit repair another unit or units.
S unit moves in semi-evasive/semineutral manner -- same as HW evasive tactics.
T Used in targeting specific areas/locations. Hold T while pressing Num5 to attack a target's front side. Hold T while pressing Num4 to attack a target's left side. Hold T while pressing Num6 to attack a target's right side. Hold T while pressing Num2 to attack a target's bottom side. Hold T while pressing Num8 to attack a target's top side. Hold T while pressing Num0 to attack a target's aft side.
U Has unit go underneath objects to use them for cover.
V View (like focus comand in HW)
W press W key to bring up advanced weapons setting display
The reason for this advanced weapon display is because I might want to select ammo types, link/unlink weapons, merge/unmerge weapons, dump ammo, power down/power up Gauss Rifles, disengage/engage PPC inhibitors, have some individual weapons fire/not fire, using TAG to designate a target, etc.
X If you want a unit to attack only specific targets simultaneously, highlight those units and press X while pressing Z while using the right mouse button to drag a box around the targets, then click the left mouse button to confirm the attack. Also, press Z while pressing X and unit will have its weapons engage multiple targets according to this hiearchy: range, tonnage, damage, random. Pressing X again will have unit refrain from attacking any targets at anytime.
Y other unit options
Z other unit options
Backspace -- has unit move backwards
Spacebar -- toggles between sensors & standard view like in HW
Home -- brings to screen showing exterior side of MotherShip. Press Home twice in rapid succession to bring up leadership screen.
Page Up press to increase unit's speed category by 1 (like from stationary to max crusing, cruising to max flanking, flanking to max topspeed). Unit will move at highest speed of the new speed category.
Page Down press to decrease unit's speed category by 1 (like from top speed to max flank speed, flank to max cruising, cruising to stationary). Unit will move at highest speed of the new speed category.
Num- used to decrease unit's current speed to a specific slower speed .
Num+ used to increase unit's current speed to a specific faster speed .
Num* press Num* to highlight all units under your command
Num* and Z leader of one side can press Num* and Z to highlight all units on his/her side.
- select a unit, then press - to have that unit "tail" a target. The unit will get as close as it can to the target without allowing itself to be subject to attacks from any source (enemy units, enemy structures, units and/or structures that might turn from neutral to enemy or ally to enemy). Note that the unit has to be as fast or faster than the target for this to work. Press - while a unit is "tailing a target" and the unit will no longer tail it.
Esc highlight a unit and press Esc to eject a pilot/crew
End use to end certain commands. While a unit is moving, press End to immediately end that unit's movement
Enter -- used to enter certain commands
Function keys -- press one to select a minor group in a major group
Number keys -- press one to select an individual in a minor group
Num Number keys -- press one to select a major group
Alt -- use alt to pause game. While game is paused, in a corner is a small box that player can can click to access a screen to access game controls (such as certain options like saving, quitting game, game options, etc.)
Delete -- cancels last command
Delete -- unit is deleted (unit self-destructs) -- hold Z while pressing Delete button
twice to delete unit. Pilot/crews eject before unit self-destructs
Tab -- used in Movement -- press Tab while M is pressed and a timer feature will be set up. Use your number keys to input the time the unit is to start moving. When the timer counts down to 0, the unit will then starts moving.
~ unit moves sideways
= Merged units -- -- like the link feature in HWC. select units of same class to merge them together and press =. Super capital ships and motherships cannot be merged. Salvage corvettes attempting to capture a pair of frigates that're merged must first have 2 of their corvettes pull the merged units apart, then 2 more salvage corvettes are permitted to capture them.
> zoom out camera view
< zoom in camera view
You can also use the mouse wheel to zoom camera in/out like in HW.
Control and right Mouse button -- used in selecting multiple enemies like in HW.
Control and Shift and right Mouse button -- used in selecting multiple targets enemies and allies
Control and Tab and right Mouse button -- used in selecting all targets like in HW
Caps Lock -- Turn on Caps Lock to bring up buttons on screen -- left click on a button to select it; right click on a button to remove it from screen. Turn off Caps Lock to remove all buttons from screen. Turn on Caps Lock to bring any removed buttons back to screen.
; has unit secretly follow a target. Highlight a unit, press ; then left click on a target for the unit to follow. Unit will stay out of visual detection of target.
"] Talk to one person -- let's you talk to unit(s) of your choice. To talk to one or more individuals, press " button, then type unit name or unit number, then press comma button, then type another unit name/unit number, etc., then press ] button, type your message, and finally press Enter to send message.
"A] Talk to all units (all friends & all foes & all neutrals). Press " button, then press A button, then press ] button, type your message, finally press Enter to send message. Click anywhere else other than message to return to using keyboard keys for game playing.
"t] Talk to everbody on your team. Press " button, then press t button, then press ] button, type your message, finally press Enter to send message. Click anywhere else other than message to return to using keyboard keys for game playing.
"Y] Talk to everybody who's under your command but not under your allies' command. Press " button, then press Y button, then press ] button, type your message, finally press Enter to send message. Click anywhere else other than message to return to using keyboard keys for game playing.
Note that you can talk to those you want to simply by selecting them and then pressing " button, type message, finally press Enter to send message. Click anywhere else other than message to return to using keyboard keys for game playing.
Frederick
You seem to have an eye on reality, even with a tough game concept.
The "game that suits all tastes" is damn near a design holy grail by now.
You have a business plan, or are ya just doing it for the love?