Toolverse
All skills

game-patterns

by JasonXuDeveloper

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

Quick info

Category
Backend
Views
7

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

  1. Zainstaluj skill game-patterns z repozytorium JEngine jako wtyczkę Claude'a lub dodaj do swojego projektu C# 9+.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

Related skills