Presentation is loading. Please wait.

Presentation is loading. Please wait.

Games Fundamentals Introduction Jarek Francik Kingston University 2 February 2007 1 February 2008 6 February 2009 5 February 2010 4 February 2011.

Similar presentations


Presentation on theme: "Games Fundamentals Introduction Jarek Francik Kingston University 2 February 2007 1 February 2008 6 February 2009 5 February 2010 4 February 2011."— Presentation transcript:

1 Games Fundamentals Introduction Jarek Francik Kingston University 2 February 2007 1 February 2008 6 February 2009 5 February 2010 4 February 2011

2 Outline… Facts Games Fundamentals – what is it about? Why not Flash? Why C++? Why Mathematics? Why Physics? Outline Helicopter

3 Facts Dr Jaroslaw (Jarek) Francik – Yarek jarek@kingston.ac.uk office: SB 318 office hours: Thu 2 – 3, Fri 10-11 jarek@kingston.ac.uk Dr Vasilis Arguriou vasilis.argyriou@kingston.ac.uk office: SB 106 office hours: t.b.a. Helpers: Mr. Ali Alinejad Mr. Joshua Mee Mr. Alex Robsinson Mr. Jan Wilk

4 Facts Lectures & Workshops: Fri 12 – 4 pm SB 124/127 2 hrs lecture + 2 hrs workshop, flexible 1 hour lunch break in the middle

5 Games Fundamentals Essential background in applied mathematics......and physics for Games Developers Strong focus on practical engineering aspects Taught by example: real problems typically encountered during games development process

6 Module Goals, Learning Outcomes, Indicative Curriculum see Module Guide...

7 Core Text Wendy Stahler, Fundamentals of Math and Physics for Game Programmers, Pearson Prentice Hall 2006

8 Core Text Michael Dawson, Beginning C++ through game programming, Cengage Learning 2010

9 Supplementary Reading: Mathematics John Flynt and Boris Meltreger, Beginning Math Concepts for Game Developers, Thomson Course Technology 2006. Christopher Tremblay, Mathematics for Game Developers, Thomson Course Technology 2004 James M. Van Verth, Lars M. Bishop, Essential Mathematics for Games & Interactive Applications. A Programmer’s Guide, Morgan Kaufmann, 2004

10 Supplementary Reading: Physics Ian Millington, Game Physics Engine Development: How to Build a Robust Commercial-Grade Physics Engine for your Game. 2nd edition, Morgan Kaufmann 2010. David M. Bourg, Physics for Game Developers, O’Reilly 2002 David H. Eberly, Game Physcis, Morgan Kaufmann, 2004

11 Supplementary Reading: Programming Erik Yuzwa, François D. Laramée, Learn C++ by Making Games. Charles River Media 2007 Bjarne Stroustrup, The C++ Programming Language (any edition).

12 Assessment coursework 50% examination 50%

13 Why not Flash? Flash is excellent for small games Flash is good for Internet games No serious big game is written in Flash Large-scale project need professional approach to programming, not just a scripting C++ Java

14 Games in Java? Java in Games? Java is too slow for games programming Java has memory leaks Java is too high-level Java application instalation is a nightmare Java isn’t supported on games consoles No one uses Java to write real games Sun isn’t interested in supporting Java gaming

15 Games in Java? Java in Games? Java is too slow for games programming Java has memory leaks Java is too high-level Java application instalation is a nightmare Java isn’t supported on games consoles No one uses Java to write real games Sun isn’t interested in supporting Java gaming MYTHS

16 Games in Java? Java in Games? Java is too slow for games programming  True in 1996.  JDK 1.0 was 20 – 40 times slower than C++  J2SE 5.0 is typically 1.1 times slower  Bottleneck is somewhere else (3D hardware, the net) Java has memory leaks Java is too high-level Java application instalation is a nightmare Java isn’t supported on games consoles

17 Games in Java? Java in Games? Java is too slow for games programming Java has memory leaks  garbage collection Java is too high-level Java application instalation is a nightmare Java isn’t supported on games consoles No one uses Java to write real games Sun isn’t interested in supporting Java gaming

18 Games in Java? Java in Games? Java is too slow for games programming Java has memory leaks Java is too high-level  J2SE 1.4: full-screen exclusive mode (FSEM)  JNI: Java Native Interface  JInput: Game Controller API  until DOOM it was C/C++ what was considered too high level Java application instalation is a nightmare Java isn’t supported on games consoles

19 Games in Java? Java in Games? Java is too slow for games programming Java has memory leaks Java is too high-level Java application instalation is a nightmare  just use a good installation software (install4j)  code bloat (eg. JRE = 15 MB) but... which of modern games is less than, say, 600MB? Java isn’t supported on games consoles No one uses Java to write real games

20 Games in Java? Java in Games? Java is too slow for games programming Java has memory leaks Java is too high-level Java application instalation is a nightmare Java isn’t supported on games consoles  well, this one is (still) true...  rumours on porting JVM to PS2 – nothing released No one uses Java to write real games Sun isn’t interested in supporting Java gaming

21 Games in Java? Java in Games? Java is too slow for games programming Java has memory leaks Java is too high-level Java application instalation is a nightmare Java isn’t supported on games consoles No one uses Java to write real games Sun isn’t interested in supporting Java gaming Puzzle Pirates Chrome Law and Order II Kingdom of Wars Alien Flux Runescape Star Wars Galaxies

22 Games in Java? Java in Games? Java is too slow for games programming Java has memory leaks Java is too high-level Java application instalation is a nightmare Java isn’t supported on games consoles No one uses Java to write real games Sun isn’t interested in supporting Java gaming MOBILE GAMES

23 Games in Java? Java in Games? Java isn’t supported on games consoles No one uses Java to write real games Sun isn’t interested in supporting Java gaming  full-scren mode  faster I/O, memory mapping  nanosecond timers (v. 5.0)  Java 3D  Java Media Framework  Java Communications API  Java Games Profile

24 Why not C++? Java is better for education CISM policy anyway you are strongly advised to learn C++ which is widely used in industry 1. C++ 2. On-line Games 3. Java

25 Why not C++? Java is better for education CISM policy anyway you are strongly advised to learn C++ which is widely used in industry 1. C++ 2. On-line Games 3. Java fortunately, I don’t have to answer this question now...

26 Why Mathematics? Geometry – a tool for drawing graphical elements in 2D and 3D Calculations make the player experience more life-like eg. rules of perspective 3D animation

27 Why Physics? fall downacceleratehitgo throwbreak fly riderotatedig swimshoot aimstrikebounce drivecatch explodereflectjump runkicksail

28 Outline 1. Introductory Lecture (this one) 2. C++ Basics: Introducing Your Game Engine 3. Maths Basics 4. Thales Theorem and Perspective in 3D 5. Roll and Fall: Playing with the Laws of Motion 6. Collisions, Momentum and Energy 7. Resistance and Mechanics of Cars 8. Explosions 9. Physics Engine 10. Physics of Rotational Motion

29 Demo: Applying Physics to Helicopter


Download ppt "Games Fundamentals Introduction Jarek Francik Kingston University 2 February 2007 1 February 2008 6 February 2009 5 February 2010 4 February 2011."

Similar presentations


Ads by Google