

Clojure game development wiki - dkersten
http://clojure-games.org/

======
simonsarris
There are more advertisements (2) than articles and games (0 and 0,
respectively) on the site.

I hope HN helps out and adds to the page, but I think the creator should worry
about having _some_ content first, any at all, before they worry about things
like monetization. Otherwise it just feels skeezy.

~~~
dkersten
Regarding monetization, I have no intentions of making any money off this site
- ever. The advertisements were there because wikidot adds them to free
accounts. They should be gone though, since I paid for a "no adverts" account.

As for games and articles, I am working on it and hopefully others will
contribute the odd bit of code or link too. In the meantime, I have linked
whatever clojure game dev related libraries, articles and blog posts I could
find on google, so at least the wiki can act as a place to collect them all in
one place - until I get more content, at least.

The reason I put it on HN at all with so little content is exactly because I'm
not doing this for money - I'm doing it because I would like to promote
clojure, game development and, most importantly, game development in clojure
and have received a few emails about the site over the past few weeks. This
proved to me that there is interest in such a thing, now I'd like to see if
theres enough interest for people to contribute, since it would take me a long
time if I'm the only one creating content.

tl;dr: The site is for the community, so I wanted to get the community
involved as early as possible. Apologies for the adverts, they should be gone
now.

~~~
eru
By the way, wikidot is pretty good. It even supports LaTeX-style math, if I
remember correctly.

~~~
dkersten
This is the first site I've used wikidot for, so thats good to hear. Thanks.
So far its meeting my expectations anyway, so I'm pretty happy with it.

 _It even supports LaTeX-style math_

Yeah, it does, I saw it mentioned in the markup docs. Its pretty nice.

------
peteysd
The owner of this page probably should have added some content to it before
posting to HN.

As those old Head & Shoulders commercials so wisely profess - you never get a
second chance to make a first impression.

------
mkilling
I'm looking forward to see some actual games on there. Last time I tried game
dev in Clojure it wasn't fun at all. I'm curious to see if it was me or if
Clojure/functional languages in general just aren't well-suited for games.

~~~
angrycoder
<http://prog21.dadgum.com/23.html>

I think trying make traditional computer games in functional languages is
using the wrong tool for the job, the author reached the same conclusion.

Thats not to say that games aren't possible, they just need to be different
kinds of games that are grown from the strengths of functional languages.

There's also: <http://landoflisp.com/>

~~~
zach
I'd actually never read that series, although I had seen links to it a couple
time. Just read through it and a few things should be pointed out:

1\. The author has had second thoughts about his original conclusions:
<http://prog21.dadgum.com/37.html>

2\. The author is constrained by the Erlang feature set. The author rejects
out of hand the idea of using "structs", but Clojure's maps and records are
easy to use, share data and would perform admirably.

3\. The author is constrained by his retrogame and microsystem domain. No
modern gaming platform has issues with game state using too much memory or
generating too much garbage (exception: complex physics). In fact, data
duplication is now a common game performance technique. But if your tastes run
toward ultralean programming, this is a distasteful state of affairs.

4\. Much of modern game development has moved to an increasingly functional
dataflow model already because of the necessities of multiprocessing and
network gaming. It's rarely elegant and never done in a functional language,
but it's the current reality.

5\. Games are one of the places where a sophisticated view of time, as Rich
Hickey advocates in his fantastic JVM Languages Summit keynote, offers a lot
of value. It's a problem that thoughtful programmers and designers in the game
industry have often considered, but have been unable to innovate much in the
current technological regime. I just rewatched the talk last week, in fact,
and highly recommend it for game programmers who read Hacker News:

[http://www.infoq.com/presentations/Are-We-There-Yet-Rich-
Hic...](http://www.infoq.com/presentations/Are-We-There-Yet-Rich-Hickey)

~~~
frou_dh
I like that talk. I saved the video a while ago and have watched it several
times. His disambiguation of identity, state and value makes a lot of sense.

~~~
zach
As a game developer, the treatment of perception vs. presumed authority about
the state of a system resonated with me. Trying to infer a state of a system,
given observations that are already in the past, is something networked game
developers are especially familiar with.

Actually, Clojure would be a great host for a library that makes deriving a
valid and consistent state from multiple observations in the past, something
every networked game needs to do, more regular and predictable. That's often
one of those "scary" parts of a game's code base. Things get pretty hairy,
there is a lot of ad-hoc code, bugs are hard to track down and nobody wants to
mess with it so it tends to get even cruftier and scarier.

~~~
frou_dh
But the use of an existing game engine or other substantial middleware might
impose certain idioms on you. I worked on an MMO myself, though not on game
logic. Anyway, I agree that Clojure's strengths being used in gamedev is an
exciting prospect!

~~~
zach
Very true, and ultimately why I think Clojure is a lot more ripe for
nontraditional markets than expecting it to break into mainstream game
development. There may be quirky and clever developers who put Clojure into
mainstream game technology, but I think new platforms are where it can achieve
the greatest leverage.

~~~
frou_dh
Speaking of that, my interest in big movie-wannabe games is dwindling rapidly,
both as a player and career. Simple focused games and playthings are what I
find myself admiring.

------
wtracy
I had hoped there would be some content on writing Android games in Clojure.

