/gdl

A new, simple and powerful language for writing games with no compromises

Primary LanguageClojure

Useful links

Why game programming is broken

Overwatch ECS architecture GDC video

Details

Based on libGDX.

Supporting desktop backend and 2D graphics API only at the moment.

Feedback appreciated.

This library is the backend for a roguelike action RPG game I am developing.

Installation

Add the following to your project.clj file:

:repositories [["jitpack" "https://jitpack.io"]]

:dependencies [[com.github.damn/gdx "1.0"]]

Documentation

Hello world window

(ns hello-world.core
  (:require [gdx.app :as app]
            [gdx.game :as game]
            [gdx.graphics :as g]))

(def main-screen
  {:show (fn [])
   :render (fn [] (g/render-gui ; takes care of all graphics context initializations
                    (fn []
                      ;; your render code here
                      )))
   :update (fn [delta] ; delta is elapsed time in ms since last update
            ;; your update code here
            )
   :destroy (fn [])})

(defn app []
  (app/create (game/create {:main main-screen})
              {:title "Hello World!"
               :width 800
               :height 600
               :full-screen false}))

(defn -main []
  (app))