QWar2
For updated versions and additional information, please see http://www.quakeworld.com/shadowgate/qwar2.htm


Contents

Overview
Objectives
Navigating the client interface
Navigating the game interface
Spawning monsters
Selecting monsters
Ordering monsters
Basic Commands
Advanced Commands
Navigation and grouping
Default key bindings - QWAR2.CFG
Setting up a QWar2 server
Console variable reference
Creating maps for QWar2
Entity usage
Important notes for mappers on existing mapentities
QWar2 pointentities - reference
Credits


Overview

QWar2 is the first ever Real Time Strategy mod for Quake II - command a small army of evil Strogg against the enemy. Your objective - capture and control vital energy supplies to spawn more powerful monsters, and eventually destroy your enemy's Power Core.

Objectives

The objective of the game is to destroy your opponents Power Core by damaging it enough with your monsters. When your Power Core is damaged, your screen will pulse red, and it's health will decrease - this is shown in the lower right of your H.U.D. When it reaches zero, you lose the game.

Navigating the client interface

When you join, you will be presented with the main menu. To navigate a menu, just use the same keys as you use to choose your inventory items (usually [ and ]), and press inventory use to select the option. Choose "Join", pick a color, and you'll enter the game. If you want to watch, just choose "Observe" from the main menu.

Binding Keys
In many of these mods you will be required to bind keys to various game commands that were not included in the original Quake II. To bind a key to a command you will need to do the following:

  1. Run the mod that you wish to play.
  2. Press the tilde ( ~ ) key to pull down the Quake II console.
  3. At the console type, bind (key that you want to use) "(action for that key)"
    Example: Binding "J" key to Jump (if typed into the console) would be:   bind j "+moveup"
                   Binding "Space Bar" to Jump (if typed into the console would be:  bind space "+moveup"

Navigating the game interface

When you teleport into battle, your H.U.D will change from observer status to ingame status. It is important that you know the function of each display, as they are critical to your success.

Left to right:
Energy: This is what you consume when you spawn a monster. It starts at a server-defined value, and decreases when you spawn monsters. To get more energy, order your monsters to pick up the packs of cells scattered throughout the level.

Power Core health: Usually starts at 300, and decreases when your Power Core is damaged. If this happens, your screen will pulse red, and you will get a warning message onscreen. When this number reaches zero, you lose the game.

Team Color: The Q2 symbol shows whether you are Red team or Blue team.

Number of monsters: This keeps you informed about how many monsters are currently under your control. You may not own more than a server-defined number of monsters, default 20.

Targeted monster stats:
If your cursor is over a monster, this display will show it's owner, icon, health, and (if it's yours) it's group number and psych state.

Spawning monsters

To spawn a monster, select your Power Core and hit invuse (<enter>). Or, use the command "core_menu" ("p"). A menu will appear; select a monster using the menu select keys and press invuse to spawn it. A pillar of light will appear in front of your Power Core, and slowly enlarge. After a time, there will be a flash of light, and your chosen monster will appear, ready to kill!

Selecting monsters

Select a monster by pressing <attack> when your crosshair is over it (from now on this action is referred to as "clicking"). A small arrow will begin to hover over it's head. To select more than one monster at a time, hold down +USE (<alt>) and click on many monsters. Or, use the commands "selallscreen" ("=") and "selallnear" ("\") to select all monsters on your screen, and all monsters nearby, respectively. Deselect all selected monsters with command "deselect" (<space>). Note that your crosshair changes depending on what you are looking at - arrow, lit arrow, and crosshair.

Ordering monsters

QuickSpawn: Command "quickspawn <s>", where <s> is a valid monster name.  Immidiately starts that monster spawning at the Power Core.
Core Menu: Command "core_menu" ("p"). Brings up the Power Core's spawn menu.

Basic Commands

Move: Click on where you want the monster to move to. Note that the A.I is still under development, so you may have to move monsters in straight lines, and lead them around obstacles.
Formation Toggle: By default, all monsters will try to move to the same target. Use command "formation" ("v") to toggle on and off movement in formation: selected monsters will try to keep their position relative to the move target.
Attack: Click on the target enemy unit, or, in the case of the Medic, the target corpse.
Guard: Command "guard" ("g"). Monster will attack any enemy that comes into view, and act depending on their psych state.

Advanced Commands

