CNA Tutorials
From zero to shipping — 129 step-by-step guides for C++ game development with CNA, including four guides added for the first tagged pre-release.
All 129 tutorials available
Getting Started
No prior game-development experience required. Install CNA, open a window, draw sprites, play sounds, handle input, and ship your first game — from scratch in C++.
Core Systems
Go deeper into 2D rendering, enter the third dimension, work with matrices and math, manage assets, and add gamepad and touch input to your games.
Graphics and Architecture
Write custom shaders, build deferred rendering pipelines, profile and optimize your game, implement shadows and reflections, and architect scalable multi-platform projects.
Real-World and Platform
Ship to WebAssembly and Android, port from XNA and MonoGame, extend CNA with custom renderers and language runtimes, build complete game projects, and integrate physics and networking.
Renderers in Depth
A normal CNA build compiles one of its 50 renderer identities; alpha.1 can also opt into a compatible set and choose one before device creation. These tutorials cover selection, family boundaries and capability traps.
3D Content and CNA Extensions
Runtime glTF loading, skeletal animation, morph targets and PBR materials, plus the CNAEXT layer where CNA goes beyond the XNA 4.0 contract - and how to opt out of it entirely.
Audio, Media, Services and Verification
Procedural and positional audio, XACT, video, the media library, locally-persisted achievements and leaderboards, the WebAssembly gotchas that only bite in a browser, and how CNA verifies pixels.
Want a tutorial faster? Open an issue on GitHub and request a specific topic — high-demand tutorials get prioritised. Contributions are also welcome: if you write a tutorial, submit a pull request.