interested in learning lisp, (specifically for games, but also for everything else including tui and gui applications for linux. currently have next to no programming knowledge, can i get forwarded some resources and some tips on what exactly i should do? any videos i should watch?

This page summarizes the projects mentioned and recommended in the original post on /r/lisp

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • trivial-gamekit

    Simple framework for making 2D games

  • If you insist on learning through game development -- and admittedly I learn best by just jumping in and doing something -- you should at least try making something simpler than a full 3D game first, like a roguelike: https://github.com/borodust/trivial-gamekit, https://borodust.org/projects/trivial-gamekit/.

  • trial

    A fully-fledged Common Lisp game engine

  • I don't know what the situation is like for 3D game programming in CL. Shinmera recently kickstarted a game but it's 2D I think and I don't know if his engine (https://github.com/Shirakumo/trial) does 3D. But regardless of what you're using, going into learning how to program while also trying to learn how to use the game engines available in the CL world will probably be a recipe for getting overwhelmed and discouraged. I'd recommend going through the Steve Losh post first and reading A Gentle Introduction to Symbolic Computation and/or Practical Common Lisp to get some solid general familiarity with using CL. Both are available online for free. You can also browse through the Cookbook: https://lispcookbook.github.io/cl-cookbook/

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • cl-cookbook

    The Common Lisp Cookbook

  • I don't know what the situation is like for 3D game programming in CL. Shinmera recently kickstarted a game but it's 2D I think and I don't know if his engine (https://github.com/Shirakumo/trial) does 3D. But regardless of what you're using, going into learning how to program while also trying to learn how to use the game engines available in the CL world will probably be a recipe for getting overwhelmed and discouraged. I'd recommend going through the Steve Losh post first and reading A Gentle Introduction to Symbolic Computation and/or Practical Common Lisp to get some solid general familiarity with using CL. Both are available online for free. You can also browse through the Cookbook: https://lispcookbook.github.io/cl-cookbook/

  • Panda3D

    Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU

  • Python: Blender and Panda3D (game engine used for Disney's Toontown way back when) are both scriptable with Python. I've been able to successfully call Panda from Py4CL2 (thanks digikar for the help with that), but I have not tried with Blender yet. I think it's doable.

  • clog

    CLOG - The Common Lisp Omnificent GUI

  • Interop libraries: CLOG, valtan, Parenscript

  • valtan

    Common Lisp to JavaScript compiler

  • Interop libraries: CLOG, valtan, Parenscript

  • BabylonJS

    Babylon.js is a powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework.

  • Engines: PlayCanvas, Three.js, BabylonJS

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • three.js

    JavaScript 3D Library.

  • Engines: PlayCanvas, Three.js, BabylonJS

  • py4cl2

    Call python from Common Lisp

  • Python: Blender and Panda3D (game engine used for Disney's Toontown way back when) are both scriptable with Python. I've been able to successfully call Panda from Py4CL2 (thanks digikar for the help with that), but I have not tried with Blender yet. I think it's doable.

  • engine

    Fast and lightweight JavaScript game engine built on WebGL and glTF

  • Engines: PlayCanvas, Three.js, BabylonJS

  • jMonkeyEngine

    A complete 3-D game development suite written in Java.

  • Java: Jmonkeyengine works with Armed Bear Common Lisp, but it requires you to write a lot of Java as "glue" because of the engine's structure. Still, the engine and ABCL are solid and you can get it if you give it time.

  • cffi

    The Common Foreign Function Interface

  • C: Alternatively (more difficult) you could try to wrap the underlying C layers of either of those mentioned under Python with CFFI. The C-based game engine, Raylib, is also wrappable this way. I finished a super cool walking simulator in CL with that, but it is more tedious than the others since raylib is really barebones.

  • love

    LÖVE is an awesome 2D game framework for Lua.

  • Another option, much simpler than unity/godot, but it only works for 2d games, would be using fennel (another lisp) with love2d (there's a tutorial for that in fennel's wiki). with no prior knowledge of lua I've made a simple 2d game in love2d myself in only a few hours, it's very good for beginners and learning how games work. Love2d has a subreddit: /r/love2d

  • Fennel

    Lua Lisp Language

  • Another option, much simpler than unity/godot, but it only works for 2d games, would be using fennel (another lisp) with love2d (there's a tutorial for that in fennel's wiki). with no prior knowledge of lua I've made a simple 2d game in love2d myself in only a few hours, it's very good for beginners and learning how games work. Love2d has a subreddit: /r/love2d

  • Arcadia

    Clojure in Unity

  • arcadia adds clojure (a lisp) to unity as a scripting language. You get to use a very good and well documented 3d game engine while still scripting stuff in your game in a lisp. there's a godot version too. The blender>unity/godot pipeline is pretty easy and documented. However, these game engines themselves are a lot to learn for your first game, especially if you're doing unorthodox stuff with them such as using lisp you won't find many tutorials.

  • paip-lisp

    Lisp code for the textbook "Paradigms of Artificial Intelligence Programming"

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts