Games fundamentals introduction
This presentation is the property of its rightful owner.
Sponsored Links
1 / 29

Games Fundamentals Introduction PowerPoint PPT Presentation


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

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 fundamentals introduction

Games FundamentalsIntroduction

Jarek Francik

Kingston University

2February 2007

1 February 2008

6 February 2009

5 February 2010

4 February 2011


Outline

Outline…

  • Facts

  • Games Fundamentals – what is it about?

  • Why not Flash?

  • Why C++?

  • Why Mathematics?

  • Why Physics?

  • Outline

  • Helicopter


Facts

Facts

  • Dr Jaroslaw (Jarek) Francik – [email protected]: SB 318office hours: Thu 2 – 3, Fri 10-11

  • Dr Vasilis [email protected] office: SB 106office hours: t.b.a.

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


Facts1

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

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

Module Goals, Learning Outcomes, Indicative Curriculum

  • see Module Guide...


Core text

Core Text

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


Core text1

Core Text

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


Supplementary reading mathematics

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

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

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

Assessment

  • coursework 50%

  • examination 50%


Why not flash

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

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 games1

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 games2

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 games3

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 games4

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 games5

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 games6

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 games7

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 games8

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 games9

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

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 c1

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

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

Why Physics?

fall downacceleratehitgo

throwbreak fly

riderotatedig

swimshoot

aimstrikebounce

drivecatch

explodereflectjump

runkicksail


Outline1

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

Demo: Applying Physics to Helicopter


  • Login