SM3120 SM3120 Game Level Design Game Level Design Lesson 02 – Level Design: Terrain Lesson 02 – Level Design: Terrain Ryan Lam Ryan Lam
Dec 20, 2015
SM3120 SM3120 Game Level DesignGame Level Design
Lesson 02 – Level Design: TerrainLesson 02 – Level Design: Terrain
Ryan LamRyan Lam
What is level design?What is level design?
Level designLevel design or or game mappinggame mapping is is the creation of levels: scenes, stages, the creation of levels: scenes, stages, or missions for a video game (such or missions for a video game (such as a console game or computer as a console game or computer game). game).
This is done by using level design This is done by using level design tools.tools.
Level DesignersLevel Designers
Take elements designed by others to Take elements designed by others to make them playablemake them playable• Artwork Artwork • Game playGame play• Game engineGame engine
AdditionallyAdditionally• Carve out environmentsCarve out environments• Monitor game performanceMonitor game performance• Resolve technical issuesResolve technical issues
Level DesignLevel Design
Build the difficulty curve of the gameBuild the difficulty curve of the game • Level designers faces a double challenge: Level designers faces a double challenge:
let the player against a progressive difficulty curlet the player against a progressive difficulty curve, and carry that difficulty seamlessly between lve, and carry that difficulty seamlessly between levelsevels
Level DesignLevel Design Making Terrain Fun: Making Terrain Fun: Entertaining the player is the priEntertaining the player is the pri
mary duty of the game makermary duty of the game maker::
• Establish moodEstablish mood• Terrain can build tensionTerrain can build tension• Terrain can relieve tensionTerrain can relieve tension• Terrain can tell storyTerrain can tell story• Terrain can be fun to run or driveTerrain can be fun to run or drive• Terrain can be beautifulTerrain can be beautiful• Terrain can be tactically challengingTerrain can be tactically challenging
SimpleSimple DraftDraft
General stepsGeneral steps
1.1. Laying out the larger design of the map Laying out the larger design of the map ((hills, hills, rooms, tunnels, etc…rooms, tunnels, etc…))
2.2. Specifying certain regions where specific Specifying certain regions where specific activities or behaviors occur (resource activities or behaviors occur (resource harvesting, base building, water regions, etc) harvesting, base building, water regions, etc)
3.3. Specifying other entities in the map (such as Specifying other entities in the map (such as enemies, soldiers, resource ammo and health, enemies, soldiers, resource ammo and health, weapons, save points, etc) weapons, save points, etc)
4.4. Specifying which part of levels move, locations Specifying which part of levels move, locations of doors, teleporters, and hidden pathof doors, teleporters, and hidden path
Example: Warcraft 3Example: Warcraft 3
General stepsGeneral steps
4.4. Specifying the start/exit locations for one or more Specifying the start/exit locations for one or more players players
5.5. Adding realism by filling in with details such as Adding realism by filling in with details such as level-specific graphic textures, sounds, level-specific graphic textures, sounds, animation, lighting and music animation, lighting and music
6.6. Scripting, where certain actions by the player Scripting, where certain actions by the player trigger specified eventstrigger specified events
7.7. The path that NPC take as they walk around, the The path that NPC take as they walk around, the actions they will take in response to specific actions they will take in response to specific triggers, and any dialog they might have with the triggers, and any dialog they might have with the playerplayer
Player Start Point Texture
Terrain
Natural Environment
NPC
Neutral Building Props
River, Ocean…etcRiver, Ocean…etc
ArchitectureArchitecture
Lighting
Weather
AI PathAI Path
ScriptScript
IssuesIssues How large is the level?How large is the level? How long will it last?How long will it last?
• Speed of travelSpeed of travel Building to scaleBuilding to scale
• Consider how the player will move aroundConsider how the player will move around Where does the player appear?Where does the player appear?
• How did they get there? How did they get there? Introductory cinematic should explain thisIntroductory cinematic should explain this
• Where do they re-spawn to when they die?Where do they re-spawn to when they die?
Example: Start/Re-spawn in WarCraft 3Example: Start/Re-spawn in WarCraft 3
CinematicCinematic
IssuesIssues Consistency in the level design brings life to the worldConsistency in the level design brings life to the world
• What will the visuals be like? What will the visuals be like? Colours of landscape and sky? Colours of landscape and sky?
• What textures and architecture belong in this level? What textures and architecture belong in this level? • What is the culture or history with the level? What is the culture or history with the level? • Does it fit for the game genre? Does it fit for the game genre? • Is it set in the past? Is it set in the past? • What are the sounds like in the levelWhat are the sounds like in the level
Present different tactical challenges inside the map (Present different tactical challenges inside the map (VVery important!!)ery important!!)
Game Balance to each player? (Game Balance to each player? (Very important!!)Very important!!)
Entire MapEntire Map
TerrainTerrain
Adds atmosphereAdds atmosphere Nature is chaotic Nature is chaotic
• Balance between reality and smooth Balance between reality and smooth running of gamesrunning of games
Natural barrierNatural barrier• Constrain where the player can goConstrain where the player can go• Need to give player room to moveNeed to give player room to move
TerrainTerrain
There are different way to create There are different way to create terrain:terrain:
1.1. HeightmapHeightmap
2.2. HandmadeHandmade
3.3. MixedMixed
4.4. Auto-generatedAuto-generated
HeightmapHeightmap
Heightmap is used to generate 3d terrainsHeightmap is used to generate 3d terrains
• Heightmap uses the 256 shades of gray in a Heightmap uses the 256 shades of gray in a black-and-white digital pictureblack-and-white digital picture
• Black is ground level, white is peakBlack is ground level, white is peak• Each shade of grey represents a Each shade of grey represents a
different heightdifferent height
Handmade/MixedHandmade/Mixed
Handmade terrainsHandmade terrains• Use packages such as 3DS or Maya to Use packages such as 3DS or Maya to
sculpt new worlds from a 2D planesculpt new worlds from a 2D plane• Add texturesAdd textures• Very time consuming but can produce Very time consuming but can produce
realistic resultsrealistic results MixedMixed
• Use a combination of height maps and Use a combination of height maps and then modify as required using available then modify as required using available toolsettoolset
Auto-generatedAuto-generated
Auto-generatedAuto-generated• Procedural approach where software Procedural approach where software
generates landscapes based on initial generates landscapes based on initial settings of designersettings of designer
• Useful where player does not interact Useful where player does not interact with the terrainwith the terrain
• E.g. Terragen, MojoWorld E.g. Terragen, MojoWorld
Tiled TerrainTiled Terrain
Tiles pre-generated and placed next Tiles pre-generated and placed next to each otherto each other• Time consuming for large levelsTime consuming for large levels• Loaded at runtime as requiredLoaded at runtime as required• Constrained by the tile setConstrained by the tile set
Neverwinters NightNeverwinters Night• Each tile set contains around 200-300 Each tile set contains around 200-300
tilestiles• Three months development timeThree months development time
Example tilesExample tiles
Adding propsAdding props Landscape the terrain with trees, bushes, rocks, Landscape the terrain with trees, bushes, rocks,
buildings, walls etcbuildings, walls etc• Only use objects that make sense for the settingOnly use objects that make sense for the setting
Palm trees in an artic waste land?Palm trees in an artic waste land?• Need to test level with game engine frequently to Need to test level with game engine frequently to
ensure performance acceptable ensure performance acceptable reduce number of props if necessaryreduce number of props if necessary
Also:Also:• Location of NPCs within the gameLocation of NPCs within the game• Power upsPower ups• Spawn pointsSpawn points
Consider the gamplayConsider the gamplay• Players need room to move around and engage the Players need room to move around and engage the
enemy, so do not over populate the ‘hot zone’ around enemy, so do not over populate the ‘hot zone’ around the player the player
Props in WarCraft 3Props in WarCraft 3
Architecture (3D model)Architecture (3D model) Toolsets often provided by the games engineToolsets often provided by the games engine
• Pre-built objects that slot together (Lego) Pre-built objects that slot together (Lego) • Brushes (3D stencil)Brushes (3D stencil)• Actors (imported assets)Actors (imported assets)
Use other software to create architecture Use other software to create architecture and import into the game engineand import into the game engine• Which format? Depends!Which format? Depends!
.x (DirectX).x (DirectX) .mdx.mdx DXF (wide support but slow & relatively large file size)DXF (wide support but slow & relatively large file size) Conversion softwareConversion software
Architecture Architecture in WarCraft 3in WarCraft 3
EncountersEncounters
InformationalInformational• Interaction between player and NPCInteraction between player and NPC
PuzzlesPuzzles• Locks placed at bottlenecks in the gameLocks placed at bottlenecks in the game
Movement puzzlesMovement puzzles• Player runs & jumps to avoid obstaclesPlayer runs & jumps to avoid obstacles
CombatCombat• Should have a purposeShould have a purpose
Encounters in WarCraft 3Encounters in WarCraft 3
Software toolsSoftware tools
Game engines Game engines • Unreal Edit (free for educational use)Unreal Edit (free for educational use)
Commercial gamesCommercial games• Bespoke level editors E.g. Far Cry, WarcraftBespoke level editors E.g. Far Cry, Warcraft
Game Space Light (free)Game Space Light (free)• Supports DirectXSupports DirectX
3DS Max3DS Max• Needs exporters for game enginesNeeds exporters for game engines
PhotoShopPhotoShop Bryce – good for creating terrains Bryce – good for creating terrains
interactivelyinteractively
Unreal EditorUnreal Editor
Free game engineFree game engine
Far Cry Engine Far Cry Engine ((URLURL))
Sandbox level editor available with Sandbox level editor available with gamegame• Good for creating islandsGood for creating islands• Buggy Buggy
Bryce Bryce ((URLURL))
Landscape generatorLandscape generator• presets, model, grey scale mapspresets, model, grey scale maps
ObjectsObjects• primitives, Metaballs, Boolean objects, importprimitives, Metaballs, Boolean objects, import
Material MappingMaterial Mapping• presets, import own images, advanced editingpresets, import own images, advanced editing
AnimationAnimation• objects, materials, lights, environment, cameraobjects, materials, lights, environment, camera
RenderingRendering• BitmapsBitmaps• AVIAVI• QuickTime VRQuickTime VR
view control
camera control
render control
animation control
working window
tool palettes
nano preview
advanced displaypalette
Bryce InterfaceBryce Interface
Version 5Version 5
ToolsTools Selection paletteSelection palette
Name objects via Attributes dialogueName objects via Attributes dialogue
Colour code objectsColour code objects
Most drag operations are left and rightMost drag operations are left and right• rather than up and downrather than up and down
Toggle
Bryce LabsBryce Labs
Terrain EditorTerrain Editor Tree LabTree Lab Sky LabSky Lab Light LabLight Lab Material LabMaterial Lab
CompositionComposition
Think about the composition of the Think about the composition of the scenescene
QuestionQuestion 1. How does a heightmap work?
2. What’s frustrating to a player?• a) Invisible walls• b) A lack of landmarks• c) Not being able to see his opponent• d) All of the above
3. Name three ways that terrain can be fun.
4. What are some of the things you have to consider when texturing your terrain?
5. What are some of the things you have to consider when placing props on your terrain?
AnswerAnswer 1: A heightmap uses the 256 shades of gray in a black-and-white digital p
icture to remember surface features. Each shade of gray represents a certain elevation. Black is the lowest possible elevation, and white is the highest.
2: d) All of the above.
3: It can be fun to move around on, it can tell a story, and it can build/relieve tension.
4: Whether the textures are appropriate to the scenario you’re working on, and whether they look good (no seams, not stretched because of sudden elevation changes, no obviously repeated squares).
5: Whether the props are appropriate to the scenario, whether they look like clones of each other, and whether they interfere with the gameplay of the level.