Title: Seminar Crowd Simulation
1Seminar Crowd Simulation
2Who am I?
- Roland Geraerts
- Assistant professor
- Robotics background
- Research on path planning andcrowd simulation
3Who 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?
4Goal 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
5Why 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
- 19 million Euro Dutch project on game technology
and applications - Thesis projects
- Future PhD positions
6Practical aspects
- Meetings
- Tuesday 13.15-15.00 BBL-069
- Friday 15.15-17.00 BBL-071
- Presence is mandatory
- If you cannot come for a good reason
- Let me know beforehand
- Hand in abstracts before meeting
- Website
- http//www.cs.uu.nl/docs/vakken/mcrs/
- Check regularly for announcements and changes
- Download papers
- Find the secret page
7Assignments
- 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
8Assignments
- 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
9Grading
- Game study 5
- Presentations 15 25
- Abstracts 20
- Paper 25
- Active participation 10
- 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.
10Tentative schedule
Week Date Topic Speaker Deadline
17 April 26 Introduction Roland Paper 0
April 29 Overview path planning research Roland Abstracts
18 May 3 Current problems in games Students Assignment 1
May 6 No seminar
19 May 10 Path planning Students Abstracts
May 13 Path planning Students Abstracts
20 May 17 Social force models Students Abstracts
May 20 Social force models Students Abstracts
21 May 24 Social force models Students Abstracts
May 27 Flow Students Abstracts
22 May 31 No seminar
June 3 No seminar
23 June 7 Flow Students Abstracts
June 10 Crowds Students Abstracts
24 June 14 Crowds Students Abstracts
June 17 Behavior Students Abstracts
25 June 21 Massive crowds Students Abstracts
June 24 No seminar?
26 June 28 Crowd evaluation Students Abstracts
July 1 Rendering/GPU techniques Students Assignment 2
11Why 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
12Game 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
13Path 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
14Do we need a new path planning algorithm?
Robotics Games
typical differences
Nr. entities a few robots many characters Nr.
DOFs many DOFs a few DOFs CPU time much time
available little time available Interaction anti-s
ocial social Type path nice path visually
convincing path Environment 2D (or terrain),
3D 2D, 2.5D (e.g. bridges) Algorithms can be
simple must be simple Correctness fool-proof may
be incorrect
15Path planning algorithms in games
- Networks of waypoints
- Scripting
- Grid-based A Algorithms
- Navigation meshes
- Local approaches
- Flocking
- Cheating
16Errors in path planning
17Errors 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
18What 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
19The 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)
20The Explicit Corridor MapExperiments
Footprint and Explicit Corridor Map 0.3s
City environment
21Corridors (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
Corridor
A corridor with small obstacles
22The Indicative Route Method (meso
scale)Introducing flexibility
- A path planning algorithm should NOT compute a
path - A one-dimensional path limits the characters
freedom - Humans dont do that either
- It should produce
- An Indicative/Preferred Route
- Guides character to goal
- A corridor
- Provides a global (homotopic) route
- Allows for flexibility
23The Indicative Route Method (meso
scale)Introducing flexibility
- 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
24Local 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/a
ttraction point - Yields a smooth (C1-continuous) path
25IRM method
- Resulting vector field
- Indicative Route is short path
26IRM methodExperiments
City environment
Corridor and path 2.8ms
27Crowd 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
28Collision-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
29Improved 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
30Improved 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)
Helbing
Collision prediction
31Improved collision-avoidance model
32Improved collision-avoidance model
33Current work
- Also allow speed changes
- Deal with small groups
34Further 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
35First 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, Assassins 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
36First 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 (5 - 7.5 minutes)
37Some results of last years assignment