Computational Physics of Games 390-FG1-3OFG
Description:
Study Profile: General academic.
Study Form: Full-time (stationary) studies.
Module: Practical and specialized education, mandatory subject.
Field and Discipline of Science: Exact and Natural Sciences, Physical Sciences, Computer Science.
Year of Study, Semester: 3rd year, 1st semester, first-cycle studies (bachelor's degree).
Prerequisites: Successfully completed courses in structural programming, object-oriented programming, dynamics of complex systems, and numerical methods and algorithms.
Teaching Methods: Lectures, code program presentations, independent coding, homework assignments, discussions, consultations, self-study.
ECTS Points: 5.
Student Workload Breakdown: Lectures (15 hours), laboratory work (45 hours), preparation for classes (50 hours), participation in subject consultations (3 hours), preparation for the final exam and exam attendance (10+3 hours).
Quantitative Indicators: Lectures (0.6 ECTS points), seminars (1.8 ECTS points), preparation for classes (2.0 ECTS points), participation in subject consultations (0.12 ECTS points), preparation for the final exam and exam attendance (0.52 ECTS points).
Lecture Topics:
- Particle systems
- Separation of project components using the "component" pattern
- Physics and graphics engines using the "singleton" pattern
- Real-time collision detection
- Collision processing
- Impulse response
- Mass aggregation
- Rigid bodies
- Collision detection and collision processing for rigid bodies
- Simulation of multiple rigid bodies
- Collision detection and collision processing for multiple objects
Laboratory Topics:
The laboratory work practically complements the lecture topics.
Type of course
Requirements
Numerical Methods and Algorithms
Object-oriented Programming
(in Polish) Programowanie strukturalne
Prerequisites
Prerequisites (description)
Course coordinators
Learning outcomes
K_W08 - Has knowledge of basic concepts and the formalism of classical mechanics, the laws of mechanics, and theoretical models of selected mechanical systems, understands the fundamental nature of Newton's laws.
K_W20 - Possesses basic knowledge in theoretical mechanics, is familiar with the theoretical approach to selected mechanical problems, and understands the role of theoretical formulation of mechanics within the scope of the specialization program.
K_U18 - Can present the theoretical formulation of selected mechanics concepts and, using appropriate mathematical tools, conduct theoretical analysis of selected mechanical systems within the scope of the specialization program.
K_U23 - Can write complex computer programs in a chosen programming language, compile them, and run them.
K_U24 - Can use computer tools to solve mathematical and physical problems, including computer environments for data analysis, numerical and symbolic computations.
K_U25 - Can search for and use specialized computer software resources on the Internet while respecting intellectual property and usage rules.
K_K05 - Can independently search for information in literature and online resources, including in foreign languages.
Assessment criteria
The assessment of the course is based on the following criteria:
1. Understanding of physics programming concepts and mechanisms.
2. Ability to apply physics programming mechanisms to specific problems.
3. Ability to engage in discussions related to the subject.
4. Proficiency in using literature and internet resources.
5. Creativity in problem-solving approaches.
For the laboratory component, attendance is a fundamental requirement, and up to three absences are allowed. The final grade for the laboratory is determined based on the assessment of homework assignments and the completion of a final project.
The lecture component is assessed through a final examination.
Bibliography
1. "Mechanika teoretyczna", W. Rubinowicz, W. Królikowski
2. "Fizyka dla twórców gier", David M. Bourg
Additional positions:
1. "Game Physics", David H. Eberly
2. "Game Physics Engine Development", Ian Millington
3. "Game Programming Patterns", Robert Nystrom
4. "Game Development Patterns and Best Practices", John P. Doran, Matt Casanova
5. "Mastering SFML Game Development", Raimondas Pupius
6. "Real Time Collision Detection", Christer Ericson
Additional information
Additional information (registration calendar, class conductors, localization and schedules of classes), might be available in the USOSweb system: