I like writing stuffs, it helps me keep tracks of what I did and what remains to do, so I’ll try to keep this blog updated with progress on the conversion of Alien Blitz to 3d.
Integrating all models
All the models that were in Qubicle format are now converted to the internal format (g3db)
A lot of these models fit nicely, but some need some work:
- Some palette changes to monsters so that they can be more easily seen
- Some items will need to automatically turn, for the same reason (keys, armor,…)
- Some details or complete rewrite for some items that don’t render well in 3d
- Some bigger models
A few new models have been done, for visual particle effects.
Chunk now update when cubes are changed inside (door opening, wall destroyed,..)
This mean the whole chunk mesh need to be recalculated, sadly it means there is a small delay during rendering when doing that. I don’t know if it can be threaded for better results (or if it needs to be on the render thread), I will have to test it.
Explosion is a simple animated texture from Lost garden, I might change it to a full 3d sprite at some point (PC version ?) but for now this texture is good enough.
To render it in 3d I just use a simple mesh, pointing to the camera.
I don’t know why there are some artefacts during rendering (image is sometimes cut)
Health bar are bars that appear above player & monsters to indicate their life.
At first I wanted to do a similar thing as explosion, but it might be a little too complicated and create too many objects in memory. So instead I think I will just draw them on 2d screen.
Thankfully Libgdx provides a convenient method to get screen coordinates from 3d coordinates : Camera.project(Vector3)
They are rendered on top of everything (it will help looking for monsters behind walls) except fog of war.
The same apply / will apply for other similar effects (monster name when selected, health loose on hit,…). I might do something similar for explosion if I can’t get ride of the artefacts, only problem is these effects are always “on top”.