BCA603 - MATH & PHYSIC FOR GAME ENGINES

Course Name Code Semester Theory
(hours/week)
Application
(hours/week)
Credit ECTS
MATH & PHYSIC FOR GAME ENGINES BCA603 Any Semester/Year 3 0 3 7.5
PrequisitesCalculus, Computational Geometry, Linear Algebra
Course languageTurkish
Course typeElective 
Mode of DeliveryFace-to-Face 
Learning and teaching strategiesLecture
Discussion
Drill and Practice
Project Design/Management
 
Instructor (s) 
Course objectiveThe aim of this course is to provide students knowledge of maths and physics required to program 3D game engines. We give mathematical techniques that a game programmer would need to develop a 3D graphics engine and focuses on the physics needed by game programmers in order to add realism to their games. 
Learning outcomes
  1. After completing this course, students will have:
  2. ? Introduce the concept of four-dimensional homogeneous coordinates and define the properties of quaternions and their usefulness. ? Present methods for intersecting rays with common geometric objects
  3. ? Present several techniques involving the manipulation of polygonal models. ? Examine numerical techniques for solving some particular problems.
  4. ? Introduce variety of cubic curves, include Bezier curves and B-splines. ? learn about the basic laws of motion.
  5. ? explore the relationship between force, mass, and acceleration. ? learn about some different types of forces and about the concepts of work, energy, and power
  6. ? explore the equations that govern acceleration, velocity, and location in translational motion, the concepts of torque, moment of inertia, center of mass and rigid body motion. ? define the basic concepts that apply to all projectile trajectory models, the gravity-only model, aerodynamic drag, laminar and turbulent flow, wind effects and spin effects.
  7. ? introduce the concept of momentum, both linear and angular, and describe how momentum is used to model collisions. ? explore the physics of sports simulations, explore the physics of cars and motorcycles.
  8. ? explore the basic physics behind boats and things that float. ? explore the basic physics of how an airplane takes off from the ground, flies, and then lands, learn about the physics of rockets. ? explore some internal physics of objects you may use in your game simulations. ? explore the basic explosion terminology ? explore the theory of lasers, different types of lasers, and how you can incorporate them into your games
Course ContentTransforms; 3D Engine Geometry; Ray Tracing; Polygonal Techniques; Numerical Methods; Curves and Surfaces; Newton Mechanics; Kinematics; Force; Projectiles; Collisions; Sport Simulations, Cars and Motorcycles; Boats and Things that Float; Airplanes, Rockets and Missiles; The Physics of Solids; Explosions; Lasers. 
References? Eric Lengyel; Mathematics for 3D Game Programming & Computer Graphics, 2. Ed. ; Charles River Media (2004), ISBN: 1-58450-277-0
? David H. Eberly; 3D Game Engine Design 2. Ed.; Morgan Kaufmann Pub., ISBN 13: 978-0-12-229063-3
? Grant Palmer; Physics for Game Programmers; Apress, (2005) ISBN: (pbk): 1-59059-472-X
? David M. Bourg; Physics for Game Developers; O?Reilly (2002) ISBN: 0-59-00006-5
? David Conger; Physics Modeling for Game Programmers; Thomson (2004) ISBN: 1-59200-093-2
 

Course outline weekly

WeeksTopics
Week 1Homogeneous coordinates, quaternions.
Week 2Intersecting rays with common geometric objects
Week 3Manipulation of polygonal models
Week 4Numerical techniques
Week 5Bezier curves and B-splines
Week 6Laws of motion
Week 7Midterm Exam
Week 8Force, mass, and acceleration
Week 9Work, energy, and power
Week 10Torque, moment of inertia, center of mass and rigid body motion.
Week 11Flows
Week 12Momentum, both linear and angular
Week 13Physics of some vehicles
Week 14Internal physics of objects, lasers
Week 15
Week 16Final Exam

Assesment methods

Course activitiesNumberPercentage
Attendance145
Laboratory00
Application00
Field activities00
Specific practical training00
Assignments230
Presentation00
Project00
Seminar00
Midterms125
Final exam140
Total100
Percentage of semester activities contributing grade succes060
Percentage of final exam contributing grade succes040
Total100

WORKLOAD AND ECTS CALCULATION

Activities Number Duration (hour) Total Work Load
Course Duration (x14) 14 3 42
Laboratory 0 0 0
Application000
Specific practical training000
Field activities000
Study Hours Out of Class (Preliminary work, reinforcement, ect)14570
Presentation / Seminar Preparation000
Project000
Homework assignment21020
Midterms (Study duration)12020
Final Exam (Study duration) 13030
Total Workload3268182

Matrix Of The Course Learning Outcomes Versus Program Outcomes

D.9. Key Learning OutcomesContrubition level*
12345
1. Applies contemporary methods, abilities, and tools essential for computer animation and game technologies.  X   
2. Grasps the interdisciplinary interactions inherent to the field.  X  
3. Examines the local or global influence of individuals, organizations, and communities on computer animation and game technologies. X   
4. Demonstrates comprehension and accountability in matters pertaining to professionalism, ethics, legality, security, and social issues. X   
5. Has the ability to effectively participate in a team created to achieve a common goal. X   
6. Possesses the ability to effectively participate in a team created to achieve a common goal.  X  
7. Analyzes and defines a problem within their field and identifies appropriate solution processes required for suitable solutions.  X  
8. Demonstrates the ability to apply the computer and mathematical knowledge required by the discipline.    X
9. Understands and is familiar with the principles and applications of algorithms and techniques in computer graphics and computer animation.  X  
10. Utilizes technologies that capture and manipulate design elements to achieve the final production. X   
11. Apply principles of biomechanics and physics to animation  X  
12. Uses procedural or interactive mechanisms to create animations.  X  
13. Implements appropriate AI techniques in game development.  X  

*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest