ewrogers/megadev-skills

megadev-effects

Build bounded particles, explosions, trails, weather and screen shake in Megadev Sega CD games, with effect priorities, resident art and measured rendering budgets.

Zobacz źródło

Jak używać

  1. Skopiuj polecenie instalacji i sprawdź źródła przed instalacją we własnym środowisku agenta.
  2. W oryginale sprawdź wymagane narzędzia, dane dostępowe i obsługiwane środowiska.
  3. Opisz dane wejściowe i oczekiwany rezultat; porównaj wynik ze źródłami.
npx skills add https://github.com/ewrogers/megadev-skills --skill megadev-effects

Przed rozpoczęciem

  • Instalacja nie obejmuje subskrypcji modelu, limitu API ani uprawnień do plików.
  • Gwiazdki i instalacje pokazują aktywność, a nie niezależny test jakości lub bezpieczeństwa.
Oryginalny dokument Skill

Treść z repozytorium z zachowaniem nagłówków, przykładów, kodu, tabel, linków i obrazów.

Megadev effects

Effects add feedback to the game's existing mechanics and art direction. Adapt these techniques to the user's brief; the Lab's lantern, weather, colors, sound and controls are illustrative.

deterministic timing, burst admission, pause and decorative degradation.

SAT/scanline budgets, presentation-only shake and one VBlank publisher.

  • Read Validation for behavior tests, original-68000

execution, ARM64/AMD64 comparison, regional checks and measurement limits.

Use ewrogers/megadev:latest and inspect the selected image's source. Megadev exposes VDP and BIOS facilities; this skill's fx_* functions are application code, not a particle engine supplied by the SDK. Do not introduce SGDK's sprite, DMA queue, resource compiler or task APIs as Megadev calls.

Essential choices:

  • Reserve room for gameplay and important impacts before decorative weather.

Bound particles, emission per update, simulation catch-up, submitted sprites, per-scanline work and bytes published. A finite pool alone is not a frame budget.

  • Keep transient effects allocation-free when a fixed pool fits. Define the

full-pool behavior explicitly: reject, replace a less important effect, or reduce emission. Never evict gameplay entities to show decoration.

  • Use the game's existing clock and input edge handling. Pause and slow motion

are deliberate policies; do not multiply speeds by the measured render FPS.

  • Keep effect art resident where useful. Animate by choosing existing tiles;

account for remaining VRAM, palette and SAT costs even if no tiles are uploaded.

  • Build an immutable frame snapshot outside interrupts. Submit through the

existing VDP owner, in a measured safe interval. Avoid active-display palette writes and unbounded work in a callback.

  • Apply shake to camera presentation, not simulation positions or collision.

Keep HUD panels stable and restore scroll offsets when the envelope ends.

The standalone Effects Lab demonstrates these choices. scripts/create_project.py creates a fresh project without replacing files. Its separate burst/trail/weather pools and conservative H40 renderer are one policy, not mandatory capacities or an all-purpose sprite scheduler.

Reuse megadev-graphics for renderer integration and palette ownership, megadev-animation for gameplay animation events, megadev-gameplay for game rules, megadev-audio for the sound owner, and megadev-performance for broader profiling. Effects must not install competing VDP, drive, clock or audio owners.

Powiązane zadania

z tego samego repozytorium

Więcej Skills

Wszystkie Skills
ewrogers
Społeczność

megadev-best-practices

Apply Megadev-specific C/assembly, project-structure and integration practices while preserving CPU, interrupt and resource ownership. Use when writing or reviewing Megadev game code, joining existing systems, or fixing cross-system correctness problems; detailed graphics, audio, loading, save and release implementations remain with their own skills.

instalacje
1
GitHub Stars
0
Aktualizacja
20 paź
ewrogers
Społeczność

megadev-combat

Implement attack resolution, directional guards, damage, invulnerability and knockback in Megadev Sega CD games. Use for combat rule ordering, attack-instance hit tracking and bounded projectile handling; animation timing, geometry and enemy decisions remain separate concerns.

instalacje
1
GitHub Stars
0
Aktualizacja
20 paź
ewrogers
Społeczność

megadev-compression

Choose and validate compression for Megadev Sega CD assets, comparing sector-rounded disc size, decode time and RAM, with safe Kosinski decoding and loading/preloading integration.

instalacje
1
GitHub Stars
0
Aktualizacja
20 paź
ewrogers
Społeczność

megadev-graphics

Render scrolling planes, parallax, sprites, animation frames and palette effects in Megadev Sega CD/Mega CD projects. Use for VDP layout, display priority, sprite budgets and frame submission; asset conversion and disc-streaming policy are separate concerns.

instalacje
1
GitHub Stars
0
Aktualizacja
20 paź