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 额度或访问文件的权限。
  • 仓库星数和安装量反映活跃情况,不等于独立质量或安全测试。
仓库原始内容

按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。

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