Hello I'm edu from edu4java
and this is a presentation
of a new chain of tutorials
that I hope you like
they are about game programming
what you are seeing is an htc desire in which I'm playing a little game
it is not finished, it is like an alfa version that I have made by myself.
In the next tutorials we are going to learn game programming concepts,
android specific characteristics for game programing
and a little of game achitecture "How we are going to structure a game"
Here we have the same game but with less characters or guys
As you can see there are
1, 2, 3, ...
4, 5, ...
ok, as you can see here are bad and good guys
these ones with wings are the good ones
when you kill one of these they scream as a terrified woman and leave a blood stain,
when you kill one of these
it makes an "auch" and leaves a blood stain too
after a few seconds the blood stain disappears
the idea is to kill the bad guys ...
the ones that have no wings
try not to kill to the good guys. In other words, kill the boys and not the girls
here I present you a summary of what we are going to see in the next tutorials.
first we have to learn the concepts of
Game Programming:
Game Loop
What is Game loop ...
... game loop is ...
when you see a movie
what you really see is a picture painted over another
several times per second
a computer monitor can print 80 pictures per second
in this simple game we are making we are going to print
10 frames per second, that means we are going to print 10 pictures in a second
then in this loop each time we iterate
we print a picture
this is printed so many time per second that we see a video animation
also in this game loop ... in adition to updating the picture
the information of the game is updated
normally we have an engine (point 2)
this engine is in charge of
the update of the game state
and the drawing of the pictures,
these are the 2 principal methods called by the game loop
in the update each character is updated. The position, ...
if it reached the border, to turn and go in the opossite direction
ok
it updates what people call "the game physics" for example
when a character walks it has an inertia,
this inertia
is shown
calling this update, in each call we move the character.
3. Sprites: is an old concept, it is the concept of...
here the littles guys are the sprites
the sprites normally have characteristics like movement
they can have sound, ... they are like a little entity
in our ...
example this is an sprite
this blood stain is also a sprite
it is alive, ... now it disappears
each one of these is a sprite
then... this is a sprite, will see it later on...
Collision detection: it is when it is necessary to now when ... for example this one gets to the border here
and goes in this direction. It is detected that it was going to get out from the screen
and when it detects the border it changes direction
another collision detection can be this
when I click, how does it know if I kill some one? It needs to be aware ...
that in the x, y position where I click there was a guy
and then when it detects that here there is a collision between the click position and a guy I make the character disappear and
the blood stain appears, after a few seconds it disappears too
ok with collision detection
Game resources: ... how to find the images
we are going to see this in detail but for now .... let's go here to resource
and we can see ...
these are my images resources, see?
this is a little guy
this is a bad guy
here we have another bad one, you can see it is walking front, the legs are in different positions
here we have a good one. I made this with a program ...
I saw in a web that we are going to see in the next tutorials.
see, here it is going left moving it's legs
next, we have sound resources too
here in raw
I don't know if you are going to hear this, but when you click here
if it runs correctly...
this is the scream of a woman and this is when we click on the man
and...
what else?
we are going to see Android specific characteristics used for the game. For example the use of SurfaceView
it is a low level View.When we are developing a game we are worried about
the performance so we use the low level view
we are going to learn what is a Holder and how to handle its events.
How Android manages the resources, how you put them into memory, how you load them
refering to Game Architecture...well, this is as in general Architecture...
the idea of the Architecture is to divide a problem in simple and reusable parts
in our case we are going to try to uncouple
put into one independent place the game logical part and in another place the Android specifics, why? because my idea is
that with the same development we did for this game
use it to do an applet game and
a Java game without developing again the entire program
ok, as a first introduction I hope it has been enough, see you in the next tutorial
of Android Game Programming
Good Luck!