ewrogers/megadev-skills

megadev-graphics

Render scrolling planes, parallax, sprites, animation frames and palette effects in Megadev Sega CD/Mega CD projects.

소스 보기

사용 방법

  1. 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
  2. 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
  3. 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/ewrogers/megadev-skills --skill megadev-graphics

시작 전 확인

  • 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
  • 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

Megadev graphics

Work with the game's existing renderer, clock and art direction. Megadev exposes VDP registers and BIOS services; it does not provide SGDK's sprite engine, ResComp structures or DMA queue policy. Verify the selected toolchain's headers and calling conventions before using an API. The Mega CD still displays through the base Mega Drive VDP.

Plan what is resident

Identify the configured resolution, table addresses, pattern ranges, palette lines and upload owner before adding graphics. Read layout and budgets when placing art, setting sprite limits or interpreting tile counts. Validate the actual settings rather than assuming the Lab's map is universal.

Keep conversion in the asset pipeline. Graphics consumes prepared patterns, maps, palettes and frame metadata with an agreed layout. A larger sprite or image is not automatically a single hardware sprite, and sprite frame patterns have a different order from a background map. The Lab includes prepared data and its own validator; installing another skill is not required to build it.

Render through one frame owner

Use frame submission for foreground/interrupt responsibilities, safe publication, BIOS integration and source lifetimes. Prepare immutable frame data outside the interrupt; submit only bounded work during VBlank. Do not load files, decompress, wait or run game simulation in that callback. Disabling interrupts alone does not turn active display into VBlank.

Use scrolling and sprites for camera transforms, plane periods, Window HUD, priority and animation timing. Cull before submission, admit important actors first and handle rejected sprites explicitly. Animation is frame selection over the game's clock; it does not require a separate timer per object.

Use palette effects for palette ownership, fades, cycling and flash effects. Preserve the base palette, protect UI colors and commit changes through the same frame owner. Dithering is an asset choice to inspect at native size, not a requirement for every background. Shadow/highlight is a separate optional rendering contract, not extra palette entries that appear automatically.

Validate the integration

Graphics Lab demonstrates a scrolling harbor with two parallax planes, animated/flipped airships, foreground occlusion, a fixed HUD and palette effects. Its art, controls and world are illustrative. Adapt the smallest useful technique to the user's game.

Test clipping and boundary cases, links and pattern references, separate scanline entry/pixel limits, palette isolation, frame timing and bounded uploads. The supplied tests execute the actual compiled 68000 model and capture publisher writes; that is not a VDP or timing simulation. Compare native ARM64/AMD64 target payloads, inspect rendering in ares and keep physical-console/BIOS/timing checks explicit.

Project startup belongs to megadev-project, preparation to megadev-assets, budgets to megadev-planning and hardware facts to megadev-hardware. This skill owns display integration; it should not introduce a competing scene system, allocator, input driver, animation event system or streaming scheduler.

관련 작업

같은 저장소의 Skills

더 많은 Skills

모든 Skills