Designing Design Tools

Designing Design Tools
Designing Design Tools
What is design tools?
 Why do we need them?

Table of Contents
Desired Functionality
 Scripting Languages and Object
Behaviors
 Us Versus Them
 A Game Editor for All Seasons

Desired Functionality

What sorts of features should be included
to allow an editor to truly shine, to
empower designers to do the best work
possible?
Desired Functionality
Visualizing the Level

The most important objective for a world
creation tool must be to allow the
designer to see the world he is creating
while simultaneously enabling him to
make modifications to it. (WYSIWYG)
Desired Functionality
Visualizing the Level
The designer should be easily able to
move the camera in this player’s view
 This movement is probably best
accomplished with a simple “flight” mode

Desired Functionality
Visualizing the Level

Of course, the world as it will appear in
the game is not always the best view from
which to edit that world. For this reason,
level editors often need to include an
“editing view” in addition to the player’s
view.
Desired Functionality
Visualizing the Level
Valve Hammer Editor
Desired Functionality
The Big Picture

The player’s view window does not always
need to represent exactly what players
will see.
Desired Functionality
The Big Picture
Waypoints
 Trigger objects
 Spawn points
 Character datas
 Audio sources

Desired Functionality
The Big Picture

The ability to turn on and off the
rendering of different data can be quite
useful in setting up the level’s behaviors.
Desired Functionality
Jumping into the Game

In addition to having the player’s view of
the world represent what players will see
in the game, it can be quite useful to allow
the designer to actually maneuver in this
view as he would in the actual game.
Desired Functionality
Jumping into the Game
Unity3D
Desired Functionality
Editing the World

It is important that the editor actually
allow the designer to modify all gameplaycritical aspects of a level.
Desired Functionality
Editing the World
Changeable Geometry
 Terrain - heightmap Editor
 Animation Editor
 Asset Importing from commercial
softwares

Scripting Languages and
Object Behaviors

Game behaviors should be editable
without involving a programmer
Enemies,
 Weapons,
 And others…

Scripting Languages and
Object Behaviors

Many games now include scripting
languages
Custom scripting languages,
 Or existing ones:
 Lua, GameMonkey, AngelScript vs…

Scripting Languages and
Object Behaviors
Scripting Languages;
+ Easy to learn
+ No compile time
+ Faster coding

- Less debugging capabilities
- No powerful IDE support
- Slower than native code
Scripting Languages and
Object Behaviors

Behavior variables, Property Editors etc…
Scripting Languages and
Object Behaviors

Each level in the game can have a unique
script that sets up and triggers various
unique behaviors on that level.

There is a key difference between
“scripted events” and the “scripting
language”
Scripting Languages and
Object Behaviors
Warcraft III Trigger Editor
Us Versus Them

The development of the tools for a
project often comes down to a battle
between the programmers and the
designers.
Us Versus Them

Game programmers wants to make
games
Us Versus Them
Designers and programmers think
differently
 They must be in constant communication

Us Versus Them
A programmer can be assigned for tools
development
 This is called Tools Programmer (o rly?)


Or a programmer can try to make a level
using the tool to see what designers
might be need
A Game Editor for All
Seasons

A level editor does not actually need to
be bug free.
A Game Editor for All
Seasons

Once a designer becomes adept at the
tools he will know what not to do and
will be able to easily work around the
trouble spots..
A Game Editor for All
Seasons

If the tools used on a project are good
enough, marketing may catch on and can
come up with the bright idea
The End