Gamejam Devlog - Timedust v0.0.10 - Infos Panels

Hello Retro Devs!

Something that is very lacking to Moonie is the absence of tutorial. Tutorial are important as they can serve as intro to the game, and helps the player getting accustomated to your controls.
So rather than jump in directly with level buildings, I choose to take the time (because Time is Key :p )to introduce the mechanics through a series of tutorial levels.

Timedust text boxes

Simple but useful UI

I didn't have time to implement a more complex messaging system and display, so again I had to keep it short and simple.

It was also the occasion to experiment and learn about something I really don't know anything about : textboxes.
A quick Google search led me to Jon Topielski video's about textboxes. It's a great and straight to the point video, and it helped me a lot learning the fundamentals.
As the jam was still going on, I choose to limit myself to a simple textbox with a single sentence, displayed when the player stands near a panel.

Choosing the visual

This wasn't very difficult, as O_lobster's art pack contains a wooden sign, perfect for writing stuff on it. So this wooden sign will be the dedicated asset to give the player informations on how to play the game.

Timedust sign visual

Hello, I am WoodenSign.png

The Mechanics

So, I just used an Aread2D which would detect the player. The Aread2D_entered signal triggers the textbox to appear. It's pretty straightforward and I choose a size large enough to contain the text I'd need. I also discovered the Panel Node for the first time, which is honestly  awesome. You can quickly choose a colored box and an outline if you want any, as well as the outlie thickness.
This alone blew my mind already as I was using two overlayed ColorRectangle node so far to achieve the same effect.

Timedust panel and ui nodes

Let'sexplore the Panel Node

The Area2D signals are just triggering the Panel's visible property, but I think it'd be as simple to trigger a small scale animation for a nice visual effect (which I didn't do for schedule reasons )

Timedust - handling textboxes visibility

Handling textboxes visibility

Now, I had to think a little, as I wanted to use that WoodenSign scene as an "empty" prop which I would fill in with text depending on the situation. I could have made One different sign each time I'd need text to display, but honestly this doesn't seem like the more practical way. Editing text would imply to break the sign instances then it would be super long and tedious  to go look for each sign individually.

So here again, autoloaded singletons saved the day! An the solution is pretty simple actually.
A little bit of research and I had the idea to use the name of the level as an identifier for a variable on the singleton. This variable would then serves as a condition to send back to the WoodenSign what text to display.

As for the level's name, I used a string variable named levelID.

Timedust level ID system

I used a custom level ID to define which text a sign would display

Timedust displaying text accordingly to level ID

The singleton obj_controllers sends the text instructions to the sign instance

This discovery really made me happy, and I took advantage of that newly found system to put two little messages for the players, the first one breaks the fourth wall be mentionning I couldn't do more for the jam and the last one is a direct Thank You for playing.
I really mean it, to those who played that protype until the end, I really want to thank you!

Get Timedust - Jam Edition

Download NowName your own price

Leave a comment

Log in with to leave a comment.