1 / 25

Games Fundamentals Introduction

Games Fundamentals Introduction. Jarek Francik Kingston University 2 February 200 7 1 February 2008. Outline…. Facts Games Fundamentals – what is it about? Why not Flash? Why Java? Why Mathematics? Why Physics? Outline Helicopter. Facts. Dr Jaroslaw (Jarek) Francik – Yarek

vinaya
Download Presentation

Games Fundamentals Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Games FundamentalsIntroduction Jarek Francik Kingston University 2February 2007 1 February 2008

  2. Outline… • Facts • Games Fundamentals – what is it about? • Why not Flash? • Why Java? • Why Mathematics? • Why Physics? • Outline • Helicopter

  3. Facts • Dr Jaroslaw (Jarek) Francik – Yarek jarek@kingston.ac.uk • office: SB 318 • office hours: Tue 1:30 – 3, Fri 11 – 12 pm. • Lectures: Fri 12 – 1:30 pm SB 224 • Workshops: Fri 2:30 – 4 pm SB 224 flexibly exchanged...

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

  5. Module Goals, Learning Outcomes, Indicative Curriculum • see Module Guide...

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

  7. Support Texts • Andrew Davison, Killer Game Programming in Java, O’Reilly, 2005 • David Brackeen, Developing Games in Java, New Riders 2004 • Christopher Tremblay, Mathematics for Game Developers, Thomson Course Technology 2003 • David M. Bourg, Physics for Game Developers, O’Reilly 2001 • James M. Van Verth, Lars M. Bishop, Essential Mathematics for Games & Interactive Applications. A Programmer’s Guide. Morgan Kaufmann, 2004 • David H. Eberly, Game Physcis, Morgan Kaufmann, 2004

  8. Assessment • coursework (mathematics) 25% 1 Feb – 15 Feb – 14 March • coursework (physics) 25% 14 March – 11 April – 2 May • examination 50% mid-May

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

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

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

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

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

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

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

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

  17. Games in Java? Java in Games? Puzzle Pirates Chrome Law and Order II Kingdom of Wars Alien Flux Runescape Star Wars Galaxies • 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

  18. Games in Java? Java in Games? MOBILE 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

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

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

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

  22. Why Physics? fall down accelerate hit go throw break fly ride rotate dig swim shoot aim strike bounce drive catch explode reflect jump run kick sail

  23. Outline • Introductory Lecture (this one) • Java Basics: Introducing Your Game Engine • Maths Basics • Thales Theorem and Perspective in 3D • Roll and Fall: Playing with the Laws of Motion • Collisions, Momentum and Energy • Resistance and Mechanics of Cars

  24. Outline • Explosions • Physics Engine • Go Round and Round: Physics of Rotational Motion • TBA (Logical games? Theory of Games? Chess? Artificial Intelligence?) • Additional lecture in SL?

  25. Demo: Applying Physics to Helicopter

More Related