15
Procedural Generation of Procedural Generation of Virtual Cities for Virtual Cities for Computer Game Computer Game Application Application Bruce Megget Bruce Megget Andrew Gits Andrew Gits Francois Grobbelaar Francois Grobbelaar Liz Harte Liz Harte

Procedural Generation of Virtual Cities for Computer Game Application Bruce Megget Andrew Gits Francois Grobbelaar Liz Harte

Embed Size (px)

Citation preview

Page 1: Procedural Generation of Virtual Cities for Computer Game Application Bruce Megget Andrew Gits Francois Grobbelaar Liz Harte

Procedural Generation of Procedural Generation of Virtual Cities for Computer Virtual Cities for Computer

Game ApplicationGame Application

Bruce MeggetBruce MeggetAndrew GitsAndrew Gits

Francois GrobbelaarFrancois GrobbelaarLiz HarteLiz Harte

Page 2: Procedural Generation of Virtual Cities for Computer Game Application Bruce Megget Andrew Gits Francois Grobbelaar Liz Harte

IntroductionIntroduction• Virtual CityVirtual City

– Creation of an entire city using procedural techniquesCreation of an entire city using procedural techniques– Population of the city with buildings, roads, people, Population of the city with buildings, roads, people,

and other objectsand other objects

• Benefits of Procedural GenerationBenefits of Procedural Generation– Much faster development time with generated cityMuch faster development time with generated city– Enables almost endless amount of maps for gamerEnables almost endless amount of maps for gamer

• ChallengesChallenges– Can require a large amount of computer resourcesCan require a large amount of computer resources– Difficult to generate a “convincing” cityDifficult to generate a “convincing” city

Page 3: Procedural Generation of Virtual Cities for Computer Game Application Bruce Megget Andrew Gits Francois Grobbelaar Liz Harte

BackgroundBackground

• Existing city-based Existing city-based gamesgames

• Two ways to generateTwo ways to generate– Before ExecutionBefore Execution– Real-timeReal-time

• AI in gamesAI in games

Page 4: Procedural Generation of Virtual Cities for Computer Game Application Bruce Megget Andrew Gits Francois Grobbelaar Liz Harte

Existing Games with CitiesExisting Games with Cities

• Sim City 4Sim City 4– Creation of unique citiesCreation of unique cities– However, not However, not

procedurally generated procedurally generated - requires user - requires user interaction.interaction.

• Burnout 3: TakedownBurnout 3: Takedown– Massive detailed cityMassive detailed city– Painstakingly created Painstakingly created

from scratch by 3D from scratch by 3D artists, taking months artists, taking months of production timeof production time

Page 5: Procedural Generation of Virtual Cities for Computer Game Application Bruce Megget Andrew Gits Francois Grobbelaar Liz Harte

Pre-Execution GenerationPre-Execution Generation

• Lechner et alLechner et al– City “grows”, following City “grows”, following

rules, simulating the rules, simulating the growth of a real city.growth of a real city.

• Parish and MullerParish and Muller– Realistic road system Realistic road system

generation using rules generation using rules and constraints, based and constraints, based on existing road on existing road systemssystems

Page 6: Procedural Generation of Virtual Cities for Computer Game Application Bruce Megget Andrew Gits Francois Grobbelaar Liz Harte

Real-time GenerationReal-time Generation

• Greuter et alGreuter et al– Generation of buildings Generation of buildings

geometry and texturinggeometry and texturing– Follows a grid-like road Follows a grid-like road

systemsystem

• Descensor EngineDescensor Engine– Generation of random Generation of random

worlds, following basic worlds, following basic rulesrules

– Only generates as much Only generates as much detail as computer can detail as computer can handlehandle

Page 7: Procedural Generation of Virtual Cities for Computer Game Application Bruce Megget Andrew Gits Francois Grobbelaar Liz Harte

AI in GamesAI in Games

• TextbooksTextbooks– Practical advice on Practical advice on

building game AIbuilding game AI

• BotsBots– Half Life & QuakeHalf Life & Quake– Monster AIMonster AI– MODsMODs

