Skip to content
/ zecsi Public

Small game framework made with Zig utilizing the awesome raylib

License

Notifications You must be signed in to change notification settings

ryupold/zecsi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zecsi

small framework with raylib bindings and own ECS.

This project is in an very early experimental state. See https://github.com/ryupold/zecsi-example to see how to use it

dependencies

  • git
  • zig (0.10.0)
  • emscripten sdk (if you intend to build for webassembly)

run locally

zig build run

build for host os and architecture

zig build -Drelease-small

The output files will be in ./zig-out/bin

html5 / emscripten

EMSDK=../emsdk #path to emscripten sdk

zig build -Drelease-small -Dtarget=wasm32-wasi --sysroot $EMSDK/upstream/emscripten/

The output files will be in ./zig-out/web/

  • game.html
  • game.js
  • game.wasm
  • game.data

The game data needs to be served with a webserver. Just opening the game.html in a browser won't work

raylib bindings

This library uses raylib.zig bindings. See build.zig for how to include them in your project.

TODOs

  • Build System
    • Build as package
    • Windows/Macos
    • WebAssembly
  • [-] Raylib
    • Link with game
    • Some bindings
    • Full API bindings
  • ECS
    • Simple ECS
    • Managing Entities, Components & Systems
    • Archetype queries (slow)
  • [-] 2D
    • [-] Windows scaling
      • Fullscreen
      • Aspect Ratio
      • Resizeable window
    • [-] Grid
      • Quad grid
      • Hexa grid
    • [-] Draw textures
      • Texture atlas (animated)
      • Tile Map (slow)
      • Tile Map (fast)
    • Camera 2D
    • Particle Effects
  • Asset ReLoader
  • Sound system
  • Input system
  • Physics system
  • UI system
  • Scene switch
  • Menu
  • Netcode
  • Window Icon

Helpful links

About

Small game framework made with Zig utilizing the awesome raylib

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published