PSE Game Physics - Summer 12: Difference between revisions

From Sccswiki
Jump to navigation Jump to search
(Created page with '{{Lecture | term = SS 11 | lecturer = Univ.-Prof. Dr. Hans-Joachim Bungartz, <br>Martin Schreiber,<br>Atanas Atanasov,<br>Philipp Neumann | timeplace = Friday, 1 …')
 
No edit summary
Line 1: Line 1:
{{Lecture
{{Lecture
| term = SS 11
| term = SS 11
| lecturer = [[Univ.-Prof. Dr. Hans-Joachim Bungartz]], <br>[[Martin Schreiber]],<br>[[Atanas Atanasov]],<br>[[Philipp Neumann]]
| lecturer = [[Univ.-Prof. Dr. Hans-Joachim Bungartz]], <br>[[Martin Schreiber]],<br>[[Kristof Unterweger]]
| timeplace = Friday, 1 pm, 02.07.023
| timeplace = t.b.a. <!--Friday, 1 pm, 02.07.023-->
| credits = 6 SWS (6P) / 10 Credits
| credits = 6 SWS (6P) / 10 Credits
| audience = Studenten der Informatik (Bachelor)
| audience = Studenten der Informatik (Bachelor)
Line 12: Line 12:


= Timeline =
= Timeline =
* '''preliminary session: 10.02.2011, 10:00, room: 02.07.023'''
* '''preliminary session: t.b.a.<!-- 10.02.2011, 10:00, room: 02.07.023 -->'''


= Contents =
= Contents =
Line 18: Line 18:
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.
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:
Topics covered in this lab:
* Introduction to game engines (Visualization, physics, scripting, ...)
* Introduction to game engines (Visualization, physics, scripting, ...)
* Game-Physics (Force, momentum, torque, ...)
* Game-Physics (Force, momentum, torque, ...)
Line 35: Line 35:


= Timetable =
= Timetable =
 
<!--
The class takes place every Friday at 1 pm in room 02.07.023.
The class takes place every Friday at 1 pm in room 02.07.023.
This timetable is only preliminary!
This timetable is only preliminary!
Line 70: Line 70:
| 10 || Project Presentation || || || 29.7.
| 10 || Project Presentation || || || 29.7.
|}
|}
-->


= <font color="red">Frequently Asked Questions (FAQs)</font> =
= <font color="red">Frequently Asked Questions (FAQs)</font> =


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




= Material =
= Material =
 
t.b.a.
The Engine Skeleton is available for download:
<!--
The engine skeleton is available for download:
* [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss11/sbndengine_lab_2011_05_08.tar.bz2 SBNDEngine_2011_05_08]
* [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss11/sbndengine_lab_2011_05_08.tar.bz2 SBNDEngine_2011_05_08]
* [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss11/sbndengine_lab_2011_05_06.tar.bz2 SBNDEngine_2011_05_06]
* [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss11/sbndengine_lab_2011_05_06.tar.bz2 SBNDEngine_2011_05_06]


When compiling SBNDEngine, don't forget to install freeglut3-dev
When compiling SBNDEngine, don't forget to install freeglut3-dev
 
-->


* Explicit Euler in OpenCalc spreadsheet: [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss11/explicit_euler_free_fall.ods Spreadsheet: explicit Euler]
* Explicit Euler in OpenCalc spreadsheet: [http://www5.in.tum.de/lehre/praktika/gamephysicsengine/ss11/explicit_euler_free_fall.ods Spreadsheet: explicit Euler]
Line 154: Line 156:


= Registration =
= Registration =
<!--
tum online: [https://campus.tum.de/tumonline/lv.detail?clvnr=950011019]
tum online: [https://campus.tum.de/tumonline/lv.detail?clvnr=950011019]
-->

Revision as of 09:35, 20 January 2012

Term
SS 11
Lecturer
Univ.-Prof. Dr. Hans-Joachim Bungartz,
Martin Schreiber,
Kristof Unterweger
Time and Place
t.b.a.
Audience
Studenten der Informatik (Bachelor)
Tutorials
-
Exam
-
Semesterwochenstunden / ECTS Credits
6 SWS (6P) / 10 Credits
TUMonline
{{{tumonline}}}



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

Timeline

  • preliminary session: t.b.a.

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 covered in this lab:

  • 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.


Timetable

Frequently Asked Questions (FAQs)

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


Material

t.b.a.


Recommended Literature

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


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:
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:

screenshot_bridge.png

  • Falling objects (Cubes, Spheres):

screenshot_falling_objects.png

  • Many balls:

screenshot_balls.png

Registration