Displaying: Quest Objectives
The Plan
Today I dove back into working on the game with a solid plan in place for what I was going to work on. First, I needed to make a small change to my induction terminal. Then I was going to move on to adding a quest objective display to my HUD. Once that was in place I was going to add in the initial quest chain assignment, quest completion, adding quest-related functionality to my dialogue system, add more functionality to my quest manager, and so much more!
What Happened?
I did get my induction terminal updated. I added a quick check to make sure the player had a specific quest assigned before allowing them to interact. That's all well and good, should help prevent possible errors in the future (Don't want the player doing things out of order). Testing shows that everything works fine there.
Once that was done it was time for me to dive into actually displaying quest objectives to the player. First, I needed to add a new function to my quest manager (In the end I didn't actually use it though. . . ) to return an array of all currently active quests. I thought maybe I'd keep my quest objective display updated using this function, but instead I'm working a different way. I then copied the functionality I built previously for my notification system and rewrote it to work for my question objectives.
The main differences are the lack of an icon and the fact that the quest objectives don't disappear after a time. They just sit there until they're told to go away. I added a few new signals to my quest manager for my hud prefab to listen to for this. Now when a quest is assigned, unassigned, or completed a signal is emitted that my HUD prefab reacts to. There were a number of little issues I had to correct as I was working through it.
But there was one big issue that Gemini pointed out to me. For some reason I was referencing a non-existent function in my data manager. I was trying to get quest data, but the function I called wasn't the one that actually existed. I was able to make a quick update and correct that before it was even an issue.
I did get a little creative when it comes to managing my quest objective display though. Each instance is named for the quest_id it represents. This way I can remove a single quest objective from displaying without having to do a bunch of extra work. So far everything seems to be working just fine!
What's Next?
Even now, as I'm writing up my dev log for the day, I'm finding and fixing some issues in my code. Well, not issue exactly, just not the best way of doing what I'm doing. But next comes all the rest of the stuff I set out to do today that I didn't accomplish. Like the actual quest completion stuff, and the quest-related stuff in my dialogue system. Today's work was an important step in the game though! Now I can see the quests I have to complete. Next up, gotta be able to complete it!
Xenodochium
The future is what you make of it!
Status | In development |
Author | Munchmo |
Genre | Role Playing |
Tags | 2D, Cozy, Godot, Indie, Life Simulation, Pixel Art, Sci-fi, Singleplayer |
Languages | English |
More posts
- Lazy Dev: Day Off?19 hours ago
- Dialogue System: Quests1 day ago
- Induction Terminal: Raycast Refit3 days ago
- Induction Terminal: What's in a Name?4 days ago
- Now Hiring?5 days ago
- Documentation: Is Everything6 days ago
- Housekeeping: Placeholders7 days ago
- Respawning: Transition Fix8 days ago
- BANG: YOU'RE DEAD!9 days ago
Leave a comment
Log in with itch.io to leave a comment.