{"id":21387110,"url":"https://github.com/russmatney/lil-shooter","last_synced_at":"2026-05-21T04:07:17.305Z","repository":{"id":67728953,"uuid":"382976149","full_name":"russmatney/lil-shooter","owner":"russmatney","description":"A godot with clojure prototype, via ArcadiaGodot","archived":false,"fork":false,"pushed_at":"2021-10-27T02:09:15.000Z","size":199,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-16T12:17:27.449Z","etag":null,"topics":["arcadia","clojure","godot"],"latest_commit_sha":null,"homepage":"","language":"Clojure","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/russmatney.png","metadata":{"files":{"readme":"readme.org","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-07-05T00:42:08.000Z","updated_at":"2023-07-17T17:32:42.000Z","dependencies_parsed_at":"2023-04-06T22:04:22.949Z","dependency_job_id":null,"html_url":"https://github.com/russmatney/lil-shooter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/russmatney/lil-shooter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/russmatney%2Flil-shooter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/russmatney%2Flil-shooter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/russmatney%2Flil-shooter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/russmatney%2Flil-shooter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/russmatney","download_url":"https://codeload.github.com/russmatney/lil-shooter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/russmatney%2Flil-shooter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33288202,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-21T02:57:32.698Z","status":"ssl_error","status_checked_at":"2026-05-21T02:57:31.990Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["arcadia","clojure","godot"],"created_at":"2024-11-22T12:11:52.321Z","updated_at":"2026-05-21T04:07:17.270Z","avatar_url":"https://github.com/russmatney.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"#+TITLE: Lil Shooter\n\nA small godot with clojure prototype.\n\nOriginally, this was a quick prototype implemented in gd script following this\nclick-baity tutorial: \"Make a 2D Top-down Shooter in just 10 Minutes\"\nhttps://www.youtube.com/watch?v=HycyFNQfqI0\n\nA few months later, I discovered ArcadiaGodot:\nhttps://github.com/arcadia-unity/ArcadiaGodot, but I couldn't find many example\nprojects - so I refactored all the .gd scripts here into clojure.\n\nIt went pretty well! Most importantly, you are able to start the game and\nconnect to it via nrepl, and develop/debug most everything from there. It is a\ndelight!\n\nThere are some caveats - some of the usual tricks do not work, at least not out\nof box. As of yet, jump to definition and auto-completion are not supported.\n\nIt's also slightly tedious to reconnect to the repl whenever you want to reboot\nthe game (though you can just reload the scene from the repl).\n\nAnother issue is stacktraces and errors in general - they don't yet include a\nprecise file and line number, but do at least show the namespace and function\ncall responsible.\n\nThere was one point at which my game was consistently freezing - I had captured\na game node (a bullet) in an anonymous function, the bullet was being destroyed\nelsewhere, and the game was just locking completely. (The solution was wrapping\nit in a WeakRef, which is probably the right C# answer anyway.)\n\nThat being said - I'm still pretty excited to take this to a larger game. Being\nable to write and debug in a comment block makes for a damn good feedback loop,\nas opposed to the tiresome read-docs, edit-code, restart, recreate-state.\n\n\n* Notes\nYou'll need Godot built with Mono - see\nhttps://github.com/arcadia-unity/ArcadiaGodot for a link to godot's docs for\nhandling that.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frussmatney%2Flil-shooter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frussmatney%2Flil-shooter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frussmatney%2Flil-shooter/lists"}