Room Wars (working
title)
Overview:
Room Wars is
a casual real-time tactical game set inside a spaceship. The player moves from
room to room, clearing out each room with the units he has rescued from
previous rooms.
The game is 2D, easy to learn, and does not require
reflexes. It has been designed to be made by a small team in a short period of
time with low resources and funding.
This project taps the
resource of strategy games that has seen very little use in the casual game
market up to this point.
Index:
-
Intuitiveness, learning curve, controls and the tutorial.
-
Controls.
-
Semi-dynamic gameplay:
-
Project length, projected cost, team size, the
business plan.
-
Being a "Casual game".
-
General game systems: an overview.
-
The
Player, his abilities, his controls.
-
Units.
-
The interface.
-
The world, the levels, and the terrain.
-
To sum up.
Intuitiveness,
learning curve, controls and the tutorial:
The game is designed around a single
campaign, with no skirmish mode and no multiplayer. In this respect it is very
like an RPG or an Adventure game.
The early levels of the game will
slowly introduce the various aspects of the gameplay in small steps, trying to
allow the player a chance to understand something before dealing with it in
combat. For example, the player should walk through all the terrain types in
the early levels, before having to fight his way through them.
Since many players when given the
option to not do a tutorial will skip it, the game won't give the player that
choice. However, the tutorial should be designed to not delay a player who
knows how to play. An example of this would be allowing the player to hit enter
very fast and repeatedly which would skip past the tutorial messages, and move
on to the real game.
By not giving the player the choice
between a tutorial and starting a new game, but giving the player the ability
to "speed-run" through the tutorial, the problem is solved.
This game has two main themes:
- Reward the player, try not to
punish him.
When possible, give the
player things in a format that he will enjoy, rather than something he will
just use as a tool. This is a single-player game. Balance is not as much of a
priority as making the player happy. Don't spoil him, but there is little
reason to not give generously.
Make the death/respawn
system forgiving on all but the hardest difficulty. Don't punish the player.
Draw him on, drag him in, but don't give him a reason to stop playing.
- Keep it simple without removing
too much content.
This is about labor,
time, resources, and money. It is also about making a casual game, and keeping
it simple. The less the player has to learn, the more time he is spending
playing the full game.
This is a double-edged
sword, don't make it so simple that the game stops being fun. However, with
good art work and nice music, this is quite hard to do, especially for a RTT.
Controls:
Controls will be kept simple. The whole game
can be played with only the mouse, and only one button. This means that right-clicking
and left-clicking do the same thing, and therefore learning the controls is
very easy.
Everything is done by clicking on it
(skill tree, NPC chat, pop-up menus, movement orders). The most complex form of
this is clicking and dragging, and even then, the player will still always get
an immediate response when clicking.
Hotkeys are not used, as the game is
not multiplayer and not designed for a hard-core market. By not having hotkeys,
a casual gamer won't bump one by accident and find himself in a strange menu.
Units can be given movement orders,
but not fire orders. If testing shows that this is not enough control (example:
players want to tell a certain unit to fire on a certain other unit), then the
right mouse click and drag can become a fire order. However, I have made a RTT
without fire orders (TacticsZen on my portfolio, on my website), and it worked
quite well.
If fire orders are required for some
units (the long range ones), then the game can use a single special order for
each unit type. Holding Space + clicking and dragging will do this order.
Example orders would be a firing location for a mortar, a teleport to this
location order for a teleporting unit, or a forced-move order for normal
troopers.
Semi-dynamic
gameplay:
This game uses dynamic units. This
means that when you rescue a unit, it can travel with you to another level,
making that new level easier to beat.
This could quickly get out of hand,
resulting in the player marching from room-to-room with a large army, wiping
out each group of enemies with ease. This is not a bad thing, since the game is
single-player. As long as this does not happen too often, it will act as a
reward to the player.
However, it would ruin the game from
that point on, so the game will be semi-dynamic and will be separated into
sections. Each new section will start the player fresh, halting any slide in
either direction (the player having too few or too many units). This will have
to be done tactfully, or the player will feel that the game is cheating and
taking away what he had built up (it is).
Ending each section with a reward,
giving the player a winning graphic and some bonus EXP based on the number of
units saved and objectives finished will give the player a feeling of having
completed that section, and ready him for the next section. It will make him
happy that he has finished, rather than annoyed.
The bonus EXP does not have to be
completely dynamic either. It can have secret rules, like maximum amounts, and
giving exponentially less EXP for each unit in the player's army over a certain
amount. This helps prevent the player from getting too powerful.
The reverse problem with this
dynamic system is that the player could win a single battle but lose almost all
of his units, and not be able to beat the next area, becoming stuck. This can
be solved by cheating to help the player.
When the player dies and respawns at
the last visited respawn point, or walks back to the last respawn point/safe
area, the game checks how many units he has, and spawns reinforcement units to
bring the amount up to the secret minimum (for that difficulty level) to make
it possible to finish the section.
These reinforcement units will tend
towards being the basic marine, and so the player will have a reason to try not
to lose his army, because it will be filled with the cool units that he has
rescued along the way (Snipers, Brutes, etc).
When a unit dies, it is lost
forever, causing the player to value each unit. The only way to get some of the
cool units (Snipers, Brutes, etc) is to rescue them in each level, and each
section only has a set number of these cool units. This gives the player a
reason to want to keep his units alive.
All of this can be adjusted based on
difficulty level, including the types of reinforcement units that spawn, their
amounts and so on.
Project length,
projected cost, team size, the business plan:
This project is designed to be made
by a small core team of two, myself (programmer, level designer, game designer,
manager) and an artist (2D art). Any extra work or work requiring skills not
found on the core team can be contracted out (Music, Marketing, Web design,
Sound effects, etc). With this in mind, the game has been designed to be:
- 2D, lowering the
amount of work to needed to create the content.
- Single-player, for the
same reason as above, and just to avoid the large amount of extra time and work
that is required for multiplayer games (Server hosting, keeping an online
community).
The basic project time is 8
months, which is separated into:
- 1 month to fully prototype, to
test fully test the idea before hiring the artist.
- 2 months to create content,
- 3 months to polish and finish the
game,
- 2 months to test it, market it,
and as always, more polishing.
The projected cost is $5000-$7000
thousand dollars (USD), not counting the cost to pay me, as designer,
programmer, and jack-of-all-trades. This separates into:
- $2000-4000 dollars for the Artist.
- $2500 misc. contract work and
outside content (Buying music).
- $500 initial advertising to create
more testers and a forum full of fans.
Also, the artist would recieve a
percentage of the game's profit (after costs) so that he has a reason to work
over and beyond his flat fee (15%-25%).
This gives me 75%-to-85% return of the
profits, and full ownership of the game. This can then be handed off in
publishing deals, portals, etc.
Being a "Casual
game":
I wanted to design this game as a casual
game for two reasons. The first is that this is where games are going, and I
like being on the new frontier. The second is that publishing, marketing and
selling a casual game can be easier, and after Engine of War, I have
learned the need for ideas to be designed with certain styles of game portals
and markets in mind.
Room Wars is designed as a casual
game, so I want the interface and controls to be easy to use and to learn. With
this in mind, the units are ordered around the levels by clicking and dragging
from the unit to the destination, removing the required skill of selecting
units and ordering units with different mouse buttons.
The game also has no camera
scrolling, with each level filling one screen. For example, think of Pac-man,
but imagine that exiting the map on the left moved the player's character into
a new area, rather then teleporting it back into the same level from the right.
Also, the game flows slower then a
normal RTS or RTT. The units do not move as fast. This removes the player speed
that can be required in a RTS, and allows a more relaxed form of gameplay. It
is better for casual gamers.
The slower pace makes the system of
clicking and dragging units to give them orders possible, as this is not a fast
system, but more of a simple and clear system, with very little skill required
to be learned by a new player.
As an example of how this would
feel, think of the Close Combat series, which has up to 16 units and yet
requires the player to order each unit separately and slowly. Because of the
slow flow of the game, this feels good. In Warcraft III it would feel
ridiculous, because of the faster pace.
The lack of scrolling means that the
levels are smaller, giving the casual gamer a single screen's worth of map to
deal with, rather then a normal RTS map, which would give a casual gamer too
much information to concentrate on.
This is not a 100% casual game,
because it uses combat, and a science fiction storyline. This will not appeal
to some casual gamers. But it does not clone other casual games which will
allow it to stand out in the crowd of match-3 and hidden object games. It does
keep the game simple enough for non-serious gamers and this will allow more
portals to pick up the game.
General game systems,
an overview:
Pathfinding. The units will find
their way around corners and through mazes. I have already programmed this into
a prototype, and it can support 300 nodes, and dynamic refreshing of the node
map. It is designed for RTSs and so can support many units pathfinding at once.
Click and drag controls. This has
already been programmed into the prototype, and seems to flow fine. However,
this can't really be tested until a combat encounter can be setup.
Fog of War. This will take the form
of a grayed out fog over the map, which is removed in a radius of the player's
units. The map starts explored, only dynamic parts such as units are hidden.
AI. This will not need to be that
complex, using a system based around each unit deciding what is best for
itself. No overall plan needs to be played out by the AI.
NPCs & Chat. This is a simple
system, and has already been programmed into the prototype. A cartoon voice
bubble floats above the head of an NPC. It will fade when it is hiding a unit
from the camera, and simply says something that the player can read.
Example: "I have a mission for
you!". When the player clicks on the voice bubble, it cycles to the next
in the list, changing to, for example: "Can you get the shields back
online?". This is very simple, but allows the use of NPCs, in a dynamic
way that does not require very much NPC scripting. It also follows the game
theme of being easy to use, as it only requires clicking the mouse.
Player abilities, lack of items. The
player's character will have a skill tree that can be toggled by a button on
the interface. Glowing text and a small EXP bar will alert the player when he
needs to level up. The player character never uses items, and therefore no
inventory system is required. This keeps the game simple.
The player's abilities are in the
style of Diablo 2. More detail is in the section below, “The Player, his abilities, his controls”.
Mini-map. This should be a center of
screen pop-up that is toggled on a key press. This means the map can be
detailed, but not use up screen space. This is a good idea because a map is not
a tool that is immediately needed. As long there is a clearly labeled button
"Map" on the interface, the player can find it when he needs it.
The Player, his abilities, his controls:
The
player has a unit in the game, that is his avatar in the game world. If this
unit dies, the player loses/respawns. The camera always displays the level that
this unit is in.
The
player earns EXP for every unit that he rescues, and for every enemy killed.
Each level gained gives a Skill Point, which can then be spent on a skill (in
the simple style of Diablo 2).
The
player’s abilities are in three styles:
-
“Buff,
aura and passive”. These tend to increase the strength of the player’s units.
-
“Movement
and capability”. Abilities such as cloaking or immunities that allow the player
to stand in for a certain unit, taking over its role in the combat. These also allow
the player to scout ahead or escape when overwhelmed.
-
“Spells
and attacks”. Attacks, bullets, fireballs, weapons, shiny particle effects that
can be shot spinning towards enemies.
An
example of the player character being used to fill a combat role is like this:
The player is missing a Phasing grenadier, and needs to defeat a Plasma gunner.
The player can use his ability “Immune to Plasma” and rush the Plasma gunner.
He will lose some health but defeat the encounter.
The
player’s health is a general resource. The player can spend it to defeat an
encounter he is stuck on, but healing is not very easy, and tends to require
finding a respawn point in the world.
The player controls the player
character like any other unit, by clicking and dragging. Space + Click and
dragging will use the player’s currently selected ability. Also, the player
will be alerted when this unit’s health is very low.
I will not lay out any player
abilities in this version of the game document. The abilities are too interlocking
with the units, that these need to be designed later on, when the completed
prototype can be used to test each ability.
The two roles of player abilities
are to reward the player as the game advances, and to allow the player’s
character to help in defeating enemies.
Units:
The units in this
game are very important. I will lay down a basic setup for them here, but they
will have to be adjusted, tweaked and tuned as the game continues. If unit
design falls into a bad direction, it will need to be re-done from scratch,
because the unit’s feel, flow and style needs to be the most solid part of this
game.
Units should not be designed like
they would be for a RTT or a RTS. They should instead be designed as though for
a TBS game, with each unit having enough content designed into it, to be worth
ordering around individually. This is because of the click and drag movement
system, ordering several units to attack at the same time is not convenient. So
no cannon fodder units.
Each unit needs to be clear in its
role, and simple to use.
The following units are just enough
to get the prototype up and running with combat encounters. A full and detailed
list will need to be made, but this can only be done when units can be tested
in game.
The basic three units (rock, paper,
scissors) are:
Plasma
gunner – A slow moving defensive unit, armed with a plasma gun. Plasma bullets
slow down units that they hit (think of Ice spells in Diablo 2), so while this unit does not deal very much damage, he
slows his target down, and kills it over 5-6 seconds. This unit’s range is
around a third longer than the Trooper unit (see below).
Phase grenadier – This unit
functions like a mortar. It moves slowly, is long range, inaccurate, fires
explosive bullets, and can fire past walls.
When
it fires, the bullet travels for a few feet and then phases out in a flash of
blue light. With another flash of blue light, it teleports into where the unit
is aiming, flies a few feet, and explodes. The exact location where the bullet
phases in, is offset by a random vector, meaning that the weapon is inaccurate.
Trooper – Fast moving, and tough,
this unit is an all around unit. Fast moving and tough enough to counter the
Phase grenadier, this unit’s short range means that it is countered by the
Plasma gunner.
The
Trooper is countered by the Plasma gunner, but tends to counter the Phase
grenadier, forming the last side of a tactical triangle. However, the player
character can also be used to deal with anyone of these, at the expense over
mana and the use of certain player abilities. Also, outnumbering or flanking a
unit will also counter it (3 Troopers will be able to defeat a Plasma gunner at
high cost).
Because I don’t want to make a full
list of 12 units before I can play test ideas in game, I have not fully laid
out more then the three basic units. This is a brainstorming list only:
-
Warp
Spiders (from Dawn of War 40K)
-
Snipers
(from Company of Heroes or Red Alert 2)
-
Tank
armor causing enemy bullets to bounce off (Company of heroes).
-
Mind
controlling Yuri (Red Alert 2)
-
A
unit with forward facing shields (Half droideka)
-
Scouts
(Cloaking when not too close and not attacking)
The interface:
This should be kept simple, and present
only the information that the player needs to know. The map and the player's
skill tree will be hidden in pop-up menus, as neither is needed right away. The
idea here is to give the player as little as possible to deal with at first,
and to let him stumble over each new system as he needs it. This fits with the
game being a casual game.
Also, placing the skill tree and the
map into pop-up menus gives more space for the artist to make them look nice,
while keeping them clear.
An example of stumbling over a
system being that when the player levels up, he will be shown the skill tree
menu because the button will suddenly have the glowing text: "Level
up!" displayed over it.
The world, the
levels, and the terrain:
The game is set inside spaceships,
with the player fighting room-to-room, through wrecked hallways, rooms blasted
open and exposed to deep space. He is given objectives based around parts of
the ship, such as the ship's engine core, the shield generator or the main
bridge. These areas, or the paths to them, are filled with enemies. Some areas
are completely held by the enemy troops, and some are scattered with friendly
crew and enemy marines fighting, being pinned down or awaiting rescue.
Over the course of the game, the
player travels through three different spaceships. These spaceships are always
in the process of being boarded and some areas are under the control of enemy
marines. The player's job, as an officer, is to round up the scattered friendly
units, forge them into a solid fighting force, and win back the ship.
The levels are made of three types
of terrain (Floor, Wall, Water) and everything else is, from a programming
point of view, a unit. What I mean by that is that there may be a landmine, a
shield generator, or a slowing aura, but these are not factored into the
pathfinding and are units that can be placed in a level. The landmine, for
example, is just a unit that does not move, does not shoot, and explodes when a
unit steps on it.
- Floor terrain is the basic layer that
can be moved around on.
- Walls block movement and weapon
fire.
- Water can't be moved over, but can
be fired across.
Water is never really water, but
could be a patch of electrified floor, a hole in the floor that has only deep
space beyond it, some barbed wire, or an area that is on fire. Since this is
just part of the 2D level background, the artist can go wild with this, as long
as it stays clear to the player how his units will interact with this area.
A note on size. Each level is a
single screen, as there is no camera scrolling in the game. Because movement
between levels is done by teleporting the unit (a unit stepping into a doorway,
going down some stairs, getting on a teleporter, etc), and the camera just
shows whichever level the player's character is currently on, there is no real
limit to the size of each section and therefore the size of each ship. Few
extra resources are required for each additional level in the game, and the
lack of scrolling means that the connection of the levels in a section is
completely up to the level designer.
Level connection will have to make
sense, and remain consistent. The door in the north wall of a room should
connect to a door in the south wall of the next room. Rare use of actual
teleporter pads would be a good thing, as they will confuse the player's mental
layout of the section.
The world should also not be thought
of as boring, with lots of gray metal hallways and tiles. There can be animated
2D backgrounds, such as a level with lots of "Water" terrain that
shows a really cool stars background. There can be levels where the walls are
lined with frozen people in pulsing glowing green tubes, or an engine core room
with spinning parts moving in the engine. Whole areas can have space backgrounds,
because they take place on narrow walkways slung on the underbelly of the ship,
or have large viewing windows in the walls.
To sum up:
This game is a casual game that taps
into the large resource of RTS games, using several systems (click and drag orders,
no camera scrolling, slow game pace, small levels) to bring the game to a level
where casual players can enjoy it.
The game has a unique feel to it,
even amongst RTSs, because of the dynamic flow of the world, and the non-linear
level connections.
Using NPCs, and giving the player a
player character to control allows a simple storyline, without locking the
player into scripted quests and missions. This means the story can be ignored
or read in detail by the player.
Player abilities are designed with
the goal of abilities, not stats. This means that players are not confused by a
page of stats, and instead are given new abilities or allowed to upgrade old
ones as the game progresses (In the style of the Diablo 2 skill tree). This
helps keep the learning curve gradual and rewards the player, rather then
boring him. It also follows the game theme of keeping it simple and clear, by
using large single-click buttons with a picture on them.
By using only a few basic systems,
and choosing the simple choice when possible, the game stays accessible to
casual players, and is small enough to be built by an indie team.
Having only 2D graphics, with low
resource use (only a single small level loaded at any one time) allows this
game to have a possible demo in Flash, allowing the advantage of having an
online demo,