{"id":14990880,"url":"https://github.com/mvasilkov/neatness2022","last_synced_at":"2025-08-02T00:07:49.307Z","repository":{"id":65716030,"uuid":"524381713","full_name":"mvasilkov/neatness2022","owner":"mvasilkov","description":"The Neatness (js13kGames 2022)","archived":false,"fork":false,"pushed_at":"2023-03-05T09:40:15.000Z","size":313,"stargazers_count":30,"open_issues_count":3,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-25T23:01:41.301Z","etag":null,"topics":["astar-algorithm","dda-algorithm","flood-fill-algorithm","game-development","js13k","js13kgames","typescript"],"latest_commit_sha":null,"homepage":"https://js13kgames.com/games/the-neatness/index.html","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mvasilkov.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":"2022-08-13T11:37:11.000Z","updated_at":"2024-10-31T11:39:56.000Z","dependencies_parsed_at":"2024-09-24T16:04:48.063Z","dependency_job_id":"aab86d54-8a2e-4831-904e-ed863c1ee23c","html_url":"https://github.com/mvasilkov/neatness2022","commit_stats":{"total_commits":124,"total_committers":1,"mean_commits":124.0,"dds":0.0,"last_synced_commit":"23ee28bfbda813c2d9b55e21105c6e35d2ae586c"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvasilkov%2Fneatness2022","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvasilkov%2Fneatness2022/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvasilkov%2Fneatness2022/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvasilkov%2Fneatness2022/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mvasilkov","download_url":"https://codeload.github.com/mvasilkov/neatness2022/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248511066,"owners_count":21116345,"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":["astar-algorithm","dda-algorithm","flood-fill-algorithm","game-development","js13k","js13kgames","typescript"],"created_at":"2024-09-24T14:21:01.376Z","updated_at":"2025-04-12T03:24:32.441Z","avatar_url":"https://github.com/mvasilkov.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [The Neatness][1]\n\n**Disclaimer:**\n\nThe author of this work does not condone the repackaging of \"The Neatness\" as any kind of NFT or blockchain-related technology. The use of this work for such purposes is not supported by the author and may result in unintended consequences, including hospitalization, disability or permanent damage. Consider yourself disclaimed.\n\n***\n\n\u003e A walk through life, however thorough,\u003cbr\u003e\n\u003e Ends on a hill a bit too steep.\u003cbr\u003e\n\u003e Bear witness, not to strife and sorrow, –\u003cbr\u003e\n\u003e Bare neatness of eternal sleep.\u003cbr\u003e\n\nWritten by Mark Vasilkov for js13kGames in 2022.\n\nIf you feel it's too easy, try the Coil levels from the\nlevel select screen. They are cursedly hard.\n(If you don't have Coil, append `#coil` to the URL.)\n\nFor best experience on Android, use the 'Add to Home screen'\nfeature. Seriously, it's amazing how much better the game runs\nif started from that shortcut.\n\nThank you for playing!\n\nReleased under the [GNU General Public License version 3][2]\n\n[1]: https://github.com/mvasilkov/neatness2022\n[2]: https://www.gnu.org/licenses/gpl-3.0.en.html\n\n## Acknowledgements\n\n*The Neatness* is inspired by\n\n* *The Looker* by Bradley Lovell\n* *The Witness* by Jonathan Blow\n\nThe following data structures and algorithms\nwere harmed in the making of this game:\n\n* Digital differential analyzer (DDA) based on\n  [Raycasting tutorial][ack1] by [Lode Vandevenne][ack2]\n    * Explained beautifully by [OneLoneCoder][ack3] in his video\n      [Super Fast Ray Casting in Tiled Worlds using DDA][ack4]\n* Scanline flood fill inspired by Pavel Kukov's q-floodfill\n    * Which in turn cites\n      [QuickFill: An Efficient Flood Fill Algorithm][ack5]\n      by John R. Shaw\n* Priority queue by [Francis Stokes][ack6] aka LowLevelJavaScript,\n  see [Implementing A Generic Priority Queue][ack7]\n* `A*` based on the excellent\n  [Introduction to the `A*` Algorithm][ack8] by [Amit Patel][ack9]\n\nUpdated implementations of all of these are available in [natlib][natlib].\n\n[ack1]: https://lodev.org/cgtutor/raycasting.html\n[ack2]: https://github.com/lvandeve\n[ack3]: https://github.com/OneLoneCoder\n[ack4]: https://youtu.be/NbSee-XM7WA\n[ack5]: https://www.codeproject.com/Articles/6017/QuickFill-An-Efficient-Flood-Fill-Algorithm\n[ack6]: https://github.com/LowLevelJavaScript\n[ack7]: https://youtu.be/M6OW0KNkhhs\n[ack8]: https://www.redblobgames.com/pathfinding/a-star/introduction.html\n[ack9]: https://github.com/redblobgames\n[natlib]: https://github.com/mvasilkov/natlib\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmvasilkov%2Fneatness2022","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmvasilkov%2Fneatness2022","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmvasilkov%2Fneatness2022/lists"}