low profile at the moment

RSS My Blogs

decapriated-shake it baby

it has been intense on "solely focusing on combat asepect of my project". today, i am sick at the moment, and i will leave one of old note on "technical aspect". also i am sick, thus i cannot comment much

along with approaches... like Custom Resource, static method, so on... I can come like this(not overhaul)
-when games starts, ActorAttributes, ActorAction(technique) init from reading Custom Resource which hold read only value
-ActorAttributes are in ActorAttibutesComponent from each actor. they carry local few local value on certain Attributes like Health. ActorActions are stored in related states (attack, defense, move and so on)
-ActorAction have ActorModifiers. but ActorModifiers do not carry local value. but it carries reference at specific Custom Resource. thus, if it need to do own method with certain value, it gets value from that Custom Resource. or.. i can let Custom Resource inherit some interface like IModifier in some cases.
-instead of calculating total damage/attack speed when attack is initiated, it is calculated already when all these Attributes/Modifiers are set or replaced (runtime) on Actor. thus ActorAction do not carry Attributes/modifiers as local, but as references from Custom Resource. yet, it has Total Damage/Attack Speed as local value.
-from above, if that modifier is conditional like (25% extra punch damage on counterhit), then custom class with that "25% damage multiplier" should be stored in Damage Data.
-Damage Data is stored in AttackHitArea, which inherits from Area2D.
-within overlapping Area2D (when attack happens on counterpart actor), counterpart actor's ActorAreaHitArea will get Damage Data from AttackHitArea.
-from Damage Data, counterpart actor do necessary HurtState check along with damage check, especially with conditional Damage.
Originally, i planned initially as modifiers via reading from Custom Resource and creating own local value inside each modifiers. but... Custom Resource is already stored in disk like Unity's Scriptable Object, i do not see a point on creating another value. at same time, these value are only read only as well, which only stack/manuplate other values, not themselves. but those modifiers with all kind of interafaces, still serve as functionality. what do you think? beside, Custom Resource function similarly as static class already and i already stored those's node paths on another static class.

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account:

X