<< Chapter < Page Chapter >> Page >
Learn how a game program written with the Slick game library creates and maintains a game loop.

Table of contents

Preface

This module is one in a collection of modules designed to teach you about the anatomy of a game engine.

Although the modules in this collection will concentrate on the Java game library named Slick2D, theconcepts involved and the knowledge that you will gain is applicable to different game engines written in different programming languages as well.

Viewing tip

I recommend that you open another copy of this module in a separate browser window and use the following links to easily find and view the Figuresand Listings while you are reading about them.

Figures

  • Figure 1 . Screen output from program named Slick0130a.

Listings

  • Listing 1 . The start method of the AppGameContainer class.
  • Listing 2 . The gameLoop method of the AppGameContainer class.
  • Listing 3 . Beginning of the updateAndRender method of the GameContainer class.
  • Listing 4 . The remainder of the updateAndRender method of the GameContainer class.
  • Listing 5 . Beginning of the class named Slick0130a.
  • Listing 6 . The main method.
  • Listing 7 . The overridden init method.
  • Listing 8 . The overridden update method.
  • Listing 9 . The overridden render method.
  • Listing 10 . Source code for the program named Slick0130a.

Preview

What you have learned

The main purpose of this and the previous module is to analyze the behavior of the Slick2D game engine when you call the start method to cause a Slick2D game program to start running.

In the previous module, you learned how and why you should extend the BasicGame class instead of implementing the Game interface directly.

You learned about the behavior of the constructors for the AppGameContainer class.

You learned that the start method of the AppGameContainer class (see Listing 1 ) calls the following three methods:

  • setup
  • getDelta
  • gameLoop

You learned about the behavior of the setup and getDelta methods.

What you will learn

I will explain the overall behavior of the gameLoop method in this module.

In addition, you will learn

  • about a property of the GameContainer class named running , and how it is used by the start method to keep the game loop running,
  • about the salient features of the gameLoop method of the AppGameContainer class,
  • about the updateAndRender method of the GameContainer class and how it decides when and if to call the update and render methods of the object of the Game class that is wrapped in the container,
  • about the difference between normal delta and smoothed delta,
  • about minimumLogicInterval and maximumLogicInterval and how the contents of those two variables are used to determine if, when, and how many times to call the update method during each iteration of the game loop,
  • how the contents of minimumLogicInterval and maximumLogicInterval are used to determine the value that is passed as delta each time the update method is called,
  • that the render method is normally called once and only once during each iteration of the game loop,
  • how you can use the value of delta that is received by the update method to control the behavior of a game program,
  • that you can set the size of the game window when you instantiate an object of the AppGameContainer class by passing dimension parameters to the constructor,
  • that you can set the target frame rate by calling the setTargetFrameRate method on the GameContainer object, and
  • how to display text in the game window.

Questions & Answers

A central force is given as F vector (r),where a=2NM².Assuming the potential energy at infinity to be zero,calculate the potential energy of a particle located at the point (3,4)
Isa Reply
what is a vector
Honest Reply
A vector is any physical quantity which has a magnitude as well as a direction associated to it. Which means a vector is some physical quantity which has magnitude and direction.
malayala
what is matter
Seth
nice
Faith
What is the equation illustrating Williamsons ether synthesis
Queen Reply
What is the equation illustrating Williamsons ether synthesis
Kingdom
what is simple harmonic motion
Faith Reply
examples: vibrating prongs of a tuning fork and a guittar string.
Salman
It is a repetitive periodic motion of a system about an equilibrium position
Felix
SHM is the repitition process of to and fro motion.
Younus
SHM is the motion in which the restoring force is directly proportional to the displacement of body from its mean position and is opposite in direction to the displacement. From Hooke's law F=-kx
Kushal
SHM is the motion in which the restoring force is directly proportional to the displacement of body from its mean position and is opposite in direction to the displacement. From Hooke's law F=-kx
Kushal
what is a wave?
DAVID Reply
show that coefficient of friction of solid block inclined at an angle is equivalent to trignometric tangent of angle
DAVID
Wave is the transfer of energy due to the periodic vibration of the particles in the medium.
Kushal
wave is the transfer of energy
Vindora
Wave is the transfer of particles in a fluid or any way.
Younus
thanks for that definition.
Dodou Reply
Hi everyone please can dere be motion without force?
Lafon
no...
Enyia
Thanks
Lafon
hi
Omomaro
whats is schrodinger equation
Omomaro
l went spiral spring
Xalat
what is position?
Adhar Reply
position is simply where you are or where you were
Shii
position is the location of an object with respect to a two or three dimensional axes or space.
Bamidele
Can dere be motion without force?
Lafon
what is the law of homogeinity?
auson Reply
two electric lines of force never interested each other. why?
Sujit Reply
if two electric lines of force intersect eachother then their will be two tangent at a point which represent the two forces which is impossible.
Amar
proof that for BBC lattice structure 4r\root 5 and find Apf for the BBC structure
Eric Reply
what is physics?
Abdulaziz Reply
physics is deine as the specific measrument of of volume, area,nd distances...
Olakojo
if a string of 2m is suspended an an extended 3m elasticity is been applied.... is hooks law obeyed?
Enyia
if a string of 2m is suspended an an extended 3m elasticity is been applied.... is hooks law obeyed?
Enyia
yes
Alex
proof that for a BBC lattice structure a= 4r/ root 5 find the APF for the BBC structure
Eric
if a string of 2m is suspended an an extended 3m elasticity is been applied.... is hooks law obeyed?
Enyia Reply
tell me conceptual quetions of mechanics
Syeda Reply
I want to solve a physical question
ahmed
ok
PUBG
a displacement vector has a magnitude of 1.62km and point due north . another displacement vector B has a magnitude of 2.48 km and points due east.determine the magnitude and direction of (a) a+ b and (b) a_ b
Kou Reply
quantum
George
a+b=2.9
SUNJO
a+b
Yekeen
use Pythogorous
Dhritwan
A student opens a 12kgs door by applying a constant force of 40N at a perpendicular distance of 0.9m from the hinges. if the door is 2.0m high and 1.0m wide determine the magnitude of the angular acceleration of the door. ( assume that the door rotates freely on its hinges.) please assist me to d
Mike
what is conditions met to produce shm
Enocy Reply
what is shm
Manzoor
shm?
Grant
Why is Maxwell saying that light is an electromagnetic wave?
Bong
1st condition; It(th e BBC's system) must have some inertia which will enable it to possess Kinetic energy 2. must be able to store potential energy
Calleb
I meant "the system" not the BBC'S....."
Calleb
what a answer bro
Manzoor
kindly tell us the name of your university
Manzoor
GUlam Ishaq Khan INSTITUTE of engineering science
ali
Department of Environment Ionian University Zante Greece
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get the best Algebra and trigonometry course in your pocket!





Source:  OpenStax, Anatomy of a game engine. OpenStax CNX. Feb 07, 2013 Download for free at https://legacy.cnx.org/content/col11489/1.13
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Anatomy of a game engine' conversation and receive update notifications?

Ask