Loading...
7
Game
Hensen Hopper
7 months ago

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)


So I decided to scrap the methodology I had been going with and ranted about in my previous post. Instead of trying to have a script read an arbitrary integer and set the sprite of a SpriteRenderer component according to it's value, I have put together a relatively simple script that still sets the sprite of a SpriteRenderer according to an integer key value, however, it doesn't itself know what that key should be, another script has to tell it.

image.png

From here I simply attached this script to the beetle's sheild sprite renderer and the beetle shell overlay sprite renderer on the Player and set the sprite pairings via the inspector window.

image.png

This way, for the beetle shell graphical render, I can simply call SetSprite from the PlayerEffectsHandler's update method and pass the player's damage absorptions count in as Key.

image.png

For the beetle's sheild, I wrote a BeetleEffectsHandler script that extends the EntityEffectsHandler I was using before to handle the beetle's shield effects. Before this, I had written an EntityHealthEvent struct in the EntityEffectsHandler that invoked UnityEvents when the entity's health hit a certain value solely to handle the shield's damage states and the effects for when it breaks which felt gratuitous to me since 3 of the four events did ultimately the exact same thing with slight variations and this property was not used by any other entity.

image.png

A common piece of advise that's given to programmers who are just starting out is any time you find yourself writing structurally identical code repeatedly only with differences in the values being used, try to turn it into a function/method instead. I believe the same applies in this case only with UnityEvents (which, when all is said and done, are effectively method calls themselves). That being said I also have this personal philosophy that it's best to avoid using UnityEvents if you can because they can make narrowing down the source of bugs quite difficult sometimes so I usually seek solutions that do not incorporate them so you can take this paragrap with a grain of salt.



0 comments

Loading...

Next up

This is a much larger (in terms of resolution) video than I've shared here before!!!

This is a full round of Hensen Hopper in it's current state! I mainly recorded this to showcase the new wave difficulty curve algorithm I've been working on!

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

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!?

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

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!

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 been working on the sprite for the beetle shell power-up drop! I'm thinking when you collect this one, it will kind of poof away similarly to the enemies when they're defeated and play an "equip" sound.

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

The Knightling launches on August 28! Wishlist it now so you don't miss out: https://bit.ly/KnightlingSteam

To celebrate the game's impending release, we've added The Knightling Pack and The Knightling Community Pack back to the Shop!

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!