CRM64Pro GDK
The ultimate SDL3 companion for 2D games and tools.
CRM64Pro is a modern, free, cross-platform C++17 Game Development Kit built on SDL3, with rendering, particle effects, 2D lighting, audio, video, Scene tooling, CDC archives and the EditorC64 asset workflow.
Overview
It is designed to help developers create high-performance 2D games: arcade, platformers, action, RTS, retro-style titles and more, through a clean, modular and hardware-accelerated framework.
CRM64Pro is the successor to the CRM32Pro SDK, rebuilt from the ground up using over a decade of development experience. Originally based on SDL2, CRM64Pro was fully migrated to SDL3 in 2023 to take advantage of modern rendering, audio and platform APIs.
Complete API documentation is included and generated with Doxygen. Follow the web tutorials to learn how to use each CRM64Pro module through explanations and code examples. The EditorC64 resource editor and Pac-Man Evolution game show how CRM64Pro is used in complete projects, with full source code available for both.
Screenshots
Key features
Core 
- Modern C++17 framework built on SDL3, with a modular manager-based API.
- Independent logic and rendering rates, high-resolution timing, delta time and render interpolation.
- Platform-dependent rendering backends: Direct3D 9/11/12, Vulkan, Metal, GPU, OpenGL and OpenGL ES, with software rendering support.
- Custom memory management with allocation tracking and engine-provided STL containers.
- Configurable logging, profiling and micro-benchmarking tools.
- Debug windows with live numeric and string watches, plus an embedded console with contextual auto-completion, quoted arguments, scrollback, command history and unified help.
- CDCv2 asset archives with compression, support for files larger than 4 GB, validation, optional encrypted storage, streaming block access and defragmentation.
- Integrated XML parsing, xxHash hashing and pseudo-random number generation using WELL512, MWC and PCG32.
- Configuration management with a customizable graphical setup launcher.
Graphics and media 
- Image, cursor, sprite, tile, font and drawing modules, with render target support.
- Sprite animation, sub-pixel positioning, interpolation, scaling, rotation and blending.
- Image loading for BMP, PNG, JPG/JPEG, PCX, TGA and WebP, with BMP and PNG saving.
- Built-in image filters for color adjustments, blur, distortion, pixelation and alpha processing.
- Particle effects with presets, animated appearance, timed bursts, sub-emitters and collision.
- 2D lighting with ambient intensity, animated point and spot lights, glow effects and occluders.
- Persistent Physics collision sets supporting rectangles, circles, ellipses, segments and polygons.
- Unified audio playback for music, sound effects, voice and ambient audio, supporting WAV, Ogg Vorbis, FLAC, MP3 and tracker modules such as MOD, XM, S3M and IT.
- H.264 video playback with seeking, metadata, audio integration and streamed CDC storage.
Scene system 
- Advanced 2D Scene and world management with native Tiled TMX/TSX support.
- Tile, image and object layers, animated tiles and custom object factories.
- Camera control, smooth scrolling, parallax, triggers and debug overlays.
- Scene loading from external files or CDC archives.
- Runtime objects for animated lights, occluders, portals and independent particle emitters.
- Particle collision against tile layers and selected object shapes.
- Configurable overlays for object bounds, shapes, names and triggers.
GUI system 
- GUI panels with typed widgets, customizable themes, callbacks and flow layouts.
- Built-in labels, images, frames, buttons, check boxes, progress bars, sliders, text edits, number edits, lists and combo boxes.
- Text alignment and configurable widget appearance and interaction states.
- Controls for in-game interfaces, editors, tools and configuration screens.
Networking 
- TCP/IP client/server networking with dedicated or in-application server operation.
- Asynchronous queues, diagnostics and configurable backpressure controls.
- Challenge-response login and optional AES-CTR session encryption.
- Authoritative and non-authoritative modes. In authoritative mode, every user packet passes through the configured server callback using server-derived sender identity.
EditorC64 
- Asset creation, preview and editing.
- Particle-effect authoring and live preview.
- Scene particle placement, direct object editing and map movement.
- Universal VTT import with configurable blocking roles.
- Animated GIF, WebP and H.264 import into Tiled-compatible animated tilesets.
- CDC archive management.
Supported platforms
Windows 
- Windows 10 and 11, 64-bit.
- Visual Studio 2022 or later.
- Rendering: Direct3D 9/11/12, Vulkan, GPU, OpenGL and software.
- Audio: WASAPI and DirectSound.
macOS 
- x86_64: macOS 10.15 Catalina or later.
- arm64: macOS 11 Big Sur or later.
- Clang 13 or later.
- Rendering: Metal, Vulkan, GPU, OpenGL and software.
- Audio: CoreAudio.
Linux 
- x86-64 Linux with kernel 4.18+ and GLIBC 2.28+.
- GCC/G++ 13.x or newer.
- Rendering: Vulkan, GPU, OpenGL, X11, Wayland and software.
- Audio: ALSA and PulseAudio.
Android 
- Not available yet; Android support is planned.
- Android 5.0 or later, API 21+.
- Rendering: OpenGL ES and Vulkan.
- Audio: AAudio and OpenSL ES.
Third-party libraries
CRM64Pro integrates selected open-source libraries for platform access, media loading, archive support, audio playback, video handling and tooling. Some libraries include minor CRM64Pro-specific modifications, updated source code is included in the downloads.
Platform and SDL modules
- SDL3 3.5.0
- SDL3_net 3.3.0
- SDL3_image 3.5.0
- SDL3_mixer 3.3.0
Data, archives and utilities
Audio formats
- libxmp 4.7.3
- stb_vorbis 1.22
- dr_flac 0.13.4
- dr_mp3 0.7.4
Video
- ffmpeg 8.1.3
Source code publication on GitHub is planned for v1.0.0.
Download
Latest version: v0.80.0 (7-October-2026)
ChangeLog | Roadmap | zlib license
- Binaries
- Binaries for supported operating systems and compilers, including universal x86_64 and arm64 libraries on macOS.
- Documentation
- Complete documentation, API reference and tutorials.
- Source code
- Source code, build files and third-party libraries.
- Previous releases
- Access the full historical releases repository.


