{"id":22154607,"url":"https://github.com/ericflo/webgames-ide","last_synced_at":"2025-07-16T03:44:28.148Z","repository":{"id":52136476,"uuid":"361415258","full_name":"ericflo/webgames-ide","owner":"ericflo","description":"Make web games in your browser and publish them to the world with Skynet","archived":false,"fork":false,"pushed_at":"2021-05-09T03:13:22.000Z","size":481,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-28T05:45:06.092Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://webgames-ide.hns.siasky.net/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ericflo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-04-25T11:55:19.000Z","updated_at":"2021-05-09T03:02:37.000Z","dependencies_parsed_at":"2022-08-23T21:50:44.992Z","dependency_job_id":null,"html_url":"https://github.com/ericflo/webgames-ide","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ericflo/webgames-ide","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericflo%2Fwebgames-ide","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericflo%2Fwebgames-ide/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericflo%2Fwebgames-ide/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericflo%2Fwebgames-ide/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ericflo","download_url":"https://codeload.github.com/ericflo/webgames-ide/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ericflo%2Fwebgames-ide/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265479797,"owners_count":23773614,"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":[],"created_at":"2024-12-02T01:49:53.025Z","updated_at":"2025-07-16T03:44:28.118Z","avatar_url":"https://github.com/ericflo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Webgames IDE](https://webgames-ide.hns.siasky.net/)\n\nAn [in-browser IDE](https://webgames-ide.hns.siasky.net/) to build Kaboom.js-based webgames that can take advantage of the Skynet data platform.\n\nExample Game 1: [Roller Ball](https://siasky.net/GACh0vLH6uJK2bC1iJF47ubkLJXj4TkUsojxS64_udi43A/)\n\nExample Game 2: [Space Shooter](https://siasky.net/IADY8rOaUo1Avy_NKjm4Ggwpb6nw_558XKqh4sVhOV3QEA/)\n\n\n## Video Demo\n\n[![Walkthrough Video](https://i.imgur.com/8LikgHS.png)](https://youtu.be/g6jRrBtVzI8)\n\n\n## Integration with Content Record DAC\n\nWhen users save a project for the first time:\n\n    CREATE 'sia:AAZ0f...' {type: 'SavedGame', content: {link: 'https://siasky.net/AAZ0f...'}, uri: 'https://...', prev: null}\n\nWhen users save updates to a project:\n\n    INTERACTION 'sia:AAZ0f...' {action: 'Updated', content: {link: 'https://siasky.net/AAZ0f...'}, uri: 'https://...', next: 'sia:AAZ1f...'}\n    CREATE 'sia:AAZ1f...' {type: 'SavedGame', content: {link: 'https://siasky.net/AAZ1f...'}, uri: 'https://...', prev: 'sia:AAZ0f...'}\n\nWhen users export a game from a project:\n\n    INTERACTION 'sia:AAZ1f...' {action: 'Exported', content: {link: 'https://siasky.net/AAZ1f...'}, uri: 'https://...', to: 'sia:AAZ2f...'}\n    CREATE 'sia:AAZ2f...' {type: 'PublishedGame', content: {link: 'https://siasky.net/AAZ2f...'}, uri: 'https://...', prev: 'sia:AAZ1f...'}\n\nWhen a user plays an exported game:\n\n    INTERACTION 'sia:AAZ2f...' {action: 'Play', content: {link: 'https://siasky.net/AAZ2f...'}}\n\nWhen the user publishes a score in an exported game\n\n    INTERACTION 'sia:AAZ2f...' {action: 'Score', score: 123456, content: {link: 'https://siasky.net/AAZ2f...'}}\n\n\n## Files maintained which may be useful\n\n`${DATA_DOMAIN}/gameindex.json`\nFormat: `{gameslist: [\"Game1.json\", \"Game2.json\", ...]}`\n\n    A list of game projects that the user has worked on. This populates the loading\n    modal popup in the IDE.\n\n    The path to the actual game JSON file in MySky is e.g. \"${DATA_DOMAIN}/game/Game1.json\"\n\n`${DATA_DOMAIN}/scores.json`\nFormat: `{scores: [{score: 123, skylink: \"EAB...tLw\", ts: 1619686786000}, ...]}`\n\n    A list of scores that this user has submitted to all games. This is filtered and\n    sent to games in order to power their leaderboards.\n\n\n### TODO\n\n* Add the ability to import a deployed Skynet project\n* Fix the editor and player so that it works properly on browser resize\n* Allow selection of game objects by clicking in the editor window\n* Add scroll/rotate tools to the editor in addition to the current move tool\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericflo%2Fwebgames-ide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fericflo%2Fwebgames-ide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericflo%2Fwebgames-ide/lists"}