PSE Game Physics - Summer 13: Difference between revisions

From Sccswiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 31: Line 31:
* Also no prior knowledge about physics is necessary. We'll give a short introduction to physics.
* Also no prior knowledge about physics is necessary. We'll give a short introduction to physics.
* The existing code base is designed to work with Linux + Eclipse. You are allowed to use Windows/Mac OS but we will not provide any support.
* The existing code base is designed to work with Linux + Eclipse. You are allowed to use Windows/Mac OS but we will not provide any support.
= Timeline =


= Timetable =
= Timetable =

Revision as of 15:35, 2 April 2013

Term
SS 13
Lecturer
Univ.-Prof. Dr. Hans-Joachim Bungartz,
Oliver Meister,
Sebastian Rettenberger,
Roland Wittmann
Time and Place
Tuesday 15:30-17:30, lecture room MI 02.07.023
Audience
Studenten der Informatik (Bachelor)
Tutorials
-
Exam
-
Semesterwochenstunden / ECTS Credits
6 SWS (6P) / 10 Credits
TUMonline
https://campus.tum.de/tumonline/lv.detail?clvnr=950092108



Course is held in German, the slides are in English.

Contents

A simple game physics engine is developed in this lab. Starting with simple time steps for moving rigid body objects you will successively extend your developments by collision detection, rotations, friction, etc. to obtain a game physics engine.

Topics:

  • Introduction to game engines (Visualization, physics, scripting, ...)
  • Game-Physics (Force, momentum, torque, ...)
  • Game-Math (Numerical approximations, accuracy, time-steps, ...)
  • Modelling of springs, Ropes
  • Collision detection
  • Resolving of interpenetrations
  • Friction
  • ...

Prerequisites

  • Preliminary knowledge in C++ is advantageous, but it's no prerequisite. However, you should have experiences in object-oriented programming - e.g. Java programming.
  • No prior knowledge about visualization is necessary: A framework for visualization, interactivity and the interface for the physics is given. Thus you'll only have to implement the physics part.
  • Also no prior knowledge about physics is necessary. We'll give a short introduction to physics.
  • The existing code base is designed to work with Linux + Eclipse. You are allowed to use Windows/Mac OS but we will not provide any support.

Timetable

The class takes place every Tuesday 15:30-17:30 in room 02.07.023. This timetable is only preliminary! FIRST SESSION WILL TAKE PLACE ON TUESDAY, APRIL 16, at 15:30!

Number Topic Worksheet Presentation Slides Date
1 Warmup: Explicit Euler, Physics I, Falling Sphere 16.4.
2 Convergence, Stability, Analytical solutions, Collisions I, Resolving interpenetrations 23.4.
3 Springs/Ropes, Linear momentum, Quaternions 30.4.
4 Collisions: Sphere-box, plane-box 7.5.
5 Collisions: Box-box, separating axes 14.5.
6 Angular momentum, micro-collisions, damping 21.5.
7 Friction 4.6.
- Question session / Project proposal 18.6.
- Project Presentation 16.7.
  • preliminary session: 28.01.2013, 16:00, room: 02.07.023

Frequently Asked Questions (FAQs)

If you have a question, first take a look at our FAQ Website: PSE Game Physics - Summer 13 - FAQs

Recommended Literature

  • Game Physics Engine Development, Ian Millington
  • Real-Time Collision Detection, Christer Ericson
  • Game Physics, David E. Eberly


Preview

  • Hanging Bridge simulated with ropes:

screenshot_bridge.png

  • Falling objects (Cubes, Spheres):

screenshot_falling_objects.png

  • Many balls:

screenshot_balls.png