https://github.com/oakes/play-cljc
A Clojure and ClojureScript game library
https://github.com/oakes/play-cljc
Last synced: 5 days ago
JSON representation
A Clojure and ClojureScript game library
- Host: GitHub
- URL: https://github.com/oakes/play-cljc
- Owner: oakes
- License: unlicense
- Created: 2019-02-24T22:04:16.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-10-05T15:58:48.000Z (over 1 year ago)
- Last Synced: 2025-02-09T11:06:15.487Z (12 days ago)
- Language: Clojure
- Homepage:
- Size: 113 MB
- Stars: 548
- Watchers: 18
- Forks: 14
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Introduction
A 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.
## Getting Started
You can generate a new project with the [Clojure CLI Tool](https://clojure.org/guides/getting_started#_clojure_installer_and_cli_tools):
`clj -Sdeps "{:deps {leiningen/leiningen {:mvn/version \""2.9.0\""}}}" -M -m leiningen.core.main new play-cljc hello-world`
This will start you off with a little platformer. It will contain a README with all the commands you need to use.
## Documentation
* Check out [the example games](https://github.com/oakes/play-cljc-examples)
* Read [the dynadocs](https://oakes.github.io/play-cljc/cljs/play-cljc.gl.core.html)
* 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
* Read [the tutorial](TUTORIAL.md)
* Join the discussion on [r/playcljc](https://www.reddit.com/r/playcljc/)
* See the screencasts:
* Intro to play-cljc: https://www.youtube.com/watch?v=y6WpUdECwmA
* Making play-cljc games with O'Doyle Rules: https://www.youtube.com/watch?v=6_mDiH5_hSc## Companion Libraries
* [tile-soup](https://github.com/oakes/tile-soup) - Parse tiled maps
* [play-cljc.text](https://github.com/oakes/play-cljc.text) - Render text
* [iglu](https://github.com/oakes/iglu) - Write shaders as Clojure data
* [odoyle-rules](https://github.com/oakes/odoyle-rules) - Manage state with a rules engine
* [edna](https://github.com/oakes/edna) - Create MIDI music## Development
* Install [the Clojure CLI tool](https://clojure.org/guides/getting_started#_clojure_installer_and_cli_tools)
* To run the examples in a native window on each OS:
* `clj -M:dev:linux native`
* `clj -M:dev:macos native`
* `clj -M:dev:windows native`
* To install the release version: `clj -M:prod install`## Licensing
All 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.