{"id":22141462,"url":"https://github.com/pinguin999/alpaca","last_synced_at":"2025-04-09T18:17:00.469Z","repository":{"id":71259050,"uuid":"585666581","full_name":"pinguin999/ALPACA","owner":"pinguin999","description":"A Library for Point And Click Adventures","archived":false,"fork":false,"pushed_at":"2025-03-08T20:05:02.000Z","size":101605,"stargazers_count":83,"open_issues_count":2,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-09T18:16:44.098Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"https://alpaca-engine.de/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"zlib","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pinguin999.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-05T18:59:38.000Z","updated_at":"2025-04-01T22:42:16.000Z","dependencies_parsed_at":"2023-10-16T12:32:18.826Z","dependency_job_id":"58642f52-ec30-4a4b-b7a5-85a1d695e903","html_url":"https://github.com/pinguin999/ALPACA","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinguin999%2FALPACA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinguin999%2FALPACA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinguin999%2FALPACA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinguin999%2FALPACA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pinguin999","download_url":"https://codeload.github.com/pinguin999/ALPACA/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248085323,"owners_count":21045139,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2024-12-01T21:13:24.140Z","updated_at":"2025-04-09T18:17:00.445Z","avatar_url":"https://github.com/pinguin999.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ALPACA\n\nALPACA (short for \"A Library for Point And Click Adventures\") is a game engine for adventure games and interactive comics.\nIt's written in C++ and can easily be scripted in Lua.\n\n[📚 Documentation](https://alpaca-engine.de/)\n[🎮 Example Game](https://hobbyspieleentwicklerpodcast.de/2080-Demo/)\n[🪟 Windows Build](https://brain-connected.itch.io/alpaca)\n\n[![Chat](https://img.shields.io/badge/chat-on%20discord-7289da.svg)](https://discord.gg/zWdnq6UJ79)\n\n## Features\n\n- Easy to use 🐣\n- Gif Recording 🎉\n- Node based dialog editor 🗯️\n- Integrated dialog engine 💬\n- PDF export for voice actors 🎤\n- 2D bone animations via Spine 🦴💀\n- Events via animation 🦾\n- True multi-platform via JNGL 💻📱📺🖥️\n- Hot reload 🔥\n- Mouse, controller and touch support 🎮\n- A* navigation 🧭\n- Easy scripting via Lua 📇\n- Automatic save game handling 💾\n- Automatic tests playing the game 🤖\n- Build via GitLab CI 👷‍♂️\n\n## These tools make ALPACA possible\n\n- [Spine](http://esotericsoftware.com/) is used for all graphic assets and animations.\n- [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.\n- [Schnack](https://gitlab.com/pac4/schnack) is a node based dialog editor.\n- [Rhubarb](https://github.com/DanielSWolf/rhubarb-lip-sync) for creation of lip sync information from audio files.\n- [Lua](https://www.lua.org/) is the scripting language used for game logic.\n\nAll these tools are managed by a Python asset pipeline with file watchers for fast reloading of changes into the game.\n\n## Links and examples\n\n![Demo project](test_chamber_one.gif)\nScene one of demo project\n\n[Project setup and Lua interface documentation](https://alpaca-engine.de/)\n\n[Example on the web](https://alpaca-engine.de/demo/)\n\n## Getting Started\n\nEverything 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.\n\n```json\n{\n    \"items\": [\n        {\"spine\": \"banana\", \"x\":\"330.0\", \"y\":\"400.0\", \"scale\": 0.3, \"skin\": \"normal\"},\n    ],\n    \"backgroundMusic\": \"audio/ingame-action.ogg\",\n    \"background\": {\"spine\": \"scene1\"},\n    \"zBufferMap\": null\n}\n```\n\nIn this demo scene you have a background and one item. You can change the x and y coordinates of the item or duplicate it.\n\nIf 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/).\n\nIf 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.\n\n## Build ALPACA from source\n\n### Linux und macOS\n\n```bash\ncmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Debug\ncmake --build build\n```\n\n### Windows\n\nInstall [Visual Studio Community](https://visualstudio.microsoft.com/vs/community/) and please make sure to select **Desktop development with C++** while installing.\n\nThen you only need to choose **Open a local folder** and open the ALPACA folder.\nVisual Studio will automatically run CMake and you can choose pac.exe as target and press F5 to build and start the game.\n\n## Contact\n\nIf you need help setting up your first project or want to talk about your game.\nBook a time slot with the developers of ALPACA at [calendly](https://calendly.com/pinguin999/pac-indie-game-development) 🇩🇪🇬🇧\nor mail me at [kolja@portaldogs.com](mailto:kolja@portaldogs.com) 🇩🇪🇬🇧\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first\nto discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\n## License\n\n- Code distributed under the [zlib License](https://choosealicense.com/licenses/zlib/)\n- Assets (except Spine Boy) distributed under [CC-BY](https://creativecommons.org/licenses/by/4.0/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpinguin999%2Falpaca","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpinguin999%2Falpaca","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpinguin999%2Falpaca/lists"}