A 2D game framework and utilities written in C++ / Lua
NOTE: This is a "learn by doing" side project that I developed in my free time. I share the code with anyone who might be interested in love2d-like game engine development.
Premake + msvc should make it easy to set up neko. Dependencies are builtin in source/extern/. Just run premake from the repository root:
premake5 embed (optional, for embeding builtin lua code)
premake5 luaot (optional, for embeding builtin lua code with Lua AOT)
premake5 vs2022
So far, this project has only been developed on the Windows platform. Although *Unix support is provided in some modules, it is still mainly based on the Windows platform. However, the difficulty of porting to *Unix is not significant.
Basic playable gameplay system (including animation/basic screen effects/physical collision/simple network/TiledMap markers)
Complete C++/Lua bindings (with Enum and Struct fields and operators)
Hot resource loading (including LuaRef/Image/Sprite/TileMap/Shader)
Basic Tiled map parsing and object logic processing (WIP)
ECS module based on C++/Lua (lua ecs with C data processing)
GLFW, GLAD, Box2d, FMOD, stb, imgui, lua-aot-5.4, luasocket, miniz, sokol_time, lovr-http, are used as is without modification
Some code in microui, love2d, spry, cgame, cute_headers, ant, is used or referenced with modification