The idea of creating a game that is different, fun, and a work of art has always seemed appealing to me.

One question is: where do you start such a quest? As with many creative endeavors, all you have when you begin is a white canvas, a blank page, or, in this case, an empty Git repository.

You need to start somewhere. Be humble and do not assume that things will be right the first time you lay them down. Then slowly but continuously evolve them, and hope that inspiration catches you while you are working on your game.

When you want to go to a known place, you can use a map, plan the best route, and take what seems to be the optimal path. Here, you only have a vague idea of what the place you are looking for is like, but you do not know where it is.

Like an explorer looking for the perfect spot, you might follow a path only to discover that it is a dead end. You come back and explore another path, and then another, until eventually, if you are lucky, through trial and error, you arrive somewhere you really like.

Exploration is not for everybody. It takes time and effort. It is perfectly fine to pick a map and visit places that are already known.

Developing a computer game can be a bit like this. You have a vague idea of the kind of game you want to create: a certain genre, a certain art style, and some high-level characteristics. But it is difficult to know all the details before you start trying things, playtesting, and discovering what works and what does not.

For this kind of exploratory design, you do not need the fastest game engine or the fastest language. What matters is having a language that allows you to explore the game space without interruptions or unnecessary ceremony, and that makes trying ideas cheap and enjoyable.

Common Lisp is such a language. From the REPL, you can redefine behaviors while the game is running, without restarting the game or going through long compile cycles.

This ability to change a running program makes it possible to explore ideas faster than with traditional compile-run or edit-run development cycles. The REPL provides a richer environment for experimentation, with less ceremony between having an idea and seeing it in the game.

Have fun exploring and trying new paths.