Summary:
In which prefabs see changes and fixes; level-building is started in earnest; a new window may aid workflow; window- and door- frames are being added; and ladder-generation code is tweaked.
Greetings and salutations!
For this week's screenshots, some work towards level two, in both prefabs and level-building:
The week just past was a bit of a slow one, perhaps, but nevertheless not without its progress, I feel:
First of all, as shown above, work went into the second level, and the prefabs being used for it.
Regarding the prefabs, the most salient change is the composing of a set of new pre-constructed buildings, using the simpler prefabs already made. I'm hoping that these will enable me to more-quickly populate the level with buildings.
Aside from that, a number of lesser tweaks and changes were made, either improving the appearance of the prefabs or fixing various issues.
One nuisance that I discovered was that the constraints used to link building-storeys together didn't work quite as I had expected. Specifically, while they did indeed match position and rotation, they did so separately, and the offset in position was unaffected by rotation. Thus, rotating a base storey resulted in the storey above turning in place about its own axis, potentially separating from the base until the latter's rotation brought it back underneath the upper storey again.
Thankfully, I discovered that Blender also offers a "child of" constraint--separate from an actual "parent-child" connection--that doesn't seem to produce this issue. I've now updated the storey-making script, as well as the compound prefabs, to use this new constraint in place of the old ones.
As to the level itself, I've begun in earnest the work of laying it out.
Thus far I have a small initial section, and the start of the first significant traversal elements of the level (as well as the end of the last). Here the player may find that the direct route to their goal is blocked--but exploring in the other direction reveals a path onto the rooftops, and from there around and over the blockage.
In working with my prefabs, I started to feel that moving back and forth between the region that contains the level itself and the region in which the prefabs are stored became a little tedious.
Seeking to make this easier, I tried opening a new Blender window, hoping that it would allow me to work on the same file from two windows. And it did! Furthermore, if I save the file with both windows open, it restores both on reloading! This has allowed me to create a smaller "palette" window focussed on the prefabs, in which I can select and duplicate them before moving them into place in the level.
I haven't yet really tried out this new workflow, but it seems like a good idea, at the least. (And is a neat feature on Blender's part, I feel.)
Up until now, I had planned on leaving such details as window- and door- frames out of my prefabs, only adding them later. This was born, I think, from a thought that adding them early on went against the idea of rapid prototyping.
However, I realised in the week just past that by leaving them out entirely, I was somewhat setting myself up for adding an awful lot of window-frames one-by-one at the end of construction. To avoid this, I've begun work on modelling them, with the intent of now including them in the prefabs.
I do have one uncertainty: should I join the window-frames of a given prefab into a single model (or more likely, one per prefab-side), or leave them separate? The former might be better for performance, while the latter might allow me to keep them internally connected, enabling edits later on.
My thought at the moment it to keep them separate, perhaps to be merged at a later stage, once their model is completed.
I also made some tweaks to my ladder-generation code: it now automatically adds a number to each ladder's name, rather than relying on the game's name-conflict code, and provides a display-name, so that a separate name-entry isn't called for with each ladder.
And finally, I made a few other tweaks and fixes that don't seem worth mentioning here!
That then is all for this week--stay well, and thank you for reading! ^_^