Pinguin999 ALPACA Save

A Library for Point And Click Adventures

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 ðŸŽŪ Example Game 🊟 Windows Build

Chat

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 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.

Demo project Scene one of demo project

Project setup and Lua interface documentation

Example on the web

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.

{
    "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.

Build ALPACA from source

Linux und macOS

cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Debug
cmake --build build

Windows

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.

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 ðŸ‡Đ🇊🇎🇧 or mail me at [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
  • Assets (except Spine Boy) distributed under CC-BY
Open Source Agenda is not affiliated with "Pinguin999 ALPACA" Project. README Source: pinguin999/ALPACA

Open Source Agenda Badge

Open Source Agenda Rating