game-patterns
Zero-GC game patterns with JEngine using modern C# 9+. Triggers on: game loop, spawn system, wave spawner, cooldown, ability timer, damage over time, DoT, health regen, bullet pool, enemy pool, object pool pattern, projectile system, combat system, zero allocation, no GC,
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Zero-GC game patterns with JEngine using modern C# 9+. Triggers on: game loop, spawn system, wave spawner, cooldown, ability timer, damage over time, DoT, health regen, bullet pool, enemy pool, object pool pattern, projectile system, combat system, zero allocation, no GC, performance optimization
How to use
Zainstaluj skill game-patterns z repozytorium JEngine jako wtyczkę Claude'a lub dodaj do swojego projektu C# 9+.
Utwórz klasy stanu (state classes) dla swoich systemów gry — na przykład AbilityState dla zdolności, DoTState dla efektów obrażeń w czasie, TimerState dla timerów. Każda klasa powinna być typem referencyjnym (sealed class) i zawierać metodę Reset() do ponownego użytku z puli obiektów.
Zainicjalizuj system zdolności lub timer, tworząc instancję klasy stanu z parametrami (np. Cooldown = 2f). Przechowuj tę instancję jako pole prywatne w swoim systemie.
Wywołaj asynchroniczną akcję za pomocą JAction.Create() i Delay(), przekazując czas cooldownu lub czasu trwania efektu. Zawsze używaj ExecuteAsync() zamiast bloków synchronicznych, aby uniknąć alokacji pamięci.
Pule obiekty stanu — zamiast tworzyć nowe instancje, pobieraj je z JObjectPool i resetuj poprzez metodę Reset(). Dzięki temu unikasz garbage collection'u nawet w długotrwałych grach.
Testuj wydajność profilerem — upewnij się, że Twoja gra nie generuje śmieci w głównej pętli gry (game loop) ani podczas spawnu wrogów, pocisków czy efektów.