Submissions by Gilberto Moreno tagged bugfix

Some bug fixing, refactoring, and some rest and healing for today!

Last night I had a migraine and it kinda messed with my sleep schedule and cascaded into lower productivity today.

Got some proper rest and when I finally got to work I did actually manage to get some proper progress done for the day!

Preamble to today's task ✅!

The previous version of the game had walls and enclosed rooms and as such it was impossible for a projectile to never return to the pool or so i thought.

As it turns out

When I reload the scene any projectile from player or enemies still in the world would become untethered to the global pooling system of projectiles which is a big nono. I was creating memory leaks!

What got fixed today:

  • Projectile memory leak squashed - projectiles now properly return to pools when scenes reload instead of becoming ghost references
  • Added Lifetime.cs component - automatic cleanup system for projectiles with configurable duration (10s default)
  • Fixed pool initialization order - moved ProjectilePoolsManager to Start() so dependencies actually work
  • Enhanced weapon system while I was in there - better frame timing, charged shot handling, visual feedback improvements
  • Cleaned up audio system lifecycle and added new ricochet hit sounds

The reality of the work:

Started as what I thought was a simple 3-effort bug fix but ended up touching like 6 different interconnected systems. Classic case of "oh while I'm here let me also fix this other thing" 🤔

About 4-5 hours total (curse you tension headache), but totally worth it for proper memory management. No more projectile ghosts floating around when I reload scenes!

Nearly ready for more playtesting without worrying about mysterious null refs 👻!

Productive day but not productive enough!

Stuff that gone done today!

  • Resolve more animation issues
  • Created a new a scriptable object to keep all the alive actors and remove them when Relevant
  • Modified the player actor so that it adds itself to that list at the correct time
  • Created and used specific event channels for each type of actor, tried using a parent class for both the actors with events but realized quickly that doing that was overgeneralizing the logic
  • Created and then split the kill box that managed actors into the said list and was capable of checking only those actors with respect to a Y bound instead of using trigger entry or a bound check its fine for this case since we're on a plane if i need more specific things i can worry about that later 🤔
  • Split the kill box script into two parts for SRP compliance
    • Bounds-KillBox
    • AliveActorsManager
  • Drew up some plans to create authorable logic for these lists via decoupling using the enemyKilledEvents I could create some sort of dynamic authorable rules that checks for what actor died compare it against arbitrary rule sets that change and that way i could create a simple quest system!
  • Reorganized a bunch of files stuff from the entire project to keep things as tidy as possible
  • Removed old prototype of old iteration stuff from the Giant actor
    • Removed grass spawner for old iteration
    • disconnected events that were no longer being used
    • commented out most stuff to improve even a ms of processing when reloading domain

created test bed for resolving animation issues on all the characters, tweaked and balanced health damage, hitboxes speed. quickly and brainstormed next steps!

only managed to do one task related to my game, however did manage to improve my notetaking, adopted iso format for daily note taking , modified all obsidian plugins to work with that and even started using timewarrior to track tasks as well and plan out some rust cli app to automate tracking things as a redundancy within timewarrior