Page 1 of 1

Progress Update

Posted: Sun Jul 11, 2021 11:18 am
by Des
The concept of problem-solving is somewhat flawed in that a pending task categorization is entirely dependant on the observer's interpretation. What is the suggested interpretation? The word problem also has a non-neutral emotional binding associated with it. If you remove the emotional association, the more accurate word would be a puzzle or task. Yet, puzzle-solving is a less catchy phrase.

With the current focus of development on the NPC Shop, there was a clear need to refactor some logic to allow the functionality to be more versatile and have better reusability moving forward on the roadmap and refactoring certain functionality to the nested components of the NPC Shop.

To achieve the appropriate user experience with the NPC shop, we separated each action to its core grouping functionality. The first action was the NPC Shop item purchase that we covered in the previous dev journal entry. Afterward, the following logical action to implement was to give the user the ability to sell items from their inventory to the NPC Shop. Fortunately, we previously refactored the User Inventory component, and the benefits of that came into play to provide a more fluid implementation to achieve this functionality.

Image

Of course, the next step was to implement the NPC Shop pet purchases. This action is different because the user is required to provide the desired pet name at the time of purchase. Adding this action meant we needed to use the popup panel component to get the text input from the user. Some time ago, changes were made to how the generic popup panels worked, and until this point, the input panel was not fully tested. In short, some challenges needed to be addressed.

Image

Shortly afterward, the functionality to sell a user pet to the NPC Shop was implemented. The ability to sell is a destructive action with no undo once the user commits to it. Because of this, there are specific criteria to sell a pet to the NPC shop. One of them being that the pet must be unsummoned, the other being that the pet inventory had to be clear of all items, and the final one being that the user can not sell their last pet. This logic is on the server-side, with message prompts added to the client for a more intuitive end-user experience.

Image

With these NPC Shop actions implemented, some code had to be cleaned up. The next step was to implement gamepad/keyboard support for navigating through the NPC Shop to perform the previously mentioned actions. Currently, gamepad support is not fully implemented but is going well and is not without its challenges.

One more thing worth mentioning: the popup panel animation has been modified to make it more esthetically pleasing. The intention is to add more of this type of visual eye candy in the future.

Image

Most of these topics are covered in more detail on the live game dev broadcasts on twitch and then uploaded to youtube to be archived. If you are interested in the technical side of it, you are welcome to come to hang out and wat the game dev live on twitch or afterward on youtube.

Have a great weekend :)