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 gameplay- critical 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 + 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