Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Tree: c244216cd6
Fetching contributors…

Cannot retrieve contributors at this time

80 lines (56 sloc) 2.866 kB
* SofiaBA
* Copyright (c) Lau B. Jensen. All rights reserved.
* The use and distribution terms for this software are covered by the
* Eclipse Public License 1.0 (
* which can be found in the file LICENSE.txt at the root of this distribution.
* By using this software in any fashion, you are agreeing to be bound by
* the terms of this license.
* You must not remove this notice, or any other, from this software.
SofiaBA - 3D Game for kids < 3 years old. Its intended to provide changes in
scenary and music, adding/removing special effects, as the child slams the keyboard.
On another level, its intended to provide bindings for the JMonkeyEngine. jME
is a cross-platform Gaming Engine, which provides an abundance of features. When
Im done extending the core functionality, I plan to provide wrappers to better
utilize the power of Lisp - Currently its a JavaInterop expedition :)
This is where Clojure comes in. Clojure is a Lisp-1 which sits on the JVM, its fully
dynamic, functional and geared for concurrency. Its being heavily developed upon by
its author Rich Hickey, and is therefor my language of choice.
If you're interested in Clojure, I suggest you stop by in channel
#clojure - There you'll find Rich, myself and others - I dare say, the Clojure community
is one of the best there is. And on that note, I'd like to give a special thanks
to Chris Houser (Chouser), who is a gifted programmer with the patience of a saint!
Without his help, sparring and input... I doubt I'd be working on 3D engines in Clojure
You'll need to download JMonkeyEngine 2.0 from,
You will also need LWJGL if you want to use the same rendering engine as me.
In addition, there's a seperate library called jMEPhysics, which you need to
grab from googlecode, and compile with
ant release.all -lib /path/to/jME-2.0.jar
This will generate jmephysics.jar, which you need to put in your class-path, along
In the library path, you need to stick:
First make /..../sofiaba/classes/
(library path is where you keep LWJGL)
Start Java with it, in your library path, like:
export LD_LIBRARY_PATH==/PATH/TO/sofiaba/src/deps/native/linux/
java -cp /path/to/clojure.jar:/path/to/sofiab/src/ clojure.lang.Repl
From the Repl, start the game like this
user> (set! *compile-path* "/path/to/sofiaba/classes/")
user> (compile 'dk.bestinclass.sofiaba)
user> (use :reload 'dk.bestinclass.sofiaba)
<runs initSystem and ouputs debugger-info>
user> (in-ns '
#<Namespace>> (-main)
I'll update this...tomorrow :)
Jump to Line
Something went wrong with that request. Please try again.