Drag-Move: Click where you want the monster to move to, then drag your cursor to another position and release the mouse button. A green laser will flash between the two points; when the monster arrives at the first point it will turn to face along the beam.
Patrol: As per Move, but hold down "+use" ("alt"). This will make the monsters walk instead of run; it's more accurate than Move.
Special: Use this and the selected monsters will perform their special actions upon the targetted place/monster:
- Medic: Will heal targetted monster.
- Mutant: Will do it's large jump towards the targeted point.
Face: Command "face" ("f"). Monster will immediately face the target point.
Jump: Command "jump" ("j"). Monster will jump forward and up. Large units jump less than smaller ones, and flying units do not jump at all.
Self-destruct: Command "selfdestruct". All selected monsters are killed.
Psych State: Command "psych <s>". Sets the psych state of the selected monsters, where <s> is one of the following:
normal - Reverts to Normal psych state
control - Changes to Direct Control psych state
percept - Changes to Percept psych state
stand ground- Changes to Stand Ground psych state
rage - Changes to Rage psych state
cycle - Cycle through the above list
Mastering the use of psych states is essential if you want to control your monsters guarding and moving reactions to any great extent:
Normal [Four-headed arrow] - No psych state is active.
Control [Arrow -> target] - Monster will ignore all enemies (even on guard orders) and concentrate on carrying out orders.
Percept [Eye -> arrow] - Monster will duck/dodge more often, but fire less.
StdGrnd [Arrow -> horiz. line] - Monster will not move (even to engage enemy)but won't run-move.
Rage [Red crosshairs] - *This may cause unexplained crashes!* - Monster will attempt to engage enemies at close quarters, and will autonomously acquire targets on all orders.

Navigation and grouping

Your camera position is in noclip, and you will have absolutely no physical effect on the battle whatsoever. Rockets, blaster bolts, and bullets will pass straight through you; monsters will ignore you, and walk over/through you.

