Upload
loreen-oconnor
View
220
Download
1
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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)
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
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
Open Source Game EnginesOpen Source Game Engines
• OGREOGRE
• Crystal SpaceCrystal Space
• IrrlichtIrrlicht
• The Nebula DeviceThe Nebula Device
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?