Summary:
In which I try to figure out how to design and build level two; level -prefabs and -props are made; the sky sees some updates; and a feature from one shader is copied into another.
Greetings and salutations!
This week, I have two things to show by screenshot or gif. First, some changes to the sky-shader; and second, various prefabs and props that I've been working on for use in building level two:
The main work of the week just past was focussed on level two--but a few other things saw progress, too.
I mentioned last week, I believe, that I intended to sketch a level-layout on paper, and I indeed tried that in the week just past. This did help to some degree, I do think: while I didn't come up with a full level-layout, I think that it helped me to solidify the basic progression that I have in mind for this section, as well as some of the gameplay challenges that I want to present.
But I wanted a means of more directly experimenting.
I could build simple grey boxes quickly enough in Blender--but these wouldn't model the interiors of buildings, which I do intend to play a part.
Conversely, modelling each and every building individually would likely take a fair bit of time, and perhaps be a bit slow for experimentation. And indeed, I don't want to build each final building from scratch, either!
Instead, I came to the idea of building "prefabs": various sections of building that can be mixed and matched to create a variety of (simple) architectures. These can then be individually edited as called for--breaking this one's walls, filling another with rubble, adding a hidey-hole here, and so on.
To start with, I sketched out various elements of the architecture of this region: building floor-plans, illustrations of various individual pieces, etc. From these sketches I could then start to build 3D models.
But there's another problem: The game calls for both visual and collision geometry, and these don't share a common "parent" node. But keeping them entirely separate means that it's easy for them to go out of sync., either in position or in geometry. Conversely, in some cases they should differ, with the visual geometry generally being more complex than the collision geometry.
What I've settled on for this is a slightly-complex setup: Where appropriate, visual and collision geometry share underlying meshes, allowing changes in one to be reflected in the other. Further, shared meshes between different prefabs allow quicker editing while the prefabs are being constructed.
Further, Blender allows me to use constraints to match positions and rotations. Where that becomes problematic (due to offsets in position, thus far), I've found workarounds, such as parenting one visual element to another, and then constraining the associated collision geometry to the visual.
I've also created a number of miscellaneous items that might affect traversal--stairs, water cisterns, toilets, and so on.
All of these currently use stand-in textures taken from previous levels; since the materials are shared, it should be easy enough to simply replace the texture-files being referenced once I make the textures relevant to this level.
With these pieces, I hope to relatively-quickly build up the section of city in which this part of the level takes place. Once again, we'll see how it goes!
Moving away from level two, I also made some changes to my sky-shader. I had been a little unhappy with the way that it handled the sky near the sun: the mapping resulted in a radial pattern that I found unsightly.
So, I worked on a new mapping, applying a radially-patterned texture with its centre at the position of the sun. It took some time to figure out, but in the end I did get it working, as I recall. However, I also discovered that this pattern doesn't tile nicely, meaning that the texture ended up somewhat stretched.
In the end, I returned to my previous mapping--but faded out the pattern near the sun, hiding the radial artefact.
In addition, I found that the sky was no longer flaring when the player looked to the sun. I fixed this, and then went further, intensifying the flare and having the "painted" texture apply more strongly to it.
Finally, I made the sun less diffuse, more a bright, solid circle.
Overall, I think that I rather prefer the way that the sky now looks!
And last, a minor change: I copied the saturation control from my "sunlight"-shader into my "player-light"-shader, allowing me to apply the same effect there.
That then is all for this week--stay well, and thank you for reading! ^_^