A set of hotkeys has been developed specially for navigating around the level, the use of which will enable you to react quicker in battle situations:
Return: Command "return" ("r"). Your camera will immediately return to your Power Core.
Goto: Command "goto" ("h"). Your camera will jump to the first selected monster it can find.
MonsterCam: Command "monstercam" ("m"). Your camera will attach to the head of the targetted (not selected!) monster; you may turn to face any direction but may not move. While in this state, pressing "m" again will deactivate MonsterCam, and command "selallnear" ("\") will reselect the MonsterCam'd monster.
Set Waypoint: Command "cam_waypoint <n>" where <n> is from 1 to 5, with +USE held. Your current camera angles and position will be saved, and may be recalled later during the game.
Goto Waypoint: Command "cam_waypoint <n>" where <n> is from 1 to 5. Your camera will immidiately goto the selected camera waypoint. If you haven't set it yet, it will default to your Power Core.
Goto Attacked: Command "goto_attack". Your camera will jump to the last monster that complained that it was under attack.
Cycle: Command "mcycle". Cycles to the next monster.

With the use of grouping, Goto becomes a very powerful tool indeed:
Create Group: Command "group <n>" where <n> is 0 to 9 (keys 1 to 9), with +USE (<alt>) held. All selected monsters will be added to group <n>. If <n> is 0, all selected monsters will be ungrouped.
Select Group: Command "group <n>" where <n> is 1 to 9 (keys 1 to 9). All monsters will be deselected, then all monsters in group <n> will be selected.
You can set up pincer movements or ambushes, each squad of monsters in a different group, and use Goto to move quickly between them. And to defend against attacks on multiple fronts, camera waypoints are an invaluable tool.

Default key bindings - QWAR2.CFG

ALT - Orders modifier +USE
R - Return to your Power Core
P - Bring up the Power Core spawn menu
J - Make selected monsters jump
V - Formation mode on/off
F - Selected monsters face in targetted direction
ENTER - Select all monsters visible
SPACE - Deselect all monsters
\ - Select all monsters nearby/Select MonsterCam'd monster
G - Guard
H - Goto selected monster
M - MonsterCam on/off (works while observing too!)
1-9 - Select group 1-9 when pressed. Set group 1-9 when pressed with ALT held.
F1 - Call up the scoreboard
TAB - Call up the ingame menu

Setting up a QWar2 server
As I mentioned in the intro, setting up a QWar2 net server may not be such a good idea, owing to the two-player nature of the game. This is being addressed; we hope to have up to 4 players per side at some point in the relatively near future.

Note: QWar2 has only been partially tested on Internet servers. While every attempt has been made to make it Internet-friendly, as a serverop you will need most of the processing power of a fairly fast computer to run a full-on >20 monster game; and client connections can degrade enormously during large battles.

Check server.cfg for a sample server config; all cvars are init'd to sensible values for a medium sized 2-player game.

Console variable reference

monsterlimit: Maximum amount of monsters any player may have at one time. Default 20.
startenergy: Amount of energy that all players start off with. Default 250.
cell_energy: How much energy a pack of cells will give a player whose monster collects it. Default 50.
cell_respawn: How long it takes for a pack of cells to respawn. Set to 0 to stop cellpacks respawning during the game. Default 30.
cell_active: Set to 0 to disable cellpacks entirely. Default 1.
timelimit: After this many minutes elapses, the map is cycled using nextmap.
buildtime: All monster spawn times are multiplied by this factor. Default is 1, and it cannot go lower that 0.
qwflags: A general cvar to set certain global toggles (just like dmflags) Add all wanted flags together, and set the qwflags cvar to the total.
QWF_FFIRE +1 : Friendly Fire disabled - monsters cannot hurt others on the same team.
QWF_WEPCELL +2 : All weapons will become cellpacks instead of being removed
QWF_AMMOCELL +4 : All ammo will become cellpacks instead of being removed

Creating maps for QWar2

Making a QWar2 map is somewhat akin to making a normal Quake II map (except of course it's larger). Apart for the two new spawn points, there are no new entities or keys to use.

Entity usage

- Place an info_player_red in the Red base, and an info_player_blue in the Blue base.
- Place info_player_deathmatches where you want observers to spawn in.
- You may want to use misc_qwar2_banners around the two bases - set spawnflag 1 to change the banner's color from red to blue.

Important notes for mappers on existing mapentities

- Trigger_multiples and trigger_onces: If spawnflag 1 is set, monsters _cannot_trigger them. If spawnflag 2 is set, players _can_ trigger them.
- Monsters _cannot_ trigger buttons. Sorry, this a Q2 engine limitation, I am trying to code around it, but at present it would be best if you put a trigger_multiple targetting the button and larger than the button itself.
- Doors/plats/buttons will not be triggered by players if spawnflag 8 is set.
- Func_explosives have a bunch of new cool features, accessed via spawnflags:

SF_BIG_CHUNKS 8 : This makes large flat plates of debris appear upon destruction, along with the standard small pieces.
SF_GLASS 16 : This plays a breaking glass sound when the ent is destroyed, as well as making all the debris translucent.
SF_STRUCTURAL 32 : This is perhaps the coolest flag of all. Selecting it will make the ent not disappear when destroyed; instead it will become affected by gravity, and spin and bounce around for awhile before exploding.
NOTE: For this to work properly you will need to add an origin brush into the entity, just like for rotating doors/objects.
SF_GN_TRAILS 64 : This make about 60% of the debris from the explosion have smoke trails.
SF_TARGET_EXPL 128 : If you give the ent a targetname, it will be destroyed by being used; _as well as_ by being shot.

QWar2 pointentities - reference

- info_player_red; info_player blue: key "angle"

This is a Power Core spawnpoint for team Red or Blue respectively.
- misc_qwar2_banner: spawnflag 1, targetname

Like a misc_banner (origin at bottom), except setting spawnflag 1 will make it a pleasant blue colour. Use around the Power Core rooms. When used, it will alter colour to the player whose monster triggered it's use.

- trigger_energy: key "count", targetname

When used (e.g by a button), this entity will give the player whose monster activated it a cellpack's worth of energy, multiplied by it's "count" key.

QWar2 brushentities - reference

- trigger_and trigger_multiple keys, spawnflags 1 2 4 8 16 32
Just like a trigger_multiple, but with a few important differences:
- If sf 16 is set, only blue monsters will trigger it
- If sf 32 is set, only red monsters will trigger it
- If it's used, it will invert state. It will only use it's target when it is in it's ON state.
- If sf 8 is set, when it is touched it will turn OFF after using it's targets.
- If sf 4 is set, it will start in the ON state.
- If sf 1 is set, monsters may not trigger it
- If sf 2 is set, players may trigger it

If you've got any queries on this (or any other map entities for that matter), talk to Asylem Escapee (asylem@planetquake.com / ICQ 2022327) about it - he's the mapper, and the person who requested this mapent in the first place.

Credits

Shadowgate Developments
Coding: Nightbringer /nightbringer@planetquake.com / ICQ 5030858
Design: Mephistopheles /hllthook@ihug.co.nz / ICQ 5727146 ACE /drivers@ihug.co.nz / ICQ 1095787 Asylem Escapee /asylem@planetquake.com / ICQ 2022327
El Nino /el_p_diablo@geocities.com / ICQ 5299987
Website: Shadowgate: http://www.planetquake.com/shadowgate
Models: ACE /drivers@ihug.co.nz / ICQ 1095787   falkon2 /falkon2@tm.net.my  / ICQ 3163507
Maps: Asylem Escapee /asylem@planetquake.com / ICQ 2022327 falkon2 /falkon2@tm.net.my / ICQ 3163507
Skins: Nightbringer /nightbringer@planetquake.com / ICQ 5030858
GFX: Nightbringer /nightbringer@planetquake.com / ICQ 5030858 Socrates /5501jaco@mail.internet.com.mx / ICQ 4165718
Testing: Jerebaldie /Stein1@home.com / ICQ 3699415 TED-Draco /klug@lakenet.com / ICQ 9972273 FaTaL Solja /Soldier504@aol.com / ICQ 7992271 falkon2 /falkon2@tm.net.my / ICQ 3163507 Akraw /akraw@mediaone.net / ICQ 12931894 DarkFrog /spafford@balrg.net / ICQ 14867887 Steve Nadeau /Sturm@tiac.net SileNcer /morrislr@freewwweb.com / ICQ 8971566 Susano /Chan.Meniscus.Otaku@worldnet.att.net / ICQ 1333053 RedPyro /RedPyro@aol.com / ICQ 15710290