{"id":14990874,"url":"https://github.com/salvatorepreviti/js13k-2020","last_synced_at":"2025-07-20T22:32:37.951Z","repository":{"id":95813419,"uuid":"287256092","full_name":"SalvatorePreviti/js13k-2020","owner":"SalvatorePreviti","description":"Island Not Found - a game for js13k 2020","archived":false,"fork":false,"pushed_at":"2021-01-20T16:42:52.000Z","size":55680,"stargazers_count":54,"open_issues_count":0,"forks_count":8,"subscribers_count":2,"default_branch":"biscuit","last_synced_at":"2025-07-13T22:39:47.663Z","etag":null,"topics":["game","island","js13k","js13kgames","js13kgames2020","raymarching","sdf","typescript","webgl","webgl2"],"latest_commit_sha":null,"homepage":"https://js13kgames.com/entries/island-not-found","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/SalvatorePreviti.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":"2020-08-13T11:03:48.000Z","updated_at":"2025-04-09T21:47:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"fa22e7cd-ed77-45e3-9be5-f645e290ca18","html_url":"https://github.com/SalvatorePreviti/js13k-2020","commit_stats":{"total_commits":322,"total_committers":3,"mean_commits":"107.33333333333333","dds":"0.44099378881987583","last_synced_commit":"d2c661232cfb56f8e794898b5184346256fb9318"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/SalvatorePreviti/js13k-2020","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SalvatorePreviti%2Fjs13k-2020","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SalvatorePreviti%2Fjs13k-2020/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SalvatorePreviti%2Fjs13k-2020/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SalvatorePreviti%2Fjs13k-2020/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SalvatorePreviti","download_url":"https://codeload.github.com/SalvatorePreviti/js13k-2020/tar.gz/refs/heads/biscuit","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SalvatorePreviti%2Fjs13k-2020/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266210835,"owners_count":23893337,"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","island","js13k","js13kgames","js13kgames2020","raymarching","sdf","typescript","webgl","webgl2"],"created_at":"2024-09-24T14:21:00.855Z","updated_at":"2025-07-20T22:32:37.931Z","avatar_url":"https://github.com/SalvatorePreviti.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ISLAND NOT FOUND\n\nA game by Ben Clark and Salvatore Previti for https://2020.js13kgames.com/\n\nPLAY IT HERE https://2020.js13kgames.com/entries/island-not-found\n\nYou can read the whole post-mortem/make-of with all the magic explained at https://github.com/SalvatorePreviti/js13k-2020/wiki/Post-Mortem\n\nMIT License\nBen Clark, Salvatore Previti, 2020\n\nhttps://www.linkedin.com/in/ben-clark-18bb3b20/\n\nhttps://www.linkedin.com/in/salvatorepreviti/\n\n# Requirements to play\n\nThis game requires a keyboard and a mouse or trackpad and is not designed to be played on mobile or tablet.\nIt works on the latest version of Chrome, Firefox and Edge.\nIt requires a not too old GPU and in general a machine not older than 5 years.\n\nThis game does not work on Safari due to the lack of webgl2 support https://caniuse.com/webgl2\n\n# Build the source code\n\nFirst install all the required packages with\n\n```sh\nnpm i\n```\n\nNodeJS 14.8.0 is required.\n\n- To starts the development server, port 3000, with hot/quick reload on file change.\n\n```sh\nnpm run dev\n```\n\n- To builds the final zip file in the dist folder.\n\n```sh\nnpm run build\n```\n\n- To typecheck typescript files (no compilation output)\n\n```sh\nnpm run ts-check\n```\n\n- To run a generic .ts file or a .js file with es6 modules from node\n\n```sh\nnpm run ts-run src/filename.ts\n```\n\n# Sources and credits:\n\n- https://www.iquilezles.org/www/index.htm - Thank you! Your articles are amazing, truly inspiring, and our shader code is heavily based on your work. And we love [https://www.shadertoy.com/](ShaderToy)!\n- https://github.com/mbitsnbites/soundbox - The tool that Ben used to compose the music.\n- http://mercury.sexy/hg_sdf/ by MERCURY - We used or adapted some functions from this amazing library. Thanks MERCURY!\n- https://www.shadertoy.com/view/Xl2XRW - We got inspiration from here for the water Fractional Brownian motion.\n- http://prng.di.unimi.it/ - We used xoshiro pseudorandom number generator to feed randomness to our virtual island.\n- https://developer.mozilla.org/ - for documentation\n- https://www.gamasutra.com/view/feature/131326/designing_and_integrating_puzzles_.php?print=1 - Designing and Integrating Puzzles in Action-Adventure Games by Pascal Luban\n- https://twitter.com/kostik13337 for helping us in testing and fixing the font for Linux\n\n# Packages and tools:\n\n- spglsl - https://github.com/SalvatorePreviti/spglsl experimental GLSL minifier based on Google [ANGLE](https://github.com/google/angle) project\n- vitejs - https://github.com/vitejs/vite an opinionated web dev build tool that serves your code via native ES Module imports during dev and bundles it with Rollup for production.\n- rollup - https://rollupjs.org/guide/en/ JavaScript module bundler\n- terser - https://github.com/terser/terser JavaScript minifier\n- esbuild - https://github.com/evanw/esbuild an extremely fast JS bundler (and TypeScript transpiler)\n- TypeScript - https://www.typescriptlang.org/\n- node-zopfli - https://github.com/pierreinglebert/node-zopfli ZOPFLI compressor for NodeJS\n- adm-zip - https://github.com/cthackers/adm-zip pure JavaScript implementation for zip data compression. We monkey patched it to use node-zopfli instead of zlib.\n- csso - https://github.com/css/csso css optimizer and minifier\n- clean-css - https://github.com/jakubpawlowicz/clean-css css optimizer and minifier\n- html-minifier - https://github.com/kangax/html-minifier HTML minifier\n- babel - https://babeljs.io/ a JS compiler, to add some minification additional steps\n- and NodeJS, GitHub, eslint, prettier, husky, lint-staged, chalk, and many others.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalvatorepreviti%2Fjs13k-2020","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsalvatorepreviti%2Fjs13k-2020","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalvatorepreviti%2Fjs13k-2020/lists"}