Clojure for high-end game development

989 views
Skip to first unread message

tcg

unread,
May 21, 2009, 2:35:30 PM5/21/09
to Clojure
You would think with Clojure's ability to make use of mutli cpu
hardware it would be a good choice for high-end game development.

Does anyone know if big game studios like Electronic Arts are using or
looking into Clojure for this purpose?

Mark Fayngersh

unread,
May 21, 2009, 10:29:23 PM5/21/09
to clo...@googlegroups.com
Game developement?
Definitely possible. I was even thinking of finding a way to bridge Clojure with the Android platform

Electronic Arts?
Most likely not.
--
~phunny...@gmail.com
~mar...@archlinux.us

Adrian Cuthbertson

unread,
May 21, 2009, 11:24:52 PM5/21/09
to clo...@googlegroups.com
> Game developement?

Some work has been done on using clojure with jogl (the java opengl
library) Search this forum with "jogl" for details.

> with the Android platform

I'm pretty sure there is also an android implementation of clojure.
Again, search this forum for "android".

Rgds, Adrian.

jdz

unread,
May 22, 2009, 3:50:55 AM5/22/09
to Clojure
On May 21, 9:35 pm, tcg <tomgu...@gmail.com> wrote:
> You would think with Clojure's ability to make use of mutli cpu
> hardware it would be a good choice for high-end game development.

Clojure is not the only language which provides access to multiple
CPUs/cores. When programming with immutable data structures, the code
is inherently parallelizable. I don't imagine industry programmers
starting to write functional code (yes, there's a pun!) just to get
"easier" access to parallel processing.

> Does anyone know if big game studios like Electronic Arts are using or
> looking into Clojure for this purpose?

Never heard of any "major" game studios writing games in Java (except
mobile platforms).
EA is a publisher, not a producer.

David Powell

unread,
May 22, 2009, 4:45:29 AM5/22/09
to Clojure

On Fri 22/05/09 09:50 , "jdz" yoho...@gmail.com sent:

> (exceptmobile platforms).


> EA is a publisher, not a producer.

Not about clojure, but see this presentation from the developers of Gears of War:

<http://www.cs.princeton.edu/~dpw/popl/06/Tim-POPL.ppt>

It talks about the programming language features that they would like, that would enable them to utilise
multi-cores, and write better software in general; functional programming and STM are the main two.

--
Dave


Daniel Lyons

unread,
May 22, 2009, 10:33:47 AM5/22/09
to clo...@googlegroups.com

On May 21, 2009, at 12:35 PM, tcg wrote:

> Does anyone know if big game studios like Electronic Arts are using or
> looking into Clojure for this purpose?


Apparently one company wrote some games in Lisp (Jak and Daxter): http://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp

Who knows? It could happen.


Daniel Lyons
http://www.storytotell.org -- Tell It!

Ian Phillips

unread,
May 22, 2009, 10:57:03 AM5/22/09
to clo...@googlegroups.com


It's unlikely to be used in a core game engine, even Java is no good
there as these guys need pretty low-level access to the hardware
(there's no way in Java to write your own custom allocator, or use
different allocators for different classes, for example).

But for higher level/scripting type stuff, it could definitely happen,
as far as I can tell the most popular language for game scripting at
the moment is Lua, but there are a huge number of custom
'little-languages' that ship with various engines.

And, of course, for multiplayer stuff Clojure would be a superb choice
for writing the server side in.

Cheers,
Ian.

#ifndef __COMMON_SENSE__ | Ian Phillips
#include <std_disclaimer> | ia...@ianp.org
#endif | http://ianp.org/

Jeff Heon

unread,
May 22, 2009, 10:57:20 AM5/22/09
to Clojure
> EA is a publisher, not a producer.

And they did publish the videogame Abuse, which is made from a list
variant:
http://en.wikipedia.org/wiki/Abuse_(computer_game)

Interestingly, there is a thread about video game programming using
Lisp here:
http://news.ycombinator.com/item?id=516778

And the first comment mentions Clojure 8)

Brian Sletten

unread,
May 22, 2009, 11:11:28 PM5/22/09
to clo...@googlegroups.com
Most game development is obviously still done w/ C++, even for backend
services which just astounds me. At best, some developers might be
using Tomcat for community sites and whatnot. The tide is probably
starting to turn, but there's not a lot of Clojure just yet.

At Riot (http://riotgames.com), we are doing quite a bit on the
backend with Enterprise Java, XMPP, data grid clusters, etc. for the
League of Legends (http://leagueoflegends.com) platform.

We are obviously aware of and interested in Clojure and Scala as well
as environments like NetKernel for their ability to leverage multiple
CPUs, but that would still be for infrastructure. As was mentioned
elsewhere Lua is used as the scripting language of choice for many
modern games. There are pockets of Lisp but I don't think it is too
widespread.

It's still going to be awhile until any serious games leverage a
modern language like Clojure.

tmountain

unread,
May 24, 2009, 12:30:08 PM5/24/09
to Clojure
This is true, but there are a few projects that are branching beyond
the industry standard and seeing big wins as a result. Eve Online is
one example. It's a MMO space exploration and colonization game, and a
big chunk of the code is written in Stackless Python. I believe
similar benefits could be gleaned from using Clojure; although, it'd
probably require the core of the game to be written in Java, which is
uncommon.

Here's the article on Eve and Stackless Python in case anyone is
interested.

http://harkal.sylphis3d.com/2005/08/10/multithreaded-game-scripting-with-stackless-python/

Travis
Reply all
Reply to author
Forward
0 new messages