What's this site all about
This site is about the developing of a game engine, a 2D game engine in Clojure to be precise.
Why a game engine and why Clojure
During my years as a programmer games have always facinated me the most, how they are made and the heavy use of different techniques. Game programming for me is one of the most challenging software disciplines, because it often requires knowledge of almost every part of the technical world. Graphics, sound and different input devices, along with threading, client/server principals and data structures, just to name a few.
Over the years I have tried many different game engines and even implemented several small game engines in Java and Turbo Pascal myself.
Then almost 6 years ago I was shown this functional language, named Clojure, inspired by Lisp and running on the Java Virtual Machine (JVM). I tried it out, but it took me several years before I learned enough to actually make something useful. Especially the functional thinking took me a good amount of time to get the grasp on. When I had the basic knowledge to actually use this new language, I found out its amazing and I thought it would be a cool language for game programming. Especially the immutable data structures. So I searched the internet for a Clojure game engine without any luck. Don't get me wrong there is a lot of blog post describing how to start using Java or one of the existing Java engines, but no real engine. So I got the idea to develop one myself, based on my former experience from Java.
Why now and not years ago
Well since I got to the conclusion of making my own engine, time went by and I thought about it, a lot, but never really started. Then a colleague showed me this website battleofbrothers.com Where two brothers are competing to make the best game in just a year, without any former experience in game programming. This inspired me to take on the challenge of making a Clojure 2D game engine in just a year.
So why this site
This site will be the home of the project and hopefully the finished game engine, or at least the different code pieces I'm going to create. I will try to make some small updates on the progress during the project, and some larger blog posts, when new features or other relevant progress have been made.
- Make a simple open source 2D game engine in Clojure
- Use Java interop for graphics, input and sound
- Support enough features to handle some classic 2D signature games
- Do it within a year, starting at 2014-07-01 (not including the creation of this website)
- Budget is 0 EUR (not including example graphics and web domain)
The time limit is set to try and push me into getting it done and the budget is because this is a hobby project and free software.
How to determine the success
To be honest I don't care whether this will be a commonly used Clojure 2D game engine or just an source for inspiration. If I can help or just inspire some of you out there, who wants to do game or game engine programming, then this project have been success.
Also I see this as a way to try and give something to the fantastic Clojure community, which already contains so many different libs, programmed by highly skilled people.
Follow the project
If you're interested in following the development, or have any feedback or suggestions, you can follow it on twitter, find the code on Github and write to me by mail or twitter. You will find the contact informations in the footer of the website.