Game
Hensen Hopper
7 months ago

So I've spent an hour and a half accomplishing ultimately nothing today so far. I love programming, it's a life-long special interest of mine, but I also HATE it SO MUCH sometimes! (warning: this is a rant)


Since both the beetle's sheild and the beetle-shell equipped sprite over the player both dynamically update according to the value of an integer (the beetle's health and the damageAbsorption count on the Player respectively), I am TRYING to create a script that would read an arbitrary integer field's value and set the sprite of a sprite renderer component on the same game object to a sprite mapped to that integer value in a list of pre-defined pairings that I can modify from the inspector (basically a dictionary except as an array of structs with an integer and Sprite field because C# dictionaries, I discovered, cannot be seen from the inspector window, just the cherry on top of the mountain of things about this endeavor that are royally pissing me off)

Sounds fairly simple, right?

WRONG!

It turns out, this is, to an asinine, absurd, downright hilarious degree, WAY more convoluted to do this conceptually simple action than any reasonable human being would ever idly think about even fever-dreaming to be the case! The obstacle I'm running into is getting the "arbitrary integer field" part of this to actually work. YES, you CAN use system.reflection BUT then performance may take a hit because I need to regularly check the value in order to do this and I won't allow THAT to happen because of course I'm too damn stubborn for my own good and need my game to run well in order to be satisfied with my work as the developer. Stupid fricking...



1 comment

Loading...

Next up

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)

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.

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!

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

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!

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!

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!

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

I've been working on some proper visual art for the beetle shell when it's equipped! I've also gone ahead and drawn a break animation for it. All I need to do now is actually set all of this up in Unity which I'll probably do on Tuesday.