{"id":21598070,"url":"https://github.com/jacopofar/phaser-adventure-engine","last_synced_at":"2025-03-18T11:29:27.788Z","repository":{"id":149235081,"uuid":"330642907","full_name":"jacopofar/phaser-adventure-engine","owner":"jacopofar","description":"2D adventure game engine based on Phaser","archived":false,"fork":false,"pushed_at":"2023-05-16T13:18:24.000Z","size":653,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-11T02:13:02.965Z","etag":null,"topics":["game-development","phaser3","tiled-map-editor"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/jacopofar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2021-01-18T11:19:33.000Z","updated_at":"2022-06-14T08:41:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"3d97336b-d99e-4ef5-9851-a56d885f573b","html_url":"https://github.com/jacopofar/phaser-adventure-engine","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacopofar%2Fphaser-adventure-engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacopofar%2Fphaser-adventure-engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacopofar%2Fphaser-adventure-engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacopofar%2Fphaser-adventure-engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jacopofar","download_url":"https://codeload.github.com/jacopofar/phaser-adventure-engine/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244210570,"owners_count":20416481,"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":["game-development","phaser3","tiled-map-editor"],"created_at":"2024-11-24T18:11:12.555Z","updated_at":"2025-03-18T11:29:27.768Z","avatar_url":"https://github.com/jacopofar.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Phaser.js Tiled integration demo\n\nThis project defines an engine to run an adventure game in the browser, and implements a [reference demo game](https://github.com/jacopofar/reference_game) with it.\n\n![example of what can be done, a colorful simple 2D map](screenshot.png)\n\nThe \"engine\" is written in Typescript and uses Phaser.js 3. It can load Tiled maps and supports world files, directly performing chunk load/unload. Tiled objects are parsed to produce actors in the game (NPCs, items), stored in their own JSON.\n\nSuch a game can be completely static, or you can have a backend providing tiles and events on the fly.\n\nThe game works on mobile and desktop, using multitouch or keyboard.\n\nAdditionally, a Python validator is provided, based on JSONSchema.\n\nThe game and the engine are kept separated, the game is in the _game\\_\\_ folder, the \"engine\", based on Phaser.js, is in the \\_src_ folder. By replacing the game folder with another one, you can run another game. This is to later allow game generation using external scripts, or a backend to deliver generated content.\n\n## Run locally\n\nUse `yarn install` and then `yarn run dev-serve` to run a local server that will compile and reload on change.\n\n## Tests\n\nYep, there are test! Just use `yarn test` to see them.\n\n## Dependencies\n\nYou can look at [dependencies_reason.md](dependencies_reason.md) for an explanation about what and why is needed in the project.\n\n## Schemas\n\nThe schemas under the schemas folder are used both to validate the files for a project and to generate the Typescript types.\nUse `yarn generate-types-from-jsonschema` to regenerate the type files under `src/generated_types`\n\n## Validation\n\nThe validation tool can check the game files and report on errors.\n\nInstall it with\n\n```\n  python3 -m venv .venv\n  .venv/bin/python3 -m pip install -r requirements.txt\n  python3 -m validator\n```\n\n## State of the project\n\nAt the moment this code can handle Tiled orthogonal maps with layers and different tiles, and can load/unload chunks using the world file.\n\nEvents can define simple dialogs, teleport the player and movement paths.\n\nI am not actively developing it because I now prefer to use Godot and I found Phaser not very suitable for this, in spite of the excellent Typescript support.\n\nHowever, feel free to use this work! I'm open to pull requests or linking to projects based on/forking it\n\n## License\n\nThe code itself is MIT licensed and you can copy and modify it as you wish. The game assets are based on art from other people, detailes in the game README.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacopofar%2Fphaser-adventure-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjacopofar%2Fphaser-adventure-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacopofar%2Fphaser-adventure-engine/lists"}