We
created GxImages, a library, Entities, SpriteAnimations, and what else. By now,
I can imagine you might be confused with all the different classes. Who is doing
what?
First
try to make a difference between “data” and “entities”. Data can be an image, a
sound file, or an animation description (how fast, which frames, what next, …).
A 3D model, level structure, a shader, and so on. Data tends to eat relative
much memory, so we only want to load it once. Or even better, only when needed,
on demand. Since the engine itself doesn’t know what we want to load, a
“Resources” file has been added to the game code, doing that.
Entities
are instances, using that data. They can come in great numbers, like the 20
bonus crates or foes on screen. Multiple entities may refer to the same Data
resources. So far we only made a very abstract base entity, and another still pretty
global “Sprite” entity. The latter refers to an Image and can play an
animation.
First,
we fill our ImageLibrary with Images, which are Atlas Textures, meaning a
single image file can contain multiple subimages, referred as “regions”.
Second, we define animation data. An animation tells which image to use, and
each animation frame is linked to a region of that image (atlas). Also
non-animated sprites, like a simple rock picture, are treated in the same way
here. But only using a single frame.
Entities
are made and inserted into the EntitySystem, which updates them every cycle
until the entity tells to quit (“kills itself”). If an entity update() function returns false, we shoot it, cut it in pieces, throw it in the trunk, eat spaghetti with mom, then burry it in a forest.
Got it?
Good. Now let’s put this thing to action. We’re going to clean up the Game
code, and make more use of the engine to … to get the same stupid orb. Joy.
So… You’re
saying we did ALL this work for the same Orb? Something we had programmed
within the first 10 minutes already? Ehm, yes. C’est bon, oui? Engine
programming is a lot of work indeed. You could have cheated as well, and take
the short route.
But
remember those times when you used to buy flowers and cook for your girl? You
could just as well buy her a bigMac and sit in the couch, but that won’t be
rewarded on the long term. Quid pro quo, my friend.
Trust
me, we made solid basis for further operations here. Lots of sweat digging out
all those trenches, but now we are better protected for the Vietcong. All the
studying late nights, but now we’re going to get filthy rich. Now we shall harvest.
No comments:
Post a Comment