This week the foundation of the inventory menu was implemented, consisting of a node-tree for the navigational menu mechanics and separate scene objects to represent individual inventory items. Presently these individual item objects are responsible for storing their type as well as multiple sound effects associated with their identity, including an identity specific sound, a text-to-speech vocalization of their type, and an auditory description of the significance of that item to the player as a gameworld object. Some time was invested into understanding Godot’s audio engine, specifically the audio bus system which allows audio streams to be filtered through various modifiers before being issued to the hardware. Using this bus system, the feature of alerting the user to menu items immediately preceding and succeeding the one currently selected was implemented. Constant integers have been set up for debugging purposes to help ascertain exactly how loud these left-right whispers should be. Additionally, debugging constants have been employed to adjust the delay between alerting the user to the currently selected item and the item immediately to the left, as well as between the left and right. Even if only marginally so, this system reduces the cognitive burden on the user to remember which menu items surround the one currently selected. Of course, this system is only effective because the inventory menu system where it is being employed has been implemented as a single-dimensional list. To reduce potential confusion, the item list has been made non-cyclical. Instead, when one end of the menu has been navigated to, if the user attempts to proceed beyond that bound, audio boundary feedback is issued alongside haptic feedback. This seems to produce a very tangible sense of the boundaries, especially when combined with the fact (assuming a menu list with more than two items) when a boundary is reached, feedback will only be issued for two items rather than three. Two additional menu-interface features were also developed to assist the user with navigation: first, the “up” directional pad input will result in the issuing of the same feedback as would be issued when a new item is navigated to (first the newly selected item issues its feedback at normal volume, then the preceding item “whispers” it’s feedback in the left channel, and finally the succeeding item whispers it’s feedback in the right channel). Thus if for any reason the user gets distracted, they need not scroll back and forth to remember where they left off on a menu interface. Next, a feature is in development which allows the user to identify the nature purpose of any input experimentally. In order to do this, the user must first engage an input dedicated to this assist feature (presently there are two, the triggers on the DualShock 4). Then, while continuing to keep this input engaged, the user may engage any other input source on the controller. If the second input is mapped to some functionality on the present interface, an audio description of that mapping will be played. And for all audio feedback, when the user shifts to a different menu item, all previous audio feedback ceases, so as to minimize fatigue and frustration. Of course at this point in development these new navigational features only exist in the context of the inventory menu, but as development progresses further it is highly likely most of them will be abstracted and applied to other menu interfaces as well.
A map of a simple forest clearing has been completed. The map currently consists of a flat open field with a few objects representing trees, bushes, and boulders. Each object type has a sound attached to it, rustling leaves for the trees, crunching sounds for bushes, and thumps for boulders. These sounds are played when the player uses the echolocation mechanic while they are close enough to the forest objects. Currently all objects act as impassable barriers.
The largest challenge encountered, which must continue to be navigated over the next interval, was the demand to design input mappings and a navigational structure for the menu that was both intelligible and comfortable to use. The most complex subsystem within the inventory menu interface pertains to a so-called crafting system, where harvested game-world objects can be combined to produce new, more useful objects. The complexity here in part arises from the need to navigate through layers of substates, where navigational convenience must be negotiated with navigational intelligibility (ex: if the user selects two menu items for crafting, what happens if they want to deselect one and then select another). Design plans are in place which ideally will resolve these problems over the next development interval.
The gridmap tool of Godot did not quite work as expected and as such creating several entities with functionality to be detected by echo was a more time consuming process than previously thought. Grid map is more oriented toward level design than creating interactable gameplay elements. Since almost everything in this game needs to be intractable to be detected through echolocation grid map can currently can only be used to place surface terrain.
In order to make movement easier to understand camera functionality was added. The player can turn the camera to the left or right, but up . . .
A significant amount of work was achieved this interval with regard to integrating the Map Menu with the game world context, building on the foundations . . .