Greetings and salutations!
For this week's screenshots, a few images of the progress made on the outdoors section of the first level:
(There should be two more on my Twitter feed, but I won't clutter this post by including them here.)
It slowly coming along, I do feel!
I hit a rather alarming problem during the week just past. Let me tell you of it, and of what other things were done:
To start with, as shown above, work continued on the outdoors section of the first level.
I even found a way of handling the grass on the mound--it's not perfect, but it works, I do think! In short, the problem was that Blender--which I use to build my levels--has only limited support for custom normals, and the default approach doesn't really work for my approach to grass. On near-flat ground this isn't a huge problem--I just use a vertical "normal" hard-coded into the shader. However, this doesn't work for the varied shading of the mound.
Now, I was able to get usable normals from the mound itself via a ray-casting function that Blender provides. The problem was how to store them. In the week just past, an answer came to me: store them in vertex-colours! Indeed, this is much like traditional normal-mapping, but on the level of vertices, not textures. And it seems to work well enough, I feel.
Otherwise, I worked on a number of elements: filling out the level, tweaking my "rough stone" textures, starting to adjust the direction of the "sun" light (for which I added initial support), etc.
It was during work on the level that I encountered the problem mentioned near the start of this post, as I recall. I had just recently added some new geometry--a surrounding wall of stones. I set Blender to export the level, and it seemed to finish successfully--although I think that this may have been an oversight on my part. I opened the game, and loaded the level. It loaded. And loaded. And continued to load...
And the game crashed.
I saw that an error message had been printed, indicating that something had exceeded a "total heap single size". Roughly speaking, it had run out of memory somehow.
Checking the level, I found to my surprise that the outer wall had rather more vertices than I realised--around thirty thousand, I think that it was. Removing the wall and re-exporting caused the level to load successfully. And indeed, the total vertex-count of the level was likewise higher than I had expected. (I was surprised when I looked around the level at some of the things that contained a lot of vertices. Books, for example, were a significant contributor in the lower tombs.)
In the end, I went to the Panda3D forum and asked there. In short, it seems that the problem isn't on my end, but a bug in this version of Panda3D; testing reveals that the level loads happily in a newer version. Since the newer version uses a new--and, I fear, not yet fully-ready--game-deployment system, I'm hesitant to upgrade. At time of writing, I'm still discussing the matter on the forum.
In the meanwhile, although it's perhaps not strictly called for, I've reduced the vertex-count in a few places, including both that outer wall and the books.
And finally, as per usual, other things were done that don't seem worth extending this entry for.
That then is all for this week--stay well, and thank you for reading! ^_^