An updated, better version of Compact Conflict is up! Play it now! This version features many improvements over the original JS13k version, but still clocks in under 13kB when minified and gzipped.
This year I decided to try my hand at JS13k. Being the ambitious chap I am, I picked a genre that might not be the easiest one to fit in one month of free time and 13kB of JS: a strategy game. One of the most important things in a single-player game of this genre is the AI. If the AI is bad, there won’t be any challenge, and if there is no challenge, the gameplay will fall flat on its face as a result. This post is the story of my arduous journey towards getting it right.
As you might know from its introduction post, September is a young, experimental language that is very much obsessed with function calls. Everything in it is a call - including control flow structures that any sane language would handle explicitly in the parser. Getting rid of all the syntax by replacing it with function calls is fun, but not all that easy. Today, I’d like to guide you through my attempts at doing so while comparing what September can do to Javascript and Ruby at the same time.
Since this is going to be my first post on September, it seems like a good place for a one-sentence introduction of the project. Here it goes. September is an experimental, dynamically-typed, curly-brace programming language with two overarching ideas: extensibility and pragmatism.
My name is Jakub Wasilewski, this is my blog, you are a reader, and I bid you welcome using the time-honored greeting all programmers use when they can’t think of anything better to say. So, without further ado: hello, world!