Greetings and salutations!
Once again, I have a few images to share this week, and so intend to scatter them throughout the post. They should be a little more relevant to their preceding paragraphs than were last week's, however!
To start with, a look at two of the murals adorning walls in the lower tombs. Though somewhat damaged, they're far better preserved than those in the entry-room:
The week just past was a productive one, I feel, and one with a bit of variety: I worked on level-geometry, UI-textures, the logic and UI of the save-game system, and the aforementioned murals. To elaborate:
Monday, May 15. 2017
A Variety of Progress
I started the week, I believe, with work on the geometry of the lower tombs, and specifically on the broken wall found in the first tomb that the player enters on that floor. This proved a little tricky.
You see, the unbroken walls have flat geometry, relying on normal maps to provide a sense of shape and surface-texture. Since the breach in the wall is three-dimensional, it exposes the sides, tops, and bottoms of some of the blocks that compose the wall, and as a result the wall transitions from flat to 3D. For the most part this isn't a problem: the normal maps apply just as well to surfaces other than the front-faces. The tricky bit lies in the rough, bevelled edges of the blocks.
Perhaps the simplest approach is to leave the three-dimensional blocks unbevelled, and rely on the normal map to create an impression of bevelling. This works reasonably well, as it turns out--but the shape of the blocks, and how they map the textures applied to them, somewhat gives away the trick.
Another thought, then, is to bevel the block-geometry but use normals from unbevelled sections of the normal map. (Since the normal maps effectively alter the apparent normal-vector of the surface, applying a bevelling normal-map to a bevelled surface results in the normals pointing in the wrong directions.) This works--but it loses the surface-texture of the bevels, and I think that I had some difficulty at the transitions between the flat and 3D sections.
The answer, in the end, was somewhat a combination of the two. In short, I bevelled the blocks, but then used a Blender modifier to alter their normals to point in the direction of the flat wall's normals. This allowed me to use the bevelling normals applied to the flat surface, while retaining the three-dimensional geometry, thus keeping the advantages of both.
(There was also a minor pitfall in the colour-texture being used, and some of the UV-mapping was a little tricky, but nothing worth going into detail about here, I feel.)
For a while now I've been a little dissatisfied with the textures that I've been using for various UI elements. While largely fine in and of themselves, I think, I felt that they didn't really match the overall aesthetic. In addition, I wasn't happy with the images that I had for my UI-buttons.
In the week just past, then, I attempted to improve matters there. I repainted the UI-button, updated the "tabbed-frame" tab-buttons, made use of my reusable "stone" texture for stone UI backdrops, and made a handful of other adjustments. Concomitantly, I adjusted some of the extant UIs a little to account for the new elements, in particular the new UI-button.
I haven't yet decided what I'm going to do about my current "leather" backdrop (seen for instance behind the inventory, below). I experimented a little, but wasn't happy with the results.
However, that aside, I'm rather happier with the UI as it is now, I do believe!
I believe that I mentioned last week that I spent time on the functionality of saving and loading. In the week just past, I moved on to working on the UI and functionality of manual saving, as well as adding in quick -saving and -loading. Quick-saving was pretty straightforward, as I recall: in essence, it's just autosaving, but at a button-press rather than via in-game trigger or other logic, and with a different save-name and file-name.
Manual saving called for a bit more work, both in figuring out the intended flow for its UI, and in implementing said flow. The details are perhaps not very interesting; suffice it then simply to say that one should now be able to manually save and load games (including overwriting old saves), and delete extant saves. This all seems to be working as expected, although it perhaps hasn't been tested extensively.
(I may also want to add a confirmation dialogue to the process of deletion; there is one for overwriting, at least.)
On a related note, the main menu now has buttons that provide access to manual -saving and -loading. There's also a "continue game" button--when a game is paused in the background, this button should return the player to it; when there isn't, it should load the most recent save (if any is found).
Alongside the above, I moved some of the logic related to autosaving. In short, the game should still autosave before leaving a level, but should no longer save just before combat. (I am contemplating having it additionally save just after combat, however.)
The final piece of major work done in the week just past went into the murals shown in the leading image above. These are the first of a number that decorate the walls of the lower tomb. While I considered them done as of Saturday, I currently intend to go back and rework them a little, both in content and in the mural shader used to depict them.
As with last week, there was also, I believe, a miscellany of other work done in the week just past!
That's all for this week--stay well, and thank you for reading! ^_^
You see, the unbroken walls have flat geometry, relying on normal maps to provide a sense of shape and surface-texture. Since the breach in the wall is three-dimensional, it exposes the sides, tops, and bottoms of some of the blocks that compose the wall, and as a result the wall transitions from flat to 3D. For the most part this isn't a problem: the normal maps apply just as well to surfaces other than the front-faces. The tricky bit lies in the rough, bevelled edges of the blocks.
Perhaps the simplest approach is to leave the three-dimensional blocks unbevelled, and rely on the normal map to create an impression of bevelling. This works reasonably well, as it turns out--but the shape of the blocks, and how they map the textures applied to them, somewhat gives away the trick.
Another thought, then, is to bevel the block-geometry but use normals from unbevelled sections of the normal map. (Since the normal maps effectively alter the apparent normal-vector of the surface, applying a bevelling normal-map to a bevelled surface results in the normals pointing in the wrong directions.) This works--but it loses the surface-texture of the bevels, and I think that I had some difficulty at the transitions between the flat and 3D sections.
The answer, in the end, was somewhat a combination of the two. In short, I bevelled the blocks, but then used a Blender modifier to alter their normals to point in the direction of the flat wall's normals. This allowed me to use the bevelling normals applied to the flat surface, while retaining the three-dimensional geometry, thus keeping the advantages of both.
(There was also a minor pitfall in the colour-texture being used, and some of the UV-mapping was a little tricky, but nothing worth going into detail about here, I feel.)
For a while now I've been a little dissatisfied with the textures that I've been using for various UI elements. While largely fine in and of themselves, I think, I felt that they didn't really match the overall aesthetic. In addition, I wasn't happy with the images that I had for my UI-buttons.
In the week just past, then, I attempted to improve matters there. I repainted the UI-button, updated the "tabbed-frame" tab-buttons, made use of my reusable "stone" texture for stone UI backdrops, and made a handful of other adjustments. Concomitantly, I adjusted some of the extant UIs a little to account for the new elements, in particular the new UI-button.
I haven't yet decided what I'm going to do about my current "leather" backdrop (seen for instance behind the inventory, below). I experimented a little, but wasn't happy with the results.
However, that aside, I'm rather happier with the UI as it is now, I do believe!
I believe that I mentioned last week that I spent time on the functionality of saving and loading. In the week just past, I moved on to working on the UI and functionality of manual saving, as well as adding in quick -saving and -loading. Quick-saving was pretty straightforward, as I recall: in essence, it's just autosaving, but at a button-press rather than via in-game trigger or other logic, and with a different save-name and file-name.
Manual saving called for a bit more work, both in figuring out the intended flow for its UI, and in implementing said flow. The details are perhaps not very interesting; suffice it then simply to say that one should now be able to manually save and load games (including overwriting old saves), and delete extant saves. This all seems to be working as expected, although it perhaps hasn't been tested extensively.
(I may also want to add a confirmation dialogue to the process of deletion; there is one for overwriting, at least.)
On a related note, the main menu now has buttons that provide access to manual -saving and -loading. There's also a "continue game" button--when a game is paused in the background, this button should return the player to it; when there isn't, it should load the most recent save (if any is found).
Saving and loading--manual, quick, and auto. (Please excuse the WIP main menu.)#ADoorToTheMists #gamedev #indiedev #indiegame pic.twitter.com/YuZIxWJgIP
— Ian Eborn (@EbornIan) May 13, 2017
Alongside the above, I moved some of the logic related to autosaving. In short, the game should still autosave before leaving a level, but should no longer save just before combat. (I am contemplating having it additionally save just after combat, however.)
The final piece of major work done in the week just past went into the murals shown in the leading image above. These are the first of a number that decorate the walls of the lower tomb. While I considered them done as of Saturday, I currently intend to go back and rework them a little, both in content and in the mural shader used to depict them.
As with last week, there was also, I believe, a miscellany of other work done in the week just past!
That's all for this week--stay well, and thank you for reading! ^_^
Trackbacks
Trackback specific URI for this entry
No Trackbacks