{"id":40341873,"url":"https://github.com/callahat/dungeon_crawl","last_synced_at":"2026-01-20T09:03:52.349Z","repository":{"id":39896973,"uuid":"180777133","full_name":"callahat/dungeon_crawl","owner":"callahat","description":"Phoenix App, game engine, 2d dungeon. Create your own maps with customizable scripted tiles or use many of the readymades to build puzzles.","archived":false,"fork":false,"pushed_at":"2025-11-09T03:07:01.000Z","size":5473,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-09T05:25:37.628Z","etag":null,"topics":["elixir","phoenix","phoenix-framework","rogue-like"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/callahat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-04-11T11:23:49.000Z","updated_at":"2025-11-09T03:07:02.000Z","dependencies_parsed_at":"2023-10-12T14:16:45.718Z","dependency_job_id":"724198da-7cc3-4841-ab2b-61c3802989b7","html_url":"https://github.com/callahat/dungeon_crawl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/callahat/dungeon_crawl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callahat%2Fdungeon_crawl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callahat%2Fdungeon_crawl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callahat%2Fdungeon_crawl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callahat%2Fdungeon_crawl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/callahat","download_url":"https://codeload.github.com/callahat/dungeon_crawl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callahat%2Fdungeon_crawl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28599848,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T08:51:33.170Z","status":"ssl_error","status_checked_at":"2026-01-20T08:51:10.855Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["elixir","phoenix","phoenix-framework","rogue-like"],"created_at":"2026-01-20T09:03:52.281Z","updated_at":"2026-01-20T09:03:52.341Z","avatar_url":"https://github.com/callahat.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DungeonCrawl\n\n[![Elixir CI](https://github.com/callahat/dungeon_crawl/actions/workflows/ci.yml/badge.svg)](https://github.com/callahat/dungeon_crawl/actions/workflows/ci.yml)\n\nThis is a retro style top down multiplayer client/server game engine. The application\nacts as the server (which can be networked or just run locally) and the gameplay\ntakes place in a web browser. Greatly inspired by ZZT this project is an attempt\nto recreate some of the simplistic experiences of character driven graphic games.\n\n## Running Via Docker (for development)\n\nFor those who prefer to not install all sorts of dependencies on their development system Docker may be used.\n\nTo start the app server container and postgres container, run:\n\n`docker compose up`\n\n#### Additional helpful commands\n\nTo launch an interactive iex shell running the app (with the ability to run and hit the application server at some point) run:\n\n`docker compose run --rm --service-ports dcrawl`\n\nOr to run a bash shell (and allow iex to be started manually) start postgres then run app:\n\n```\ndocker compose run --service-ports --use-aliases --rm -d postgres\ndocker compose run --rm --use-aliases --publish 4000:4000 app bash\n```\n\n(The app service route, for the first time you will need to run `docker/init.sh` manually to get erlang, elixir, node, etc)\n\nIf its your first time, this can be a lengthy process if building the image. \n\nTo clear destroy the containers and remove the dcrawl image:\n\n`docker compose down --rmi local`\n\nTo also remove all the volumes (ie, delete all the DB data, downloaded mix deps, etc)\n\n`docker volume rm dungeon_crawl_asdf dungeon_crawl_build dungeon_crawl_deps dungeon_crawl_node dungeon_crawl_postgres dungeon_crawl_static dungeon_crawl_tmp`\n\n## Running\n\nWhen running docker there are many ways. After setup, simplest is\n\n`docker compose up`\n\nOr, as mentioned above a `docker compose run ...` described above may be uesd. This\ncould be convenient if needing to also run tests or troubleshoot npm or debug.\nThe postgres container will need to be running - if running the dcrawl container, this will be started.\nIf going the `app` service route, be sure to run `docker compose run --rm -d postgres` to start the postgres\ncontainer first, otherwise you'll get `DBConnection.ConnectionError` should postgres not be up.\n\nNow you can visit [`localhost:4000`](http://localhost:4000) from your browser.\n\n## Running via Local without Containers\n\nThere are several dependencies needed. Many of these can be found in the Dockerfile or `init.sh`.\nDepending on your local OS installation may differ.\n\n* `asdf` is used for language version management https://github.com/asdf-vm/asdf\n* `postgres` is the database used\n\nOther setup\n\n* Install dependencies with `mix deps.get`\n* Install Node.js dependencies with `npm install` in the `assets` directory\n\nTo Start the app:\n\n`mix phx.server`\n\nor\n\n`iex -S mix phx.server`\n\nto have an interactive shell running with your server. This ties a console to the running\nserver, and you can also create execute elixir statements without having to start\na separate console.\n\nNow you can visit [`localhost:4000`](http://localhost:4000) from your browser.\n\n## Setting up the Database\n\nThe database will need setup via `mix ecto.create \u0026\u0026 mix ecto.load`, or\n`mix ecto.create \u0026\u0026 mix ecto.migrate` if you prefer taking your time. \nYou'll want to `iex -S mix` and create a super use for yourself, and load the asset seeds.\n\n```elixir\nDungeonCrawl.Account.create_admin(%{name: \"Admin\", username: \"Admin\", password: \u003cchangeme\u003e, user_id_hash: :base64.encode(:crypto.strong_rand_bytes(24)), is_admin: true})\n\nDungeonCrawl.TileTemplates.TileSeeder.seed_all\nDungeonCrawl.Sound.Seeder.seed_all\nDungeonCrawl.Equipment.Seeder.seed_all\n\n# You can create a Joinable dungeon with this, or just import one of the json exports in the root path.\nDungeonCrawl.Dungeons.generate_dungeon(DungeonCrawl.DungeonGeneration.MapGenerators.ConnectedRooms,\n  %{autogenerated: false, active: true, name: \"Seeded Joinable Dungeon\"},\n  %{width: 40, height: 20},\n  true)\n```\n\n## Existing Games\n\n\"Mainline\" and \"Chore Simulator\" JSON exports have been moved to a separate repository.\nhttps://github.com/callahat/dungeon_crawl_games\n\n## Learn more\n\nReady to run in production? Please [check our deployment guides](http://www.phoenixframework.org/docs/deployment).\n\n* Official website: http://www.phoenixframework.org/\n* Guides: http://phoenixframework.org/docs/overview\n* Docs: https://hexdocs.pm/phoenix\n* Mailing list: http://groups.google.com/group/phoenix-talk\n* Source: https://github.com/phoenixframework/phoenix\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcallahat%2Fdungeon_crawl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcallahat%2Fdungeon_crawl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcallahat%2Fdungeon_crawl/lists"}