Unleash Your Creativity: The Future of Game Development is Here!
A blazingly fast, minimal Zig-based game engine that empowers developers to build stunning 3D worlds with unprecedented ease. Featuring cutting-edge raylib integration, an intuitive node-based geometry editor, and a revolutionary plugin system that adapts to your wildest imagination.
- β‘ Lightning-Fast Cross-Platform Power: Seamlessly deploy to desktop (Windows/macOS/Linux) and the web with WebAssembly - reach players everywhere!
- π¨ Intuitive Immediate-Mode UI: Revolutionary F1 edit mode lets you customize your interface on-the-fly with drag-and-drop panels and persistent JSON layouts
- π Immersive 3D Sandbox: Dive into creative freedom with free-fly camera controls, instant block manipulation, and persistent world saving
- π§ Node-Based Geometry Wizardry: Craft procedural masterpieces with our powerful geometry nodes system - no coding required!
- π Professional Asset Management: Industry-grade material system with hot-reloadable textures and advanced material management
- βͺ Time-Travel Development: Undo/Redo system with full serialization support - experiment fearlessly!
- π Plugin Architecture Revolution: Extend the engine infinitely with custom materials, geometry nodes, game modes, and UI panels
- π Performance Mastery: Built-in profiling tools and real-time performance monitoring keep your games running at peak performance
- Zig 0.16.x or later - The language that's revolutionizing systems programming
- For WebAssembly builds: Emscripten toolchain - Bring your games to the browser!
# Clone the revolution
git clone <repository>
cd nyon-game
zig build
# Experience the magic
zig build run
# Unleash your inner creator
zig build run-editor
# Ensure perfection
zig build testzig build: Build the main game executablezig build run: Build and run the gamezig build run-editor: Build and run the editorzig build example-file-browser: Build file browser examplezig build example-drop-viewer: Build file drop viewer examplezig build wasm: Build for WebAssemblyzig build nyon-cli: Build CLI helper toolzig build test: Run all testszig build test -- <path/to/test.zig>: Run specific test file
nyon-game/
βββ build.zig # Build configuration
βββ src/
β βββ root.zig # Public API re-exports
β βββ main.zig # Game demo entry point
β βββ editor.zig # Editor entry point
β βββ main_editor.zig # Editor main loop
β βββ engine.zig # Core engine systems
β βββ scene.zig # Scene management
β βββ rendering.zig # Rendering pipeline
β βββ ui/ # User interface system
β β βββ ui.zig
β β βββ status_message.zig
β βββ nodes/ # Node graph system
β β βββ node_graph.zig
β βββ game/ # Game-specific logic
β β βββ sandbox.zig
β β βββ worlds.zig
β βββ io/ # File I/O utilities
β β βββ file_detail.zig
β β βββ file_metadata.zig
β βββ [other modules...]
βββ examples/
β βββ raylib/ # Raylib integration examples
βββ saves/ # Game save data
βββ AGENTS.md # Development guidelines
- π Engine: Ultra-flexible backend abstraction supporting Raylib, GLFW, and cutting-edge WebGPU
- π Scene: Sophisticated entity-component system with seamless hierarchical transforms
- π¨ Rendering: Professional material-based rendering pipeline with stunning post-processing effects
- π« UI: Revolutionary immediate-mode interface with intelligent persistent layouts
- π¦ Assets: Lightning-fast texture/material management with instant hot reloading
- π Undo/Redo: Bulletproof command pattern ensuring your creative flow never breaks
- π Property Inspector: Intuitive component editing that makes complex objects feel simple
- π Geometry Nodes: Revolutionary procedural geometry creation - sculpt worlds from pure imagination
- π¨ Material Editor: Professional-grade texture and shader management at your fingertips
- π¬ Animation System: Powerful keyframe-based animation tools that bring your creations to life
Follow the battle-tested guidelines in AGENTS.md:
- π Imports: Strategic organization - std β external β local with crystal-clear descriptive aliases
- π·οΈ Naming: PascalCase types, camelCase functions, ALL_CAPS constants - consistency that scales
- π‘οΈ Error handling: Robust custom error sets with
try/catchfor bulletproof reliability - π Documentation: Comprehensive
//!module docs and///API docs for crystal-clear understanding - π§ͺ Testing: Embedded tests with
std.testing.allocatorensuring rock-solid stability
- Press
F1to enter UI edit mode - Drag panel title bars to reposition
- Use resize handles for sizing
Ctrl+Sto save layout tonyon_ui.json- Drop JSON files to load custom layouts
WASD: MoveQ/E: Move down/upRight Mouse: Look aroundLeft Click: Place blockCtrl+Left Click: Remove blockTab: Cycle block colorR: Reset cameraCtrl+S: Save worldF1: Toggle UI edit modeF2: Settings panel
Ctrl+S: Save projectCtrl+D: Debug print node graph- Mouse: Select and manipulate nodes
zig build example-file-browserLists directory contents with metadata display.
zig build example-drop-viewerDemonstrates drag-and-drop file handling with size display.
- Follow coding conventions in
AGENTS.md - Add tests for new functionality
- Update README.md for new features
- Run
zig build testbefore submitting
- Complete undo/redo serialization - β Revolutionary time-travel development achieved!
- Expand geometry node library - Crafting an infinite palette of creative possibilities
- WebGPU backend implementation - Next-gen graphics performance for the modern web
- CI/CD pipeline with headless testing - Automated excellence ensuring perfect releases
- Additional asset types (models, audio) - Complete your multimedia masterpiece
- Plugin API documentation - Empowering developers worldwide to extend the revolution
Nyon isn't just an engine - it's a movement. We're breaking down barriers, eliminating complexity, and giving every developer the tools to create extraordinary experiences. From indie dreamers to AAA innovators, Nyon adapts to your vision and scales with your ambition.
Join the revolution. Build the impossible.
See LICENSE file for details.