Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pinguin999/alpaca
A Library for Point And Click Adventures
https://github.com/pinguin999/alpaca
2d-game-engine android android-game-engine cross-platform engine game game-2d game-dev game-development game-engine gamedev ios ios-game lua nintendo-switch point-and-click point-and-click-game wasm wasm-game
Last synced: about 2 months ago
JSON representation
A Library for Point And Click Adventures
- Host: GitHub
- URL: https://github.com/pinguin999/alpaca
- Owner: pinguin999
- License: zlib
- Created: 2023-01-05T18:59:38.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-18T21:13:07.000Z (2 months ago)
- Last Synced: 2024-11-18T22:24:28.990Z (2 months ago)
- Topics: 2d-game-engine, android, android-game-engine, cross-platform, engine, game, game-2d, game-dev, game-development, game-engine, gamedev, ios, ios-game, lua, nintendo-switch, point-and-click, point-and-click-game, wasm, wasm-game
- Language: C++
- Homepage: https://alpaca-engine.de/
- Size: 96.9 MB
- Stars: 46
- Watchers: 3
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# ALPACA
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](https://alpaca-engine.de/)
[ðŪ Example Game](https://hobbyspieleentwicklerpodcast.de/2080-Demo/)
[ðŠ Windows Build](https://brain-connected.itch.io/alpaca)[![Chat](https://img.shields.io/badge/chat-on%20discord-7289da.svg)](https://discord.gg/zWdnq6UJ79)
## Features
- 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 ð·ââïļ## These tools make ALPACA possible
- [Spine](http://esotericsoftware.com/) is used for all graphic assets and animations.
- [JNGL](https://github.com/jhasse/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](https://gitlab.com/pac4/schnack) is a node based dialog editor.
- [Rhubarb](https://github.com/DanielSWolf/rhubarb-lip-sync) for creation of lip sync information from audio files.
- [Lua](https://www.lua.org/) 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.
## Links and examples
![Demo project](test_chamber_one.gif)
Scene one of demo project[Project setup and Lua interface documentation](https://alpaca-engine.de/)
[Example on the web](https://alpaca-engine.de/demo/)
## Getting Started
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.
```json
{
"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](https://alpaca-engine.de/).
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.
## Build ALPACA from source
### Linux und macOS
```bash
cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Debug
cmake --build build
```### Windows
Install [Visual Studio Community](https://visualstudio.microsoft.com/vs/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.## Contact
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](https://calendly.com/pinguin999/pac-indie-game-development) ðĐðŠðŽð§
or mail me at [[email protected]](mailto:[email protected]) ðĐðŠðŽð§## Contributing
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.
## License
- Code distributed under the [zlib License](https://choosealicense.com/licenses/zlib/)
- Assets (except Spine Boy) distributed under [CC-BY](https://creativecommons.org/licenses/by/4.0/)