With my work on seasonal trees (More on that later) I figured it wouldn’t really be complete without the days also getting shorter in winter and the shadows getting longer, so I made the sun’s path shift across the sky in a rudimentary fashion. It doesn’t have that figure 8 annelema that our sun has, but it’s something, at any rate.
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.
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.
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.
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.
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:
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.
What you see here is the final result of my efforts to export a mesh from Armok Vision, and load it with 3ds max. Apologies for the low frame rate, I wanted a quick render.
The problem from before with the vertex colors was, indeed, what I had suspected before. Turns out 3ds max doesn’t like vertex colors on solitary vertices, unattached to any faces. After re-writing my mesh merging code to only attach the vertices that are needed, instead of blindly merging all of them, things go much more smoothly.
I also changed how the mesh merger behaves when it runs out of available vertices (Unity has a limit of 65535 vertices per mesh). Before, it would just fail outright it the resulting mesh would go over the limit. Now it keeps adding tiles until it runs out of space, and stops there. This will leave smaller holes in the terrain than before.
Best of all, now that I have this out of my system, I can go back to the rather tedious work of putting all the systems in place for picking sprites for creatures.
If you like to support my work, feel free to become my Patron
Every once in a while, somebody asks for an ability to export models from Armok Vision, and I mostly ignored them, largely because it’s something that isn’t trivial to do properly, until I saw some renderings from a program called MagicaVoxel, which had really nice lighting, and inspired me to do some of my own.
Unfortunately, the lighting in Armok Vision isn’t up to that level just yet, but I do have my work computer where I do renderings for a living, which tends to come out looking great, so all I have to do is get it in the right format.
Easier said than done. The only free exporter I could find was for obj format, which doesn’t support a second UV channel, nor vertex colors, both of which I depend heavily on.
So I got to work making an exporter for COLLADA models, which support damn near everything.
Except that, again, vertex colors didn’t work.
Or rather, they did, but whenever I exported them, 3Ds Max crashed when I tried to import the model.
So I stuck with the two UV channels, exported the texture atlases, imported it all into Max, and made some renders.
The result? A stark, grey edifice, devoid of color, and resembling bare concrete constructions, like a soviet designer tried to make a space-age skyscraper, based on a description of a futuristic utopia.
My current best guess is that the extra, unused vertices are throwing off max, somehow, so I’m going to try stripping them out before export, and see how it works.
If you like to support my work, feel free to become my Patron
I’ve been ignoring this blog for way too long, so I’m starting afresh.
Hopefully I’ll be using this a bit more.