Game
Hensen Hopper

12 hours ago

I made some updates to the hints system! Now it reads from the message hub to determine when to show hints and the hint texts now come from the lang system I wrote yesterday. This simplified my the hints handling algorithm A LOT from what it used to be!


Before I had a bunch of serialized strings with the text for each hint and it had been reading from multiple otherwise irrelevant scripts in order to know when to show each one. With the addition I made yesterday of the messages and lang systems, it dawned on me that I had given myself a way to simplify the hints system A LOT!

image.png

For starters, I wrote this struct so I can add and modify hints from the inspector window. My idea when writing this was that the handler algorithm would display the definition of langEntryName in the user's language in the hint box in the HUD whenever a message matching triggerMessage is recieved by the message hub. In order to stop hints from showing repeatedly, there's also a boolean that will be updated to true when the hint has been shown.

Side note: One of my favorite aspects of the C# language is the ability to use the get property for the purpose of writing public accessor fields in particular. They're a lot more concise to my brain than having to write "GetTriggerMessage()" or "GetShown()" in my code.

image.png

My favorite part is how the HintsHandler class itself is hilariously shorter and more concise than it was. The algorithm in the Update method loops through each hint entry (ignoring it if it has been shown) and reads through the messages recieved by the message hub to check for the trigger message, displaying the hint's text in the hint box if the message is found. In order to show the core gameplay mechanics hint immediately, I just send that message on start, simple as that.

The only drawback here is the small delay that comes with the way my message system has a 1 frame delay between when a message is sent and when it's been recieved (you can see this post I made yesterday if you're curious as to why this occurs). It's not particularly noticeable unless you're running at a low framerate, though.



0 comments

Loading...

Next up

I wrote a modular language system! I can now add new entries with definitions in as many languages as I please and all from the inspector window in the Unity editor! This allows me to potentially have Hensen Hopper translated to other languages easily!

The beetle shell is now fully VISUALLY implemented! Next thing on my list is a unique sound for Hensen equipping it.

Here's a short demonstration of the beetle shell power-up in-action! It's not very obvious what it does at the moment because I still need to work on a lot of the effects for it, but the functionality is there if you pay attention to the health bar!

Doki Doki Literature Club is celebrating Monika's birthday and the 8th anniversary of DDLC with exclusive stickers, avatar frames and backgrounds on Game Jolt! 

Head over to the shop to collect yours 👉 https://gamejolt.com/#shop

Oh yeah, also, I updated that algorithm for dash handling I shared yesterday so I can set the dash duration via the inspector window!

Dive into the cozy post-apocalyptic open world of Critter Cove!

Gentleman Rat Studios (@GR-Rob ) describe it as “a little bit Animal Crossing, a little bit Stardew Valley. Maybe even a little bit Windwaker, too."

Wishlist the game: https://bit.ly/CritterCove

I am impressed by my past self right now. The algorithm behind the unimplemented dashing mechanic (that I wrote like a year ago) uses a sine wave to smoothly increase/decrease Hensen's movement speed for a dash. That is so clever! I actually wrote this!?

Okay, so I've gotten the functionality for the beetle shell render over the player working! (using the first 3 frames from the beetle shell collect animation as placeholder sprites, these ARE NOT the final sprites)

Mae Borowski is the main character of Night in the Woods! It's an adventure game that tells the story of her return to her hometown of Possum Springs. She was confirmed as canonically pan in a social media post by the game's creator Scott Benson.

I've decided to have the statistics behind the quests in Hensen Hopper be handled as actions reported to the quest manager rather than try to write variables into a whole bunch of scripts solely for quests.