{"id":13442333,"url":"https://github.com/oakes/play-cljc","last_synced_at":"2025-04-08T18:18:49.726Z","repository":{"id":34292597,"uuid":"172395494","full_name":"oakes/play-cljc","owner":"oakes","description":"A Clojure and ClojureScript game library","archived":false,"fork":false,"pushed_at":"2023-10-05T15:58:48.000Z","size":118595,"stargazers_count":550,"open_issues_count":9,"forks_count":14,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-04-01T14:17:19.779Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oakes.png","metadata":{"files":{"readme":"README.md","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},"funding":{"github":"oakes","patreon":"sekao"}},"created_at":"2019-02-24T22:04:16.000Z","updated_at":"2025-03-28T11:38:24.000Z","dependencies_parsed_at":"2023-01-15T05:57:38.991Z","dependency_job_id":"ace539ab-717b-4c90-99c6-4f7d8c34f149","html_url":"https://github.com/oakes/play-cljc","commit_stats":{"total_commits":463,"total_committers":4,"mean_commits":115.75,"dds":"0.021598272138228958","last_synced_commit":"7278dd4997298b55c5e6771cad22b99d76706f5f"},"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oakes%2Fplay-cljc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oakes%2Fplay-cljc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oakes%2Fplay-cljc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oakes%2Fplay-cljc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oakes","download_url":"https://codeload.github.com/oakes/play-cljc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247898519,"owners_count":21014722,"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-07-31T03:01:44.454Z","updated_at":"2025-04-08T18:18:49.706Z","avatar_url":"https://github.com/oakes.png","language":"Clojure","funding_links":["https://github.com/sponsors/oakes","https://patreon.com/sekao"],"categories":["Clojure","Game Development"],"sub_categories":[],"readme":"## Introduction\n\nA library for making games that run in both OpenGL and WebGL. There's no black box `wasm` trickery going on here; just good old fashioned [cljc files](https://clojure.org/guides/reader_conditionals), some macro magic, and absolutely zero social life. Every coffee shop barista near me agrees that this game library is basically the greatest one ever. Other game libraries? Total disasters! Everyone agrees. Believe me.\n\n## Getting Started\n\nYou can generate a new project with the [Clojure CLI Tool](https://clojure.org/guides/getting_started#_clojure_installer_and_cli_tools):\n\n`clj -Sdeps \"{:deps {leiningen/leiningen {:mvn/version \\\"\"2.9.0\\\"\"}}}\" -M -m leiningen.core.main new play-cljc hello-world`\n\nThis will start you off with a little platformer. It will contain a README with all the commands you need to use.\n\n## Documentation\n\n* Check out [the example games](https://github.com/oakes/play-cljc-examples)\n* Read [the dynadocs](https://oakes.github.io/play-cljc/cljs/play-cljc.gl.core.html)\n  * Check out the interactive [2D](https://oakes.github.io/play-cljc/cljs/play-cljc.gl.examples-2d.html) and [3D](https://oakes.github.io/play-cljc/cljs/play-cljc.gl.examples-3d.html) examples\n* Read [the tutorial](TUTORIAL.md)\n* Join the discussion on [r/playcljc](https://www.reddit.com/r/playcljc/)\n* See the screencasts:\n  * Intro to play-cljc: https://www.youtube.com/watch?v=y6WpUdECwmA\n  * Making play-cljc games with O'Doyle Rules: https://www.youtube.com/watch?v=6_mDiH5_hSc\n\n## Companion Libraries\n\n* [tile-soup](https://github.com/oakes/tile-soup) - Parse tiled maps\n* [play-cljc.text](https://github.com/oakes/play-cljc.text) - Render text\n* [iglu](https://github.com/oakes/iglu) - Write shaders as Clojure data\n* [odoyle-rules](https://github.com/oakes/odoyle-rules) - Manage state with a rules engine\n* [edna](https://github.com/oakes/edna) - Create MIDI music\n\n## Development\n\n* Install [the Clojure CLI tool](https://clojure.org/guides/getting_started#_clojure_installer_and_cli_tools)\n* To run the examples in a native window on each OS:\n  * `clj -M:dev:linux native`\n  * `clj -M:dev:macos native`\n  * `clj -M:dev:windows native`\n* To install the release version: `clj -M:prod install`\n\n## Licensing\n\nAll files that originate from this project are dedicated to the public domain. I would love pull requests, and will assume that they are also dedicated to the public domain.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foakes%2Fplay-cljc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foakes%2Fplay-cljc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foakes%2Fplay-cljc/lists"}