
ProGearSDK is a modern, open-source game engine software development kit (SDK) designed for the SNK NeoGeo AES (Advanced Entertainment System) and MVS (Multi Video System). Developed and maintained by the developer known as manicakes, the project aims to simplify the complex process of developing software for the legendary 1990s arcade and home console hardware.
Overview and Purpose
The NeoGeo is historically known for its powerful 2D sprite capabilities, but programming for its Motorola 68000 and Zilog Z80 architecture often requires deep low-level knowledge. ProGearSDK acts as an abstraction layer, allowing developers to build games using the C programming language rather than pure Assembly.
The SDK provides a structured framework that handles hardware-specific constraints, such as sprite limits and memory management, while offering modern development conveniences like an asset pipeline and automated build tools.
Core Architecture
The engine is built around three primary abstractions that help developers manage the game world:
- Scenes: Acts as a coordinate-based “infinite canvas” where game objects are placed. It manages the render order (Z-axis) and ensures objects are drawn correctly.
- Actors: These are the visual entities of the game, such as players, enemies, and projectiles. ProGearSDK handles their animations, palettes, and visibility states.
- Cameras: A 320×224 pixel viewport that defines what part of the scene is currently visible to the player. It supports smooth scrolling and tracking.
Technical Features
Despite being categorized as “Alpha Software” by the developer, ProGearSDK includes a robust suite of modules:
- Tilemap System: Integration with the industry-standard Tiled map editor for creating levels with built-in collision detection (solids, platforms, hazards, and ladders).
- Physics: A 2D rigid body simulation and collision module.
- Audio Engine: Support for sound effects (ADPCM-A) and music (ADPCM-B).
- Lighting and Effects: Systems for global lighting (day/night cycles), weather effects, and palette-based color fades.
- UI and Text: Tools for creating sprite-based menus and utilizing the NeoGeo’s “Fix Layer” for text overlays.
Development Environment
The SDK is designed for modern cross-platform development (Linux and macOS). It utilizes the m68k-elf-gcc toolchain for the main CPU and SDCC for the Z80 audio processor. A Python-based asset pipeline automates the conversion of standard image files (like PNGs) into the proprietary formats required by the NeoGeo hardware.
Licensing and Status
ProGearSDK is released under the MIT License, making it free for both hobbyist and potentially commercial use. The developer, manicakes, currently labels the project as “Alpha,” noting that it is under active development and intended for users who are comfortable with experimentation and lack of official support.
As retro-development (homebrew) continues to grow, ProGearSDK represents a significant step in making the NEO-GEO, a console once famous for its “100-Mega Shock” marketing, accessible to a new generation of programmers.
