ALPACA (short for "A Library for Point And Click Adventures") is a game engine for adventure games and interactive comics. It's written in C++ and can easily be scripted in Lua.
📚 Documentation 🎮 Example Game 🪟 Windows Build
- Easy to use 🐣
- Gif Recording 🎉
- Node based dialog editor 🗯️
- Integrated dialog engine 💬
- PDF export for voice actors 🎤
- 2D bone animations via Spine 🦴💀
- Events via animation 🦾
- True multi-platform via JNGL 💻📱📺🖥️
- Hot reload 🔥
- Mouse, controller and touch support 🎮
- A* navigation 🧭
- Easy scripting via Lua 📇
- Automatic save game handling 💾
- Automatic tests playing the game 🤖
- Build via GitLab CI 👷♂️
- Spine is used for all graphic assets and animations.
- JNGL is the cross platform game library that makes it possible to publish to Nintendo Switch, Xbox, PC, Mac, iOS, Android and the Web.
- Schnack is a node based dialog editor.
- Rhubarb for creation of lip sync information from audio files.
- Lua is the scripting language used for game logic.
All these tools are managed by a Python asset pipeline with file watchers for fast reloading of changes into the game.
Project setup and Lua interface documentation
Everything in ALPACA is organized in scenes. And we already provide two demo scenes, you can easily modify. The scene is defined in the data-src/scenes/test_chamber_one.json file.
{
"items": [
{"spine": "banana", "x":"330.0", "y":"400.0", "scale": 0.3, "skin": "normal"},
],
"backgroundMusic": "audio/ingame-action.ogg",
"background": {"spine": "scene1"},
"zBufferMap": null
}
In this demo scene you have a background and one item. You can change the x and y coordinates of the item or duplicate it.
If you want to add a new item, you first have to create a new Spine project and save it in date-src. More details in the docs.
If you want to create a third scene, you just have to create a new file or duplicate the test_chamber_one.json and change it to your needs.
cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Debug
cmake --build build
Install Visual Studio Community and please make sure to select Desktop development with C++ while installing.
Then you only need to choose Open a local folder and open the ALPACA folder. Visual Studio will automatically run CMake and you can choose pac.exe as target and press F5 to build and start the game.
If you need help setting up your first project or want to talk about your game. Book a time slot with the developers of ALPACA at calendly 🇩🇪🇬🇧 or mail me at kolja@portaldogs.com 🇩🇪🇬🇧
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
- Code distributed under the zlib License
- Assets (except Spine Boy) distributed under CC-BY