New
milestone, new features, new optimizations, new bugs and new objectives,
but we also have the worrisome feeling that the end is getting closer. Let’s
remark some stuff:
First of
all, it’s worth mentioning the new procedural generation system. Disregarding
little unimportant changes, what really matters is that we’ve abandoned the
plain text representation of the map. What this means is that now the
procedural generation does not create an ASCII file and then fills it with the
information of tiles. Instead, it is directly created in memory. Unfortunately,
due to the lack of time, Isidro’s room generation could not have been adapted
to this new system and because of this, what you can see in the video is a
temporary generation less accurate to place certain stuff. What we have actually
added is a stair at the end of the level and we make sure that the player
spawns as far as we can from it.
Next thing
to take into account is combat, where we made some improvements. Firstly, we
have a system of attack and defense and altered states (poison). Secondly,
we’ve provided tons of feedback to combat. This has been possible thanks to the
implementation of billboards (2d textures applied to planes placed in the 3D
world always facing the camera). One is used to show the amount of damage dealt
to the enemies and another one is used to notify the player about critical
hits, dodged attacks and blocked impacts; both are shown on top of the enemy
that has been hit. Also, there is now a border effect applied to the enemy that
is “selected”, meaning that he is in range of attack.
Another new improvement is the entities “occlusion” system. This consist
on deactivating entities that are too far from player’s room, trying to save great
amounts of unnecessary calculations, speeding up turn time. This has been
possible thanks to the new procedural map generator. With the addition of an
undirected graph we now can easily know the adjacency of rooms. The
deactivation of torches is left to be implemented yet, since we only use
dynamic lights with theirs limitations and Ogre’s default algorithm doesn’t fit
in this game.
Concerning
the art, our first enemy came in the very last minute but on time: the stone
construct. It will substitute our beloved troll (bye bye old friend :_( ) but
the mourning won’t last long, because it was a necessary change and an
aesthetical triumph. For now it comes with two animations: Idle and Attack.
State machines, finally! Simple but at least they were ready for the
milestone. We got a basic behavior for our construct based on the detection of
the player using the FOV (field of view) algorithm. As long as we keep out of
his sight he patrols. If he sees the player, tries to catch him/her and will
attack if player is in range. There are not sound, smell or hit detection by
the moment.
A bazillion
new things will be added in the by the time the next milestone arrives (it’s
just around the corner) including some role mechanics, clearer interface (It’s
about time…), procedural generation entirely done, torch deactivation, more
art, more AI behaviors, better AI perception and an improved sound system. Does
it seem too much? Sure it is, it’s
massive, but we are really motivated so nothing is impossible. I will try to keep
up reporting changes till next milestone.
Ah! And
lastly forth milestone video, simple, but shows every point we discussed
before. Enjoy it!
No hay comentarios:
Publicar un comentario