Games fundamentals introduction
Download
1 / 29

Games Fundamentals Introduction - PowerPoint PPT Presentation


  • 97 Views
  • Uploaded on
  • Presentation posted in: General

Games Fundamentals Introduction. Jarek Francik Kingston University 2 February 200 7 1 February 2008 6 February 2009 5 February 2010 4 February 2011. Outline…. Facts Games Fundamentals – what is it about? Why not Flash? Why C++? Why Mathematics? Why Physics? Outline Helicopter.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Games FundamentalsIntroduction

Jarek Francik

Kingston University

2February 2007

1 February 2008

6 February 2009

5 February 2010

4 February 2011


Outline…

  • Facts

  • Games Fundamentals – what is it about?

  • Why not Flash?

  • Why C++?

  • Why Mathematics?

  • Why Physics?

  • Outline

  • Helicopter


Facts

  • Dr Jaroslaw (Jarek) Francik – Yarekjarek@kingston.ac.ukoffice: SB 318office hours: Thu 2 – 3, Fri 10-11

  • Dr Vasilis Arguriouvasilis.argyriou@kingston.ac.uk office: SB 106office hours: t.b.a.

  • Helpers:Mr. Ali AlinejadMr. Joshua Mee Mr. Alex RobsinsonMr. Jan Wilk


Facts

  • Lectures & Workshops: Fri 12 – 4 pm SB 124/127

    2 hrs lecture + 2 hrs workshop, flexible1 hour lunch break in the middle


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


Module Goals, Learning Outcomes, Indicative Curriculum

  • see Module Guide...


Core Text

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


Core Text

  • Michael Dawson, Beginning C++ through game programming, Cengage Learning 2010


Supplementary Reading: Mathematics

  • John Flynt and Boris Meltreger, Beginning Math Concepts for Game Developers, Thomson Course Technology2006.

  • 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


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


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


Assessment

  • coursework 50%

  • examination 50%


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


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


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


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


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


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


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


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


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


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


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


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


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

fortunately, I don’t have to answer this question now...


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


Why Physics?

fall downacceleratehitgo

throwbreak fly

riderotatedig

swimshoot

aimstrikebounce

drivecatch

explodereflectjump

runkicksail


Outline

  • Introductory Lecture (this one)

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

  • Explosions

  • Physics Engine

  • Physics of Rotational Motion


Demo: Applying Physics to Helicopter


ad
  • Login