Aster Pebble Devlog #01 - Dialogue & Inventory

Welcome to our second devlog!
We'll be continuing with some more important setup for our open source pixel art game, Aster Pebble and the Case of Bad Bureaucracy.
Our current work is focused on trying to get to a playable slice of our point and click game.
So today, we'll talk about some additional work on our dialogue system, (both for discussions with characters, but also for investigating things), inventory (as collecting items to use is a big part of point and clicks), and knowledge (as we wanted to have that the character could learn something, and have that affect your dialogue options). We also have a first pass at a "toast" like system, for pop up messages.
So let's dive right in.
Dialogue System
The dialogue system is likely going to be the most complex system in our point and click.

We started by setting up custom types for Messages, Options, and Actions. We thought a message could point to the correct follow up message, contain the dialogue options to display, and any actions that needed triggered. We quickly realized a Conversation type to organize and order messages was necessary as well to smooth this out.

It's still a bit of a rough system, and will likely be something we revisit a few times going forward, but it works for now.
So we continued, and updated our messages to support a given speaker.


We updated our dialogue panel to show the speaker. This also meant learning how to properly use the rich text labels in Godot, with pushing and popping of tags, rather than doing a bunch of string concatenations to include all the formatting in the string.
RichTextLabel Godot Docs: https://docs.godotengine.org/en/stable/tutorials/ui/bbcode_in_richtextlabel.html#using-push-tag-and-pop-functions-instead-of-bbcode
We also updated the dialogue to have the speakers visually represented on each side of the dialogue, though this isn't fully hooked up yet.

When options are presented, we moved them to be up between the speakers to give more room to both them and the current message. And we added a back panel to help everything stand out better and be clearer that you can't interact with the game at the moment.
On the topic of options, we wanted some options to only appear in certain circumstances, such as when you had a certain item, or knew some specific information. So we added a new Requirement type, and updated it so options can optionally contain a list of these requirements, and we can confirm all requirements are met before showing a given option.
We may look to expand this in the future, to support things like a negative requirement (e.g. only show the option when a requirement isn't met), but this works for now.


Inventory System
To facilitate the requirements for dialogue options, we needed to take a quick initial pass at our inventory and knowledge systems.

For the inventory, we made a basic inventory script and hooked it up to our top UI, and swapped out our text buttons in the top right for placeholder icons as well.
When we click items from the inventory, we have a canvas element that will follow our cursor around with the given texture.
We added a simple Selection system to facilitate this, and used it to prove out using an item on another item for a combination, or using it on something in the scene. Don't mind our test combination, it's completely normal to combine an armchair and a vase.
We also added a test of successfully using an item. This meant another minor update to our conversation system.
We'd need to support both opening to a specific message in a conversation, which seems like it could come in handy in the future regardless, and conversations owning a list of items that the entity will interact with.
And to finish off the inventory for now, we wanted the collapsible UI to feel a bit more like opening a bag, so we made some bag icons and switched to a horizontal unfurling of the bag.
Knowledge System
As for knowledge, we just made a basic tracker where we could track when Aster "learned" something, and give that knowledge a name or description. We also set up a basic proof of concept for learning something and getting a new dialogue option when you have that knowledge.
Toast System
You'll notice when you get knowledge, or an item, a new "toast" notification appears, letting you know.
We plan to expand this in the future for things like in-game achievements, but for now it's helpful for debugging if nothing else.
We also set up an event and related code so we can remove interactables from the world when needed, such as when we pick up this armchair (though we suspect Aster won't really be an armchair thief)
Accessibility
In our last devlog, we mentioned that one reason we went with a dynamic solution for the outline colour is that it would allow users to set a colour that works best for them. So we took our colour picker from a previous open source project of ours, and hooked that up to update our outline colour, and now we can have any outline colour we'd like!
That's it for now!
Another satisfying chunk of gamedev down.
Is there anything from our devlog you'd like us to take a deeper dive on?
Or have you played any fun games lately?
Let us know in the comments!
Until next time, keep creating good.
---
Want early access to some of our videos, devlogs, in-development builds, and other content? Consider joining our Patreon!
As this is a larger project, you will be able to purchase the game to get it pre-built and help support us and future open source work, or directly grab the source code and assets following their open source licenses.
As always, the game is open source!
You can find it on our Codeberg.
💜 Love open source projects?
Here are ways you can support us making them! https://wanderingdoorgames.obviousgain.ca/supportUs
Aster Pebble and the Case of Bad Bureaucracy
| Status | In development |
| Author | Wandering Door Games |
| Genre | Adventure |
| Tags | Godot, Point & Click, Singleplayer |
| Languages | English |
| Accessibility | Configurable controls |
More posts
- Bureau Lobby Time-lapse12 days ago
- Initial Art Test15 days ago
- Aster Pebble - Video Devlog #0021 days ago
- Aster Pebble - Devlog 0023 days ago
- Separating Game and UI Resolution29 days ago
Leave a comment
Log in with itch.io to leave a comment.