{"id":15059542,"url":"https://github.com/jschomay/elm-interactive-story-starter","last_synced_at":"2025-04-10T05:31:50.254Z","repository":{"id":11073919,"uuid":"68247986","full_name":"jschomay/elm-interactive-story-starter","owner":"jschomay","description":"Build your own non-linear interactive stories using the Elm Narrative Engine","archived":false,"fork":false,"pushed_at":"2023-03-04T03:06:57.000Z","size":4749,"stargazers_count":62,"open_issues_count":12,"forks_count":10,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-24T06:51:44.577Z","etag":null,"topics":["elm","elm-lang","elm-narrative-engine","game-development","interactive-fiction","interactive-stories"],"latest_commit_sha":null,"homepage":"https://enegames.itch.io/elm-narrative-engine","language":"Elm","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jschomay.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":"2016-09-14T22:19:33.000Z","updated_at":"2023-01-09T06:11:04.000Z","dependencies_parsed_at":"2025-02-16T16:44:29.174Z","dependency_job_id":null,"html_url":"https://github.com/jschomay/elm-interactive-story-starter","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jschomay%2Felm-interactive-story-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jschomay%2Felm-interactive-story-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jschomay%2Felm-interactive-story-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jschomay%2Felm-interactive-story-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jschomay","download_url":"https://codeload.github.com/jschomay/elm-interactive-story-starter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248163102,"owners_count":21057872,"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":["elm","elm-lang","elm-narrative-engine","game-development","interactive-fiction","interactive-stories"],"created_at":"2024-09-24T22:45:15.804Z","updated_at":"2025-04-10T05:31:50.188Z","avatar_url":"https://github.com/jschomay.png","language":"Elm","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Interactive Story Starter\n\nThis repo helps you get started writing non-linear interactive story games for the\nbrowser using the [Elm Narrative Engine](https://enegames.itch.io/elm-narrative-engine).\n\nThe code in this repo is written in [Elm](https://elm-lang.org/), a friendly language\nthat gets compiled into JavaScript.\n\n## Usage\n\nFirst clone or download this repo, `cd` into it, and run `npm install`. Then:\n\n### Step 1: Set up the project\n\nHead over to the [visual editor](https://enegames.itch.io/elm-narrative-engine) to\ncreate a project, and add some data to the manifest and rules tabs.\n\n### Step 2: Connect your story data for live development\n\nIn the editor, under the \"Settings\" tab of your project, you will need to check the\n\"Allow public reads\" check box. You also need your project's id, which you can find\nin the same area.\n\nCopy and paste your project's id into the indicated spot in `src/dev.js`, then run\n`npm run dev` and open `localhost:3000/` in your web browser.\n\nYou should see your game with the data from the editor. This data updates in\nreal-time, so you can preview it as you make changes in the editor without needing to\nrefresh. It also live-updates as you make code changes.\n\n### Step 3: Customize your game\n\n`src/Model.elm` and `src/View.elm` contain the code to get your started. You can\nmodify these files to change how your game works and/or looks. You can also change\nthe title in `src/index.html` and the styles in `src/styles.scss`.\n\n### Step 4: Release your game\n\nWhen you are ready to release your game, you need to bundle it with the exported\nstory data.\n\nUnder the \"Settings\" tab of your project, you can download your \"Project data\" as a\njson file. Save this file as `story-data.json` next to `src/release.js` then run\n`npm run release`. You can then deploy the contents of the `dist/` directory where\never you want (such as zipping that directory and uploading it to a new itch.io\nproject).\n\nFeel free to share your finished game on the [\"Made with the Elm Narrative Engine\"\nforum](https://itch.io/t/1324724/games-made-with-the-elm-narrative-engine).\n\n## Getting help\n\nIf you are stuck, you can read through the [full\ndocumentation](https://package.elm-lang.org/packages/jschomay/elm-narrative-engine/latest/).\nYou can also ask for help on the [editor's\nforum](https://enegames.itch.io/elm-narrative-engine/community).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjschomay%2Felm-interactive-story-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjschomay%2Felm-interactive-story-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjschomay%2Felm-interactive-story-starter/lists"}