{"id":18069640,"url":"https://github.com/mgerhardy/caveexpress","last_synced_at":"2025-04-05T07:04:54.552Z","repository":{"id":14897247,"uuid":"17621075","full_name":"mgerhardy/caveexpress","owner":"mgerhardy","description":"CaveExpress is a classic 2D platformer with physics-based gameplay and dozens of levels. CavePacker is a Sokoban game.","archived":false,"fork":false,"pushed_at":"2025-03-29T04:29:42.000Z","size":804348,"stargazers_count":151,"open_issues_count":44,"forks_count":22,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-03-29T06:05:37.400Z","etag":null,"topics":["android","arcade","arcade-game","cmake","cpp","emscripten","game","html5","html5-game","ios","opensource"],"latest_commit_sha":null,"homepage":"http://www.caveproductions.org/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mgerhardy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2014-03-11T06:47:13.000Z","updated_at":"2025-03-29T04:20:04.000Z","dependencies_parsed_at":"2025-02-27T15:10:21.884Z","dependency_job_id":"f147fb30-3c3e-4ba8-a1ac-c65df3102d45","html_url":"https://github.com/mgerhardy/caveexpress","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgerhardy%2Fcaveexpress","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgerhardy%2Fcaveexpress/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgerhardy%2Fcaveexpress/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgerhardy%2Fcaveexpress/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mgerhardy","download_url":"https://codeload.github.com/mgerhardy/caveexpress/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247299831,"owners_count":20916190,"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":["android","arcade","arcade-game","cmake","cpp","emscripten","game","html5","html5-game","ios","opensource"],"created_at":"2024-10-31T08:10:50.831Z","updated_at":"2025-04-05T07:04:54.527Z","avatar_url":"https://github.com/mgerhardy.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"States for building on Linux and Mac\n\n[![Actions Status](https://github.com/mgerhardy/caveexpress/actions/workflows/main.yml/badge.svg)](https://github.com/mgerhardy/caveexpress/actions)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n**[Homepage](http://www.caveproductions.org/)**\n\n**[Discord](https://discord.com/invite/XqNBRsBY)**\n\n\n# About\n\nThis repository is the home of two games: CaveExpress and CavePacker\n\n## CaveExpress\n\n![CaveExpress](https://raw.githubusercontent.com/mgerhardy/caveexpress/master/contrib/assets/media/caveexpress/950x500.png)\n\nCaveExpress is a classic 2D platformer with physics-based gameplay and dozens of levels. Master your pedal-powered flying machine to pick up packages from your cave-dwelling clients and drop them off at the collection point. But beware! Mighty mastodons, terrifying pterodactyls and others would rather see you extinct.\n\nFeatures:\n\n* Multiplayer\n* Built-in mapeditor\n* Physics-based gameplay\n\nOnline version: [caveexpress](https://mgerhardy.github.io/caveexpress/caveexpress.html)\n\n## CavePacker\n\n![CavePacker](https://raw.githubusercontent.com/mgerhardy/caveexpress/master/contrib/assets/media/cavepacker/screenshot-microban3.png)\n\nCavePacker is a sokoban game. It is a puzzle game where you have to move the packages onto their targets without getting stuck. The lesser steps you made for solving a level, the better. You may only push but not pull packages.\n\nThe maps are taken from XSokoban, KSokoban - the author of sasquatch and microban maps is David W. Skinner and the maps gri* are made by GRIGoRusha.\n\nBtw.: Did I mention that this is a sokoban game that even supports network based multiplayer gaming. Check it out.\n\nThe multiplayer maps were all created by me and are released in the Public Domain or CC0.\n\nFeatures:\n\n* Multiplayer\n* Built-in mapeditor\n\nCavePacker includes a map editor. You can start it by executing it via `cavepacker -ui_push editor`\n\nOnline version: [cavepacker](https://mgerhardy.github.io/caveexpress/cavepacker.html)\n\n\n# Installation\n\nUse the nightly builds from [github actions](https://github.com/mgerhardy/caveexpress/actions) or install a stable release:\n\n### Debian\n\n`apt-get install caveexpress cavepacker`\n\n### Other\n\nDownload from [github releases](https://github.com/mgerhardy/caveexpress/releases/tag/2.4)\n\n\n# Development\n\n## Dependencies\n\n * cmake \u003e= 2.8.7\n * gcc, clang or msvc as compiler (C++11 support is needed)\n * SDL2 \u003e= 2.0.3\n * SDL2_mixer \u003e= 2.0.0\n * SDL2_net \u003e= 2.0.0\n * SDL2_image \u003e= 2.0.0\n * sqlite3\n * glm\n * lua \u003e= 5.2\n * Box2D \u003e= 2.4.1\n * yajl (only if you compile tools)\n\n## Compilation\n\nHow to build projects from sources described on wiki page [Compilation](https://github.com/mgerhardy/caveexpress/wiki/Compilation).\n\n\n# Tools\n\nTools used for development, included in [sources](https://github.com/mgerhardy/caveexpress/tree/master/src/caveexpress/tools).\n\n## TextureAtlas\n\nThe physical shapes with [box2deditor](https://github.com/mgerhardy/box2d-editor)\n\nTo convert the `tps` files into a texture atlas you can use the bundled tool `textureatlas`. The `tps` files can get created with Texturepacker 3.9.4.\n\nThe tool can read `tps` files (to some extent) and generate the needed texture atlas and lua sprite definitions that are needed for cavepacker and caveexpress. Call the tool with `-h` as parameter to get an overview of the command line options.\n\nTo generate e.g. all needed images and lua scripts for caveexpress, you can do this:\n\n```sh\n./textureatlas contrib/assets/png/caveexpress*.tps\n```\n\n## jsonconvert\n\nConverts the box2deditor json output into CaveExpress readable format.\n\n## soundmapper\n\nGenerate the entitysound.lua file for CaveExpress.\n\n## tiledgenerator\n\nGenerate tiled mapeditor tileset definitions.\n\n## CVARs\n\nThere is an in-game console (open it with `SHIFT+TAB` where you can execute commands and show or change configuration variables)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgerhardy%2Fcaveexpress","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmgerhardy%2Fcaveexpress","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgerhardy%2Fcaveexpress/lists"}