dreammelter / NVD23

Example Godot project for the Speedrun Workshop
0 stars 0 forks source link

Hits and Stats: base system #7

Closed dreammelter closed 10 months ago

dreammelter commented 10 months ago

Implement the base of the Hitbox and Stat Gauge components. "Medium" size as I think I might have to do some extra research or fiddling.

Here's what the hitbox should do:

A stat gauge should:

dreammelter commented 10 months ago

Since CharacterBody2D is a physical node, it does detect collisions... but might have to sort thru detailed info of all the recent collisions for sliding characters. (At which point: just adding an area seems pretty straight forward...)

I'll play with some methods for Character Body first.

dreammelter commented 10 months ago

Dictionaries don't export to the editor like I thought they would... nor do they update from a resource like I thought, either.... which ruins the simplest approach to this. It's gonna take more than the @export annotation to make it adjustable, and that'd blow it out of proportion for class.

I need to see if there are any other quirks I should be aware of when it comes to dictionaries in Godot.

dreammelter commented 10 months ago

OK so maybe the Stats Guage I was thinking of is solely a UI thing. All character entities/nodes can technically manage their own collection of stats as it sees fit and tell its listeners what's up... gonna move those tasks into a different issue. (Either add it to an existing step or make a new one.) → #13

Let's not over-engineer this 👍

A stat property on the character will technically:

dreammelter commented 10 months ago

Should probably note the hitbox's parent would do all the reporting to sibling components cuz it already knows who they are/has access... the hitbox just needs to send the info it gathers to it. (via the "on enter" signals)

dreammelter commented 10 months ago

Everything was fine until the Player stopped detecting collisions with the enemies... might have to switch back to a Rigid Body?

31

dreammelter commented 10 months ago

Since we have a Hitbox, I'm going to use the Hitbox. The player character is still set to log collisions from move_and_slide so we'll see if anything else fails to detect.

Rigid bodies would be fun but frankly... physics has drained me enough again.