1 Seminar Crowd Simulation Introduction
2 Who am I? Roland Geraerts Assistant professor Robotics background Research on path planning and crowd simulation
3 Who are you? Master GMTE? Course Game Design? Course Motion and Manipulation? Interest in Games? Why do you follow the seminar? Interest in thesis projects? Who has exciting hobbies?
4 Goal of the seminar To obtain knowledge of current research in path planning and crowd simulation Study and discuss papers To understand the limitations of the current techniques Determine the limitations and open problems in the papers To become a very critical reader Hand in many assessments of papers To understand the state-of-the-art in current games and how this could be improved Study path planning in existing games Write paper about the applicability of new techniques
5 Why this seminar Path planning and crowd simulation are important research topics in Utrecht Mark Overmars, Roland Geraerts, Frank van der Stappen, PhD students (Ioannis Karamouzas, Saskia Groenewegen) Relation to animation research Gate project Gate project 19 million Euro Dutch project on game technology and applications Thesis projects Future PhD positions
6 Practical aspects Meetings Tuesday BBL-069 Friday BBL-071 Presence is mandatory If you cannot come for a good reason Let me know beforehand Hand in abstracts before meeting Website Check regularly for announcements and changes Download papers Find the secret page
7 Assignments Present two papers Each 30 minutes plus 15 minutes discussion Write paper abstracts/assessments Read papers before the presentation One page per paper Abstract in your own words Critical assessment –Main limitations and open problems –Surprising and innovative elements –Do the authors claim too much, make many assumptions, draw conclusions that are too general, not correctly setup their experiments? Two-three questions or points for discussion Hand in the two pages (on paper) on the day of the presentation Use headings: Summary, Assessment, Questions
8 Assignments Study path planning in a modern game Investigate what goes wrong (path planning, crowds) Make a video (.wmv to make sure it works) Make 3 slides Bring them with you next Tuesday (May 3) for discussion Paper on path planning/crowd simulation in games At the end of the seminar (July 1) Write a paper (10 pages) on how the new techniques can be used in games Based on the problems in two example videos
9 Grading Game study5% Presentations15% + 25% Abstracts20% Paper25% Active participation10% To qualify for second change exam The original mark should at least be a 4; Actively participate in at least 75% of the meetings; Give both presentations satisfactory.
10 Tentative schedule WeekDateTopicSpeakerDeadline 17April 26IntroductionRolandPaper 0 April 29Overview path planning researchRolandAbstracts 18May 3Current problems in gamesStudentsAssignment 1 May 6No seminar 19May 10Path planningStudentsAbstracts May 13Path planningStudentsAbstracts 20May 17Social force modelsStudentsAbstracts May 20Social force modelsStudentsAbstracts 21May 24Social force modelsStudentsAbstracts May 27FlowStudentsAbstracts 22May 31No seminar June 3No seminar 23June 7FlowStudentsAbstracts June 10CrowdsStudentsAbstracts 24June 14CrowdsStudentsAbstracts June 17BehaviorStudentsAbstracts 25June 21Massive crowdsStudentsAbstracts June 24No seminar? 26June 28Crowd evaluationStudentsAbstracts July 1Rendering/GPU techniquesStudentsAssignment 2
11 Why research in games? Games play an important role in our lives Entertainment/Serious games Games form an application domain From a computer science perspective Focus on games redirects the research Constraints are completely different Collaboration with developers and users GATE project 19 Million euro budget Research in game technology and design Innovative use in education, health and safety Knowledge transfer to small and medium size enterprises
12 Game technology There is a shift in focus in game technology Behavior becomes more important Maintain suspense of disbelief From algorithmic to scripted to algorithmic Scripting is too expensive Players demand more flexibility
13 Path planning Goal: bring characters (or a camera) from A to B Also vehicles, animals, camera, … Requirement: fast and flexible Real-time planning for thousands of characters Individuals and groups Dealing with local hazards Different types of environments Requirement: visually convincing paths The way humans move Smooth Short Keep some distance (clearance) to obstacles Avoid other characters ……
14 Do we need a new path planning algorithm? RoboticsGames Nr. entitiesa few robotsmany characters Nr. DOFsmany DOFsa few DOFs CPU timemuch time availablelittle time available Interactionanti-socialsocial Type pathnice pathvisually convincing path Environment2D (or terrain), 3D2D, 2.5D (e.g. bridges) Algorithmscan be simplemust be simple Correctnessfool-proofmay be incorrect typical differences
15 Path planning algorithms in games Networks of waypoints Scripting Grid-based A* Algorithms Navigation meshes Local approaches Flocking Cheating
16 Errors in path planning
17 Errors in path planning Networks of waypoints are incorrect Hand designed Do not adapt to changes in the environment Do not adapt to the type of character Local methods fail to find a route Keep stuck behind objects Lead to repeated motion Groups split up Not planned as a coherent entity Paths are unnatural Not smooth Stay too close to network/obstacles Methodology is not general enough to handle all problems
18 What we study in the seminar Methodology/framework that solved these problems Developed in Utrecht (still in development) Applications (characters, cameras, groups, crowds, …) Local character behavior How do people walk toward locations How do they avoid each other Social force models Crowd behavior Flow models Planning approaches Crowd evaluation Massive crowds Crowd rendering
19 The Explicit Corridor Map: Full/generic representation free space The Explicit Corridor Map Navigation mesh, or: a system of collision-free corridors Data structure: Medial axis + closest points Computed efficiently by using the GPU Explicit Corridor Map (2D) Explicit Corridor Map (multi-layered)
20 The Explicit Corridor Map: Experiments Footprint and Explicit Corridor Map: 0.3s City environment
21 Corridors (macro scale) Computing a corridor: provides a global route Connect the start and goal to the Medial axis Find corresponding shortest path in graph Corridor: concatenation of cells of the ECM CorridorA corridor with small obstacles
22 The Indicative Route Method (meso scale): Introducing flexibility A path planning algorithm should NOT compute a path A one-dimensional path limits the character’s freedom Humans don’t do that either It should produce An Indicative/Preferred Route Guides character to goal A corridor Provides a global (homotopic) route Allows for flexibility
23 “Algorithm” Compute a collision free indicative route from A to B Compute a corridor containing the route Move an attraction point along the indicative route The attraction point attracts the character The boundary of the corridor pushes it away Other characters and local hazards push the character away The Indicative Route Method (meso scale): Introducing flexibility
24 Local method (micro scale) Boundary force Find closest point on corridor boundary Perpendicular to boundary Increases to infinity when closer to boundary Force is 0 when clearance is large enough (or when on the MA) Depends on the maximal speed of the character Should be chosen such as to avoid oscillations Steering force Towards attraction point Can be constant Obtain path Force leads to an acceleration term Integration over time, update velocity/position/attraction point Yields a smooth (C1-continuous) path
25 IRM method Resulting vector field Indicative Route is short path
26 IRM method: Experiments City environmentCorridor and path: 2.8ms
27 Crowd simulation Method can plan paths for a large number of characters Force model is used for local avoidance Path variation models are integrated, adding more realism Additional models can be incorporated easily Goal oriented behavior Each character has its own long term goal When a character reaches its goal, a new goal is chosen Wandering behavior Attraction points do a random walk on the underlying graph
28 Collision-avoidance model Particle-based approaches E.g. Helbing model When characters get close to each other they push each other away Force depends on the distance between their personal spaces and whether they can see each other Disadvantages Reaction is late Also reaction when no collision Artifacts Goal force Avoidance force Resulting force
29 Improved collision-avoidance model Collision-predication approach When characters are on collision course we compute the positions at impact (of personal spaces) Direction depends on their relative position at impact Force depends on the distance to impact Care must be taken when combining forces Goal force Avoidance force Resulting force
30 Improved collision-avoidance model Advantages Characters react earlier (like in real life) Characters choose routes that deviate only marginally from original route (energy efficient) Emergent behavior, e.g. lane formation and characters grouping Fast (thousands of characters in real time) HelbingCollision prediction
31 Improved collision-avoidance model
32 Improved collision-avoidance model
33 Current work Also allow speed changes Deal with small groups
34 Further work Get different types of high-level crowd behavior Wandering Shopping Hanging around …… Combine different types of moving entities People Bikes Cars Animals Path planning in 3D
35 First assignment Study path planning/crowd simulation in a modern game Pick a game in which there is a lot of motion Dynamic changes in the environment Computer controlled characters (enemies, buddies, …) Groups of characters (e.g. in RTS games) Crowds (e.g. GTA, Assassin’s Creed, Sim games) Investigate what goes wrong Deliberately try to create problems –Destroy objects/buildings –Stand in the way of moving characters –Park a car on the sidewalks Look at –Quality of motion –Occurrence of collisions –Repeated motions (lack of variation), … Bonus points for spotting errors in 2.5D/3D games, dynamic situations
36 First assignment Study path planning/crowd simulation in a modern game Make a video (preferably a.wmv file) Fraps Use a camera or webcam Sometimes in-game possible Make (at least) three slides in PowerPoint Name of the game, your name, picture, type of game Video(s) Description of the main things that go wrong and why (according to you) Take with you on USB stick next Tuesday! Explain and discuss ( minutes)
37 Some results of last year’s assignment