PC Demo is Finished!


The game is finally done! I really flip-flopped a lot, wondering if I should release such an awkward game, but everyone I talked to about it was so encouraging that I finally decided to drop it here after all! I can't wait to never look at this thing again!

Anyways, this game is my second finished project in GoDot but the first one I've shared. This game is much longer and is more complicated programming-wise so my expected development time of 2 months became much closer to 3 months. I really learned a lot from how to code different mechanics to organizing my scene trees! As always, it was really exciting to have scenes and gameplay play out just how I imagined. I also included all the paper brainstorming I did for each level but left out the dialogue scripts and to-do asset lists for them hehe.

Since each of the levels and what I learned from them are different from each other, I'll organize the rest of this post by the order in which I worked on them! I also won't comment too much on the stories of the levels as their silliness really speak for themselves haha.

Haunted House:

My first GoDot game was also a point-and-click so this level was a refresh on familiar GoDot nodes like Area2Ds and AudioStreamPlayers. It was also my first time using the Dialogue Manager plugin by Nathan Hoad though I don't use it again in later levels. 

Definitely the most complicated part of this level was figuring out the Button nodes for "tidying up" and "taking out (items)". By default, GoDot make buttons a one-time press which set off a singular action. I became familiar with this when setting up the game's main menu so I could move onto learning how to create 'states' using buttons.  In this case, I wanted the player to be able to enter a 'tidy', 'take out',  or 'default' state which would affect dialogue on the locations they clicked on. This was also key for progressing the game!

And unfortunately, I am aware that there is an awkwardness to this level which is1)  sometimes when you finish dialogue, you can suddenly start a new one seemingly at random since your mouse is above a clickable area and 2) the mouse does not quite hover over areas very well and it can be awkward to click them. I didn't realize these things until almost the end of development and the current state of the demo is thanks to attempting to fix the awkwardness. It was certainly much worse haha...

Desserts (Wonderland):

This was the worst level to work on thanks to me deciding I wanted to make two new things from scratch: inventory and a dialogue 'system'.  I really don't know how I did it. I don't want to remember.

When I created the inventory system, I was following Kilo Galaxia's Point and Click Adventure Game Tutorial on Youtube. It's from an old version of GoDot but was still super helpful in understanding how inventories work via code and visual nodes! The inventory that exists in this level is based off his code though I definitely edited it a lot for my own use and for GoDot 4.0 haha. Also there were a lot of little bugs with this inventory that I managed to hammer out over time except for one or two. For example, you might notice that the inventory does not save the items in the order you received them! That's because I didn't know how to haha... at this point, I wasn't familiar enough with arrays and the development time for this one level had ballooned far past what I could allow. So in the end, I bruteforced 'remembering' what items the player had found via variables and just adding them in every new scene.

Speaking of ballooning development time, I said before that I created a dialogue 'system' from scratch.  Well, I didn't really. I have a very bad habit of not researching the best method of doing something online since I was taught not to over-rely on the internet as a kid. And now I get made fun of or have a difficult time for not googling things first... oh, the irony! In other words, I had no idea dictionaries existed and how helpful they are for storing and showing dialogue at this point! I simply used a shitload of variables and manually changed the text every time new dialogue was meant to be shown. This level was a NIGHTMARE to playtest! And I'm very sure that both of these 'systems' have bugs I haven't found myself yet...

This is the level I never want to think about again.

Tea Party:

For this level, I dedicated my time to doing two things: learning how dictionaries work and how to accept text input from the player. Happily enough, this was the simplest and fastest level to develop too!

Sensing that there is NO WAY any developer could remain sane with the dialogue system I had made, I finally looked up how to code one. Not only was I able to crunch the code down into a single function but I could also have animations and character portraits as I wanted! It was so useful I instantly felt my desire to walk into the ocean die out when the first playtest worked so smoothly.

I also learned a new node called LineEdit that was simple for receiving player input and then testing their answers for the level's riddles! Not much to say about this one as it also didn't give me much trouble at all. But I will say the node is still a bit awkward for me to present aesthetically. I hope in the future I can work that out better.

Carnival:

Even though this level has the most unique mechanics and content, thanks to all the learning about code, nodes, and dictionaries, it was also surprisingly quick and easy to put together! Knowing how dictionaries work and therefore arrays helped me 'save' the burger that players make and check it against the correct order.  It even let me let the player build a burger as high as they wanted! I did also learn some new stuff like the 'look_at' code that helps turn the lockpicks for the first minigame and how to manually code scale changes for the dust spots on the fourth mechanic! And well, I definitely need to practice how to move sprites across the screen as I couldn't quite figure out how to do that the way I wanted for the third mechanic...

Before ending this post, there are a few things all the levels share that I'd like to put here! Of course a lot of that is BUGS! ...Well, sort of bugs.

Most of the awkwardness in this demo is thanks to learning how to make unique mouse cursors for every level! This was really fun but was pretty annoying because I didn't realize for a while that I had to align the image with well... where the pointer is on the default cursor. After that, for the most part, the unique cursors work like a charm!

I also didn't learn how to optimize scene tree set-up so for the first two levels, the BGM goes back to the start whenever the player enters a new area. Theoretically, I could have saved the timestamp but I was... lazy. I only realized this problem after I'd already playtested and finished the demo haha. Tea Party is just one scene so there was no problem there and I just happened to have learned about it for the Carnival level!

Finally, why is this game a demo? 

It's because I'd like to revisit this project as a larger game with lots of individual levels! Though I have a lot more to learn, my ultimate goal is to make a 'point and click editor' in which other people can create and share their own point and click games too. For now, I'm focusing on creating a version of this game that is cooperative with even more levels but that won't be for a long while haha.

Thank you for playing PC Demo!

Get Point and Click Demo

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.