사용 방법
- 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
- 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
- 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/ewrogers/sgdk-skills --skill sgdk-rpg시작 전 확인
- 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
- 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.
SGDK RPG
Build the game's rules as ordinary C, then connect them to SGDK's display, input, audio and storage services. SGDK has no built-in party, battle or item API. Preserve the project's architecture and chosen combat design.
Start with the rules that matter
Establish party size, battle participants, targeting, action costs, turn/time policy, progression and what defeat restores. Turn-based, active-time and action RPGs need different clocks and interruption rules; do not turn one Lab's model into a requirement for every RPG. Match the project's setting, artwork, music and pacing. The example's coastal fantasy is illustrative.
Choose one complete loop to prove: prepare a party, enter an encounter, commit an action, resolve its effects, apply the outcome once, then resume exploration. Keep those rules independent of rendering where useful. Do not introduce a universal game framework to demonstrate a small combat system.
Use the relevant reference
- Party and combat: immutable definitions,
derived stats, inventory transactions, targeting, turn order, status duration, seeded randomness, rewards and defeat recovery.
- SGDK integration: region-aware presentation,
readable targeting, palette/VRAM/DMA budgets, sound ownership and checkpoints.
- Adventure Lab: a standalone three-keeper RPG
with exploration, equipment, consumables, three encounters and a boss.
Other installed skills are optional: sgdk-ui for shared menu/text foundations, sgdk-dialogue for conversations, sgdk-levels for streamed exploration, sgdk-ai for roaming enemies, sgdk-save for storage formats, and sgdk-performance for measured bottlenecks. The Lab builds on its own.
Keep the important contracts visible
- Keep definitions in ROM and mutable party/battle state bounded in RAM. Choose
capacities for this game's content and report exhaustion; a console budget does not mandate a particular party size, level cap or battle formation.
- Derive equipment stats from base definitions and equipped IDs. Avoid repeatedly
adding/removing bonuses from already-modified values.
- Validate the actor, target, item stock and MP before changing state or RNG.
A rejected action must not consume resources or take a turn.
- Specify when order is sampled, which dead/removed participants are skipped,
and when status durations decrease. Distinguish turns from display frames.
- Separate committing an action from presenting its result. Message pacing,
target markers and animation must not apply damage or rewards again.
- Save semantic IDs and explicit bytes, not pointers, C struct images, sprite
handles or transient battle effects. Validate a complete record before replacing the current campaign.
Use ewrogers/sgdk:latest, pulled before validation. Verify unfamiliar APIs in its actual headers and source; the references were checked with SGDK 2.11 and GCC 16.2.0. Treat the Lab's functions as game code, not SGDK API names.
Prove the loop
Test missing MP/stock, invalid and fallen targets, healing caps, revival, equipment changes, status expiry, skipped turns, deterministic ties/RNG, zero-survivor defeat and exactly-once rewards. Check cancellation and message acknowledgment without replaying an action. Exercise corrupt/interrupted checkpoint recovery separately from battle rules.
Compile the actual adapters/resources in release and debug. Execute portable rules on host and base M68000 when possible. Then playtest complete encounters: targets should be distinct, attack messages readable, UI unobscured, and audio and pause consistent. Host tests or ROM compilation cannot establish frame-time headroom, VDP timing, SRAM retention or artistic quality on physical hardware.




