Skip to content

Declarative, Single-File 2D Game Prototyping Engine

License

Notifications You must be signed in to change notification settings

haytham818/Nixie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nixie

Declarative, Single-File 2D Game Prototyping Engine

License C++ Lua

English | 简体中文


Inspired by NixOS, Nixie is a declarative, single-file driven 2D game prototyping engine.

In this engine, there are no complex class hierarchies or scene managements. The entire game state, logic, and asset mapping are defined within a single Lua Table.

Features

  • Declarative — Game as Data. Describe what the game state should be, not how to process it.
  • Single File — All configurations, entity definitions, and update logic exist in one file. Easy to share, easy to version control.
  • Thin — Built on a C++ and Raylib backend, interacting with Lua via Sol2.
  • Prototype First — Designed for Game Jams and rapid gameplay verification. Write games like you write configuration files.

Dependencies

  • Raylib - Simple and easy-to-use graphics library
  • Sol2 - C++ ↔ Lua binding library
  • Lua 5.4 - Scripting language

Note: All dependencies are automatically downloaded via CMake FetchContent during build.

Building

Prerequisites

  • CMake 3.16+
  • C++17 compatible compiler (GCC 8+, Clang 7+, MSVC 2019+)
  • Ninja (recommended) or Make

Linux additional packages:

# Debian/Ubuntu
sudo apt install build-essential cmake ninja-build libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libgl1-mesa-dev

# Fedora
sudo dnf install gcc-c++ cmake ninja-build libX11-devel libXrandr-devel libXinerama-devel libXcursor-devel libXi-devel mesa-libGL-devel

# Arch
sudo pacman -S base-devel cmake ninja libx11 libxrandr libxinerama libxcursor libxi mesa

Build Commands

Linux:

# Configure (Debug)
cmake --preset linux-debug

# Build
cmake --build --preset linux-debug

# Or Release build
cmake --preset linux-release
cmake --build --preset linux-release

Windows (with Ninja):

cmake --preset windows-debug
cmake --build --preset windows-debug

Windows (with Visual Studio):

cmake --preset windows-msvc-debug
cmake --build --preset windows-msvc-debug

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Declarative, Single-File 2D Game Prototyping Engine

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published