I de-leafed the trees

Before I can start putting seasonal leaves onto the trees, I need to have something there for when the leaves are not, which is why I spent the last few days making bare branches for the trees.

Screenshot 2016-01-15 19.45.04
Overhead view of the new tree branches

In my initial attempt, I tried to make floor-thickness cylinders for the thicker branches that are shown in the game as ┴, ├, ┌, etc, which taper off into the neighboring tiles, where I would put a small + shape for the smaller branches, that the game shows as ¼ symbols. It… did not work. very few of the smaller branches actually connected to the larger ones, while most of them were simply standing on their own, and all looked exactly the same as well, so the result was a floating grid around each tree, that was the same at every level, mostly, and did not look natural at all.

How the trees look in Dwarf Fortress.
How the trees look in Dwarf Fortress.

First thing I had to do to fix this was to allow some tiles to have random rotations, to get rid of the most obvious tiling.

Then I modified the small branch tiles so that they connect to all of their neighbors, offset the center intersection along some diagonal, and made them use the random rotation, and made a similarly shaped and thinner version for the twigs.

First person view of the new branches, looking through them, towards the sky.
First person view of the new branches, looking through them, towards the sky.

The result is something that looks decent both in a zoomed-out areal view, as well as in a first-person perspective, and can provide a decent base for adding leaves to the tree.

As a bit of fun, since I have wintery-looking trees anyway, I tried out adding some shader-based snow onto the landscape. I think it looks pretty nice, personally.

Snow-covered trees.
Snow-covered trees.

Revisiting trees

I’ve been trying to make some headway with creatures for… Some time, by now, but I haven’t been able to really get anywhere with them for various reasons, most notably focus. There’s just so much to do before I can actually see a result, and I keep getting pulled away by life whenever I start working on them, so I’ve decided to change tracks a bit, and work on something else that I’ve been putting off:

Trees.

At the moment, trees in Armok Vision are kinda lame. Every one looks exactly the same, with the same color leaves, all year round, even trees that have none at all, like glumprongs, and bloodthorns.

So the first thing I need to do is have AV read the raws to see where the leaves get applied on the tree, and when.

That second part gives a bit of an issue, though.

Currently, the terrain meshes are regenerated whenever any tile on them is changed, via a dirty bit, which would mean that the trees wouldn’t shed their leaves in the winter unless a terrain update got triggered.

To solve this, I plan to store a list of dates in each terrain tile where it will need to be regenerated, and store the date of the last generation. Then the terrain generator will know that it has to regen the leaves when winter falls.

The other thing I  will be doing will be adding info to each tile telling where on the tree it is, both as a percentage of height, for purposes of palm leaf placement, and the direction from the center of the tree, so that the leaves can be optionally rotated around the tree, and face outwards. This should help make them look a little more rounded, hopefully.

Finally, I will have to make some new leaf graphics, as well as better branches. I at least need one each for palms, broadleaves, evergreens, and feathers. Not to mention flowers and fruits.

And then I’ll try to continue with creatures.