Starting out from our current lava set of tiles in blackland (lava, lava-stone1 and lava-stone2)
I tried to interpret how this division is used by most maps.
(their use inside the random map generation process is different, more random, and for the moment
does not factor in here.)
I found, that most maps use these tiles like this:
- lava: a fluid boiling substance, mostly inside craters.
- lava-stone1: a still very hot, partly liquid substance that flows and forms stone that are carried away downhill.
- lava-stone2: a stagnant mass consisting predominantly of hot stone, that forms cracks and opens the view to the underlying, still glowing lava.
I think this functional division is a useful one.
So I tried to improve the optical representation of these concepts.
I failed to come up with anything better than what we have.
I have experimented with a simulated upward thrusting movement (like boiling) and also with some
lava bombs being ejcted, but in the end had to give up.
The continous repetition of an non-dislocated, but moving pattern, while attempting not to show the
tiles too clearly, gave very unsatisfying results.
Anything I tried, just looked ridiculous, mostly because any visible "action" happens at all the tiles
at exactly the same time.
This could be overcome by creating 2 or more different lava tiles with their animation each
at a different time offset, but even a thoughtful placing of such tiles, still did not show
convincing results. Besides, we are limited to 16 terrain types and have exhausted that limit.
Also, of course, if you would want some action (like a lava bubble) to happen, let's say
every 30 seconds, you would need a sequence of pictures to fill 30 seconds at least.
With a framerate near 10 fps (in order not to degrade the animation to a slide show) this
would result in huge increase of files.
So,I think we must stay with the amorphous lava that we now have.
At least it gives the impression of "boiling" in a way, and it hides the tiles' borders quite well.
Lava-stone1: When trying to show a flow of lava, some things seemed important to me from the visual aspect:
- Forming stones as cold patches must flow slower than underlying hot lava.
- There should be a credible illusion that symbolizes adding new stones at the lower end of the lava flow.
- The lava movement, though perceived as a constant flow mainly, should, in parts, show waves of lava, that wash over
and consume stagnant patches.
I found some of it could be done to some extent by multiple layers using alpha channel transparency.
The time loop and the seamless tiling severely limit the available options and require a full shifting cycle in 64 steps (tiles are 64 x 64). It still is not perfect. One of the "jumps" is just the repeating animated gif, but the other one is inside the animation.
I have not managed to get this really "seamless" in both time and geometry. (see below).
You can also see them above. It's the terrain with the firery cracks
It's a simple animation since lava-stone2 is stagnant. This could immediately replace the existing tiles, if agreed upon.
Flowing lava would be the first terrain that shows a direction when moving on the map.
In that sense it could also be seen as a model for other possible terrain additions like
rivers, glaciers,and landslides etc.
All these additions are currently not really possible. So, at best, look at the animation above as a conceptional study.
It shows what can be achieved without a change of code.
Even that will not enter the game, since a lava flow to the south-west must be accompanied
by similar flows in other directions and the 16 terrain type limitation forbids this.
Adding code to mirror and rotate the lava-stone1 tiles, may however be possible within that boundry.
A final, proper solution for a less static landscape will however not only break that 16 terrain boundry, but possibly also require some sort of scripting for terrain tiles.
Having that would allow timed low frequency incidents (like a geysir, a vulcano eruption, a landslide)
I am uncertain how much could be done with LUA in this respect, but the Atlantean campaign seems to prove that changing the map within the game is quite possible.
In the end all this is a question of how much work the coders (or one of them) like to invest in things that are pure eye candy. Since only they will be able to estimate this, I will leave this question open.
Maybe our programmers want to comment on this?