Page 8: Procedural Generation of Virtual Cities for Computer Game Application Bruce Megget Andrew Gits Francois Grobbelaar Liz Harte

GoalsGoals

• Creation of an immersive “living” cityCreation of an immersive “living” city– Everything looks realisticEverything looks realistic– Elaborate visual detailElaborate visual detail– ““living” living” people/cars moving about people/cars moving about

independentlyindependently– Each generated city is uniqueEach generated city is unique

• AIAI– People, interact with the environment around People, interact with the environment around

themthem– Cars following road system, traffic rulesCars following road system, traffic rules

Page 9: Procedural Generation of Virtual Cities for Computer Game Application Bruce Megget Andrew Gits Francois Grobbelaar Liz Harte

Immersive “living” cityImmersive “living” city

• Common city elementsCommon city elements– Traffic lights/road signsTraffic lights/road signs– RubbishRubbish– Phone booths etcPhone booths etc

• People and CarsPeople and Cars

• EnvironmentEnvironment– Weather Weather – Day/Night (lighting of scene)Day/Night (lighting of scene)

• AdvertisingAdvertising

• Anything elseAnything else

Page 10: Procedural Generation of Virtual Cities for Computer Game Application Bruce Megget Andrew Gits Francois Grobbelaar Liz Harte

AI in the cityAI in the city

• Agents Agents traversingtraversing– Active/ReactiveActive/Reactive– WanderWander– Goal DrivenGoal Driven

• Cars drivingCars driving– Traffic signalsTraffic signals– Road rulesRoad rules– PedestriansPedestrians

Page 11: Procedural Generation of Virtual Cities for Computer Game Application Bruce Megget Andrew Gits Francois Grobbelaar Liz Harte

Project Plan so farProject Plan so far

• Choose an engine (week 2)Choose an engine (week 2)

• Finished collaborative framework (week 4)Finished collaborative framework (week 4)

• Include road generation (week 4)Include road generation (week 4)

• Finished building textures, building shapes Finished building textures, building shapes and size generation, building placement etc and size generation, building placement etc (week 7)(week 7)

• Incorporated AI agents (week 8)Incorporated AI agents (week 8)

• Realistic details of city (extras) completed Realistic details of city (extras) completed (week 9)(week 9)

Page 12: Procedural Generation of Virtual Cities for Computer Game Application Bruce Megget Andrew Gits Francois Grobbelaar Liz Harte

Starting pointStarting point• Commercial game enginesCommercial game engines

– Usually only game-code source is availableUsually only game-code source is available– Much more stable, very easy to useMuch more stable, very easy to use

• Open Source game enginesOpen Source game engines– Ability to modify any part of the engine sourceAbility to modify any part of the engine source– Large community of developers continually improving engineLarge community of developers continually improving engine

Page 13: Procedural Generation of Virtual Cities for Computer Game Application Bruce Megget Andrew Gits Francois Grobbelaar Liz Harte

Commercial Game EnginesCommercial Game Engines

• Quake (1, 2, or 3)Quake (1, 2, or 3)– Older technologyOlder technology– Fast, efficientFast, efficient

• Unreal 2Unreal 2– Relatively old, but Relatively old, but

powerfulpowerful– Similar to Quake enginesSimilar to Quake engines

• ““Source” (Half-life 2)Source” (Half-life 2)– Newer than previous twoNewer than previous two– Better for large open Better for large open

areasareas

Page 14: Procedural Generation of Virtual Cities for Computer Game Application Bruce Megget Andrew Gits Francois Grobbelaar Liz Harte

Open Source Game EnginesOpen Source Game Engines

• OGREOGRE

• Crystal SpaceCrystal Space

• IrrlichtIrrlicht

• The Nebula DeviceThe Nebula Device

Page 15: Procedural Generation of Virtual Cities for Computer Game Application Bruce Megget Andrew Gits Francois Grobbelaar Liz Harte

ConclusionConclusion

• Many different paths to takeMany different paths to take• Aim to create an immersive living Aim to create an immersive living

environment in the limited time we haveenvironment in the limited time we have• Any Questions?Any Questions?