PSE Game Physics - Summer 14: Difference between revisions

From Sccswiki
Jump to navigation Jump to search
No edit summary
Line 33: Line 33:


= Timetable =
= Timetable =
<!--
The class takes place every Friday 10:00-12:00 in room 02.07.023.
 
The class takes place every Tuesday 15:45-17:45 in room 02.07.023.
This timetable is only preliminary!
<font color="red">We changed the time to 15:45-17:45!</font>
 
-->


{|class=wikitable
{|class=wikitable
|-
|-
! '''Number''' !! '''Topic''' !! '''Worksheet''' !! '''Presentation Slides''' !! '''Date'''
! '''Number''' !! '''Topic''' !! '''Worksheet''' !! '''Presentation Slides''' !! '''Date'''
|-
| 1 || Warmup: Explicit Euler, Physics I, Falling Sphere || [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss14/worksheet1.pdf Worksheet 1] (Deadline: 24.4.13, 23:59) || [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss14/1_introduction.pdf Presentation] || 11.04.14
|-
|-
<!--
<!--
| 1 || Warmup: Explicit Euler, Physics I, Falling Sphere || [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss13/worksheet1.pdf Worksheet 1] (Deadline: 22.4.13, 23:59) (EXTENDED!) || [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss13/1_introduction.pdf Presentation], [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss13/1a_stiffness.pdf Stiffness] || 16.4.
|-
| 2 || Translations, Rotations, Collisions I, Resolving interpenetrations ||[http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss13/worksheet2.pdf Worksheet 2] (Deadline: 29.4.13, 12:00) || [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss13/2_collisions_and_interpenetrations.pdf Presentation] || 23.4.
| 2 || Translations, Rotations, Collisions I, Resolving interpenetrations ||[http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss13/worksheet2.pdf Worksheet 2] (Deadline: 29.4.13, 12:00) || [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss13/2_collisions_and_interpenetrations.pdf Presentation] || 23.4.
|-
|-
Line 66: Line 60:
| - || Project Presentation || || || 16.7.
| - || Project Presentation || || || 16.7.
|-
|-
|}
-->
-->
|}
* '''preliminary session: Thursday, 30. Jan 2014: 12:00 - 12:30 pm, room: 02.07.023'''


= Worksheets =
= Worksheets =

Revision as of 07:03, 11 April 2014

Term
SS 14
Lecturer
Univ.-Prof. Dr. Hans-Joachim Bungartz,
Oliver Meister,
Roland Wittmann
Time and Place
Friday, 10:00 to 12:00
Audience
Studenten der Informatik (Bachelor)
Tutorials
-
Exam
-
Semesterwochenstunden / ECTS Credits
6 SWS (6P) / 10 Credits
TUMonline
TUM Online Course



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 Friday 10:00-12:00 in room 02.07.023.

Worksheets

Most worksheets have to be completed within a week (except if stated otherwise) and must be submitted via mail. Create an archive called worksheet?.tar.gz (where ? is the worksheet number) and insert the complete code tree without object files or binaries. Send it to gamephysics2014@mailsccs.in.tum.de until Monday 12:00 (noon).

Note: The submitted code will be graded only, if it compiles without errors. So please take care, that the code works and test it at least once before submission.

Groups

Frequently Asked Questions (FAQs)

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

Recommended Literature

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

Material

SBND Engine

The following keysettings are preset by our engine. The keys which are for debugging should be the most important for you to hunt bugs ;-)

  • Default mode:
Number Topic Worksheet Presentation Slides Date
1 Warmup: Explicit Euler, Physics I, Falling Sphere Worksheet 1 (Deadline: 24.4.13, 23:59) Presentation 11.04.14
Key Function
[a] Go left
[s] Go back
[w] Go forward
[d] Go right
[g/G] activate/deactivate gravity
[space] Switch between '1st person mode' and 'free mouse mode'
[1]-[0], [F1]-[F12] Switch to other scene and reset
[r] Total reset
[e] Reset objects only
  • Debug mode:

You can use this mode to get some information about objects. An output is created for object which is currently under the mouse cursor.

Key Function
[backspace] Activate/Deactivate Debug mode
[mouse wheel up],[+] Go one timestep forward + record current state
[mouse wheel down],[-] Go one timestep back (restore recorded state)

Preview

  • Hanging Bridge simulated with ropes:

Error creating thumbnail: Unable to save thumbnail to destination

  • Falling objects (Cubes, Spheres):

Error creating thumbnail: Unable to save thumbnail to destination

  • Many boxes:

Error creating thumbnail: Unable to save thumbnail to destination