Tims Gardner

Arcadia: Functional Video Game Development with Clojure and Unity 3D

Arcadia: Functional Video Game Development with Clojure and Unity 3D

Joint talk: Ramsey Nasser and Tims Gardner

Unity 3D is the de facto industry-standard platform for making games. It is built on Mono, scripted in C#, and exports to a wide range of systems, including OSX, Windows, Linux, iOS, Android, XBox, PlayStation, and the web.

We are providing an open-source library integrating Clojure and Unity. Clojure will dramatically improve game development by bringing Lisp-style REPL-based live coding, optimizing macros, and DSLs to Unity’s workflow. Persistent data structures will enable previously impossible computations in games, such as speculative AI algorithms, logic programming, and rewindable game state history.

Unity’s graphics and interaction stack opens up considerable power to Clojure programmers. Optimized 2D and 3D graphics, physics simulations, and integration with hardware such as the Kinect are examples of what is now available to functional programmers. Unity’s extensive community and collection of prepackaged assets will make developing games in Clojure practical for the first time.

Our talk will cover the indispensable role of platforms like Unity in professional game development, and the new possibilities afforded by its integration with a functional Lisp like Clojure. We will show a demo of our new workflow, discuss historical precedent for this initiative, and conclude with thoughts on future applications of our approach.

About Tims

Tims Gardner is an illustrator and Clojure programmer. His interests include symbolic computation, formal visualization, and psychedelic comics. He is a member of Kitchen Table Coders and aspires to cavitate the moon someday.

 

Twitter: @timsgardner

Back to conference page