Using Common Lisp for Game Dev Part 2

posted on 2020-05-16 19:00:00

My previous post explored why I chose Common Lisp to develop my Indie game. In this follow-up I'll tell you what makes Lisp special as a language and how that applies to game dev.

Using Common Lisp for Game Dev

posted on 2020-05-05 19:16:00

Conventional wisdom says if you're making an indie game you almost always want to use an existing engine for your project, like Unity or Godot. Conventional wisdom also says to write your game in a programming language typically used for modern game development.

This is good advice! However, I chose not to follow conventional wisdom and built a custom game engine in Common Lisp. I'm currently using this engine to develop my Indie Game, Syn. My reasons don't apply to most people, but they do hold a general lesson about game dev.

Here's why I did it.

Enable cl-annot for all files in an asdf project

posted on 2020-02-21

Quick lisp tip for enabling cl-annot reader macros across an entire asdf project.

Beware RESTART-CASE in a hot codepath

posted on 2019-11-15 19:00:00

Quick lisp performance tip about using restart-case.

Beware foreign memory in lisp images

posted on 2019-10-21 17:50:00

If you're developing a game in Common Lisp, two things are probably true:

  • you're using CFFI to call into a C library, like SDL2.
  • you're building a lisp image to ship your game.

Taken together, you're open to a very subtle bug.

Building a Cross-Platform Lisp Binary

posted on 2019-08-06 19:00:00

Let's say you've created an awesome desktop game using Common Lisp. Good job. Now, how will you share your creation?

Unfortunately lisp has yet to take over the world, so if you want widespread use of your game you must produce a binary for each platform you want to support.

This post will cover:

  • How binaries are generally built in Common Lisp
  • Building a binary for a sample-game which includes an external library (SDL2)
  • How to set up CI (Azure Pipelines) to produce binaries for a sample-game on Linux, Mac, and Windows (using Pipelines' free plan).

Bootstrapping a blog with lisp

posted on 2019-05-03 19:00:00

I recently participated in the 2019 Lisp Game Jam. I wanted to share some of the things I learned in the process. So I decided to start a lisp+gamedev blog.

But before I can post anything I need to actually set up a blog. And what better way to blog about lisp than with lisp itself?

This blog covers game-dev, linux, lisp, mac, programming, syn, web, windows

Unless otherwise credited all blog material Creative Commons License by Ark