Skip to content
0:00 / 0:00

#defold#clojure#javafx

Game Development Development - Michael Nygard & Ragnar Svensson

ClojureTV

111K subscribers • 158 videos on Hallway

YouTube
  • Recommended by 2 people: 1 in engineering communities and 1 curated list.
  • Presented by Michael Nygard & Ragnar Svensson
  • May be out of date. Uploaded 10 years ago, in an area where tools change fast.

Intermediate. Assumes working knowledge.

10K views10 years ago2 recommendations

Game developmentProgramming languagesUnity, Unreal and GodotLisp and Clojure

Michael Nygard and Ragnar Svensson discuss building the Defold game engine editor using Clojure, JavaFX, and an in-memory graph database.

Clojure for a desktop GUI application. With JavaFX. For game development. And it's all built on top of an in-memory, transactional graph database. One of the biggest game developers in the world needed a new IDE to build games for their engine. Eclipse just wasn't cutting it any more. It may sound a bit nuts to use Clojure for desktop GUIs, but this architecture delivers incredible benefits to the tool developers. About the speakers: You can find Michael Nygard coding, writing, speaking, or thinking about how the Universe works. He has lived with systems in production and learned hard lessons about the importance of operations. Highly-available, highly-scalable commerce systems are his forte. Ragnar Svensson has worked as a game developer for many years, starting out with player mechanics for AAA console games and transitioning into game engine programming, primarily for the mobile and web platforms. He co-founded the game engine Defold, which was acquired by King in 2014. He currently works for King as lead engine developer of the Defold engine.

Why it's here

2 people recommend this

What people say. Recommended as a great case study of building a large-scale desktop GUI application in Clojure.

u/zarandysofiain r/Clojure • Recommends

Michael Nygard & Ragnar Svensson - Game Development Development

programming-talkscurated list on GitHubRecommends

Under “Clojure”

Game Development Development 00:35:09 by **Michael Nygard & Ragnar Svensson** (2015)

u/vlaaadin r/Clojure • Mentions

King is making its Defold game engine open source The announcement is here. While the engine itself is written in C++, the editor for the engine is written in Clojure. Some interesting facts about Defold editor: - at ~100k lines of code it might be the biggest open-source Clojure codebase; - Cognitect helped King develop this editor — you can find commits by well-known members of the Clojure community, such as Carin Meier and Michael Nygard; - it features an advanced computation graph that you can learn more about here. I worked on the Defold editor — that is a very interesting and unusual Clojure project!

u/vlaaadin r/Clojure • Mentions

On “King is making its Defold game engine open source”

The fact that it's only 14% of the codebase speaks more about the conciseness of Clojure than about its relevancy. In game engines, editors are an important tool for fast iteration times and feedback loops. This clojure conj talk explains why they went with Clojure (in short, for its approach to state and resulting simplicity). I think I see your point about the relevancy of this project — if you are thinking about being a user of Defold then it's not relevant because user-facing language is Lua. I think it's still worth to share so if you use Defold and know Clojure, you might be able to improve it, and it's quite big and old Clojure project that can be explored for learning or data-mine…

u/scarredwaitsin r/Clojure • Mentions

On “King is making its Defold game engine open source”

This talk outlines some interesting design decisions for the Clojure part (the editor) link to this video

u/zarandysofiain r/Clojure • Mentions

On “My 2 cents on the "end of dynamic languages"”

> Structural editing would certainly help a lot here. But learning to use structural editing is an upfront investment I don't want to make at this time Seriously? Getting grope of the basic (which like 90% of what you are gonna use) only takes like 1 to 2 hours as much, maybe less. **OMG YOU ARE SO LAZY** ;) > But they're still not PHP level of terribad IMO. Dear, PHP is on its own level, like far beneath the underworld, Java is actually more digestible. > Most people probably start being interested in FP only after they bashed their heads against problems caused by mutable state one time too many. That scenario reminds me the begging of this talk.

u/vlaaadin r/Kotlin • Mentions

On “Kotlin overtakes Scala and Clojure, to become the 2nd most popular language on the JVM”

Counter counter-argument as another professional Clojure dev: 5 years in on a big Clojure project, it hasn't fallen down yet. To back it up a little: a project in question is Defold editor. Written in Clojure. First public mentions are in 2015. No problems with maps so far.

u/alexdmillerin r/Clojure • Mentions

On “What are the main downsides of using Clojure and its ecosystem?”

King has a very impressive game editor written in Clojure with JavaFX called Defold. [video https://medium.com/techking/how-we-use-clojure-at-king-to-write-a-game-engine-editor-d0c87c81965b

u/alexdmillerin r/Clojure • Mentions

On “What's your least favorite thing about Clojure?”

I have heard multiple reports of good experiences with using JavaFX from Clojure. One here: link to this video

u/vlaaadin r/Clojure • Mentions

On “Feedback wanted on idea for a library about expressing the relationships between keys in your program”

There is also defold that uses similar computation graph described here if you are interested. Not open source though.