Berrylib is a LuaSTG library designed to be compatible with the most recent version of LuaSTG-Flux. This library doesn't support any other branches as of currently.
Its main goal is to be a solid replacement for THlib which is now starting to get old and got recently archived. I wanted a more modern approach to an engine I love to death.
Download BerryLib from the Releases page, extract it in your project folder, at the root of your engine executable.
Or,
You can clone BerryLib using git clone --recurse-submodules https://github.com/RulHolos/BerryLib.git in a cmd at the root of your engine executable, if you have git installed.
Or,
If you have downloaded the "berrylib" release package of LuaSTG-Flux, the latest version of BerryLib (at the time of the Flux release) is packaged with it.
And... that's it!
The structure of BerryLib is the following:
launch # Required by Sub and Flux to setup the engine for your game
berrylib/
├─ core/ # Core utilities, screen management, plugins, objects, input, signals, ...
├─ lib/ # Your game contents, bosses, players, ...
├─ doc/ (submodule) # API documentation for Sub and Flux
├─ util/ # Utilities like tweens, std, toml, tasks, ...
└─ main.lua # Second entry point after the launch file
game/ # Created at first launch, contains all your games data
└─ game folder or zip
assets/ # Contains all your game assets (images, music, ...)
plugins/ # Plugins loaded by BerryLib to help with development or other things.
The main features of BerryLib are the following:
- Tweens: Chainable tweens with easing functions, yoyo, repeats and more.
- Event-based behaviours: The core behaviour of BerryLib is based on Events and listeners.
MIT License
Free to use, modify and share and no copyrighted material!
!! Warning !!
While the license of library itself is MIT, BerryLib contains assets from Ryannlib. A license text file is included in the library with the respective owners of every assets.