play-cljc icon indicating copy to clipboard operation
play-cljc copied to clipboard

A Clojure and ClojureScript game library

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, 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:

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
  • Read the dynadocs
    • Check out the interactive 2D and 3D examples
  • Read the tutorial
  • Join the discussion on 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

Development

  • Install the Clojure CLI tool
  • 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.