This sprint I actually got quite a bit done. The I managed to get the Research mini-game working though there are some small bugs I'll need to get ironed out. The other major feature I had time for this sprint was the quest system. I found an amazing tutorial on a Unity quest system and I decided to replicate it as an initial system and then build off of it to suit the game.
I finally finished up the UI from last sprint and after some trouble being able to display the lines
correctly I managed to get the whole system moved over to the new UI. The main issue I had was that
originally I was displaying the connecting lines as with Gizmos and while it was working as a short
term solution it was something I knew I would need to replace. After moving over to the new UI system,
I realized that the placement of the UI elements and the Gizmo system I was using weren't compatible.
getting the screen transforms of the new UI VisualElements was not going well and on top of that the
Gizmos I was originally displaying were being displayed underneath the new UI. To solve this I learned
how to use the Vector API to draw lines between the spaces where the edges were. This actually required
me to update to a 2022 version of Unity since that's when the Vector API was introduced. I put the code
for displaying the lines within the Space class itself as that was the simplest way to implement it.
I also added in the white and black spaces which now also function properly. There is still no visual
indicator that the spaces are either correct or incorrect however since this sprint was just for transfering
the UI over to the new system I am planning on focusing on that during a later sprint.
Research Mini-Game
Research Mini-Game Completed Path
Now for the major update this sprint: The Quest System! Instead of trying to reinvent the wheel I decided to
look and see what others had done for quest systems in their games and I came across a tutorial from Trever Mock
on YouTube. It's a great system that uses events to hook up calls between the game and the quest system to
make sure that everything is being updated properly. It's also a pretty flexible system in that I can modify it
later if I need to depending on what the type of quests I have the player do. Currently, it is set up for
two types of quests fetch quests and going to a specific location quests but I am planning on adding in more
quest types. In the future such as researching specific herbs and creating certain potions though these won't
be added in until a later sprint.
In terms of what's next for the Quest System, I still need to hook it up with the Quest Log and display the
quests to the player as it is currently all in code right now. I also need to finish commenting the code and
updating the documentation to refelect the new Quest System.
The first thing I want to finish is the documentation for the Quest System. It'll just be a lot of busy work to get the code commented properly and finish the architecture diagram in miro but I think it's important that everything is documented properly so I know what I was doing when I come back to this section of the game later on. After I finish that, I'm going to start fleshing out the actual Herb and Potion crafting system. This will mainly be coming up with values for each herb that combine together to create the potions. These values will also change depending on the preparation method used. I'll have a lot of design decisions to make this sprint so I'm not expecting too much programming but it would be nice to get to that stage.