1. 24

  2. 7

    Has anyone submitted anything in the past? What’s the most comfortable framework for making games in Lisp/Scheme/etc? I ask as a curious person who is looking for a hygienic framework for creating games in. My issue is finding something that’s easy to cross-compile for other platforms (eg. I use Linux, but would want to compile for Windows friends). I have been mulling over Lua/love2d for a while but never committed since I would prefer a Lisp environment.

    1. 13

      You might like https://fennel-lang.org/

      1. 15

        I have participated in every one since 2018 using Fennel. The easiest way to get started IMO is using TIC-80 which has built-in support for Fennel and lets you publish your games to play in the browser, so no downloads are required: https://tic80.com

        Targeting love2d is another popular choice tho. It’s a lot more complex than TIC-80 but it also offers a lot more flexibility: https://love2d.org It’s harder to get love2d games to run in the browser but still really easy to cross-compile from Linux to Windows.

        (disclaimer: Fennel lead developer here)

        1. 4

          There’s even a starter kit for Love2D and Fennel


      2. 7

        Hello, jam organizer here. There have been lots of submissions from a variety of different Lisps in the past. You can check out the past jams on our wiki. Fennel seems to be a popular choice each jam, but I can’t say much more than that, as I am a diehard Common Lisp user :) For Common Lisp, there are a lot of partial solutions, as most people seem to be focused on building extremely general game engines rather than focused engines for a particular game/genre. This is expected in a way, as Common Lisp is extrememly performant, and there is no reason we need to be confined to C++ etc with Unity/Unreal/Godot…it just isn’t there yet though. I have been working towards that for a good 10 years now…but nothing worth announcing yet…anyway have fun regardless of which dialect you decide on!

        1. 1

          Thank you! I appreciate the insight. I have indeed looked at Godot in the past but felt it was too much for me to take on. I definitely want to try something out in Common Lisp, so the wiki you linked looks like a great place for me to start doing some research. Thank you for organizing this event!

        2. 5

          For 2D in Common Lisp, popular choices are Sketch and trivial-gamekit (apologies for self-plug). I, as an author of the latter framework, use travis/appveyor/github actions CI solutions to make builds for different platforms. If there would be any interest, I probably can arrange github action for building gamekit-based stuff for Linux and Windows. But otherwise, there exist examples for how to do that with travis and appveyor.

          1. 4

            Thank you! I don’t mind the self-plug, in fact I’m more inclined to check out your project for responding to my question! I will totally look into your library to see how it works now!

          2. 5

            Perhaps you might like CHICKEN; it is straightforward to compile static binaries, and cross-compiling to Windows (mingw) from Linux is also supported. There’s hypergiant, a game development toolkit, and on IRC you’ll find a few people interested in game writing too. In CHICKEN 4 we used to have a love2d-inspired framework called doodle, which shouldn’t be too hard to port to CHICKEN 5.

            1. 2

              I have been doing a bit of practice with Chicken and trying to get familiar with that environment. The cross-compiling is very appealing to me and I was actively looking at hypergiant. I might have to give that another shot!

          3. 6

            I plan on entering using Janet’s raylib bindings

            Dunno how far I will get but I’m excited to take them all for a spin!

            1. 6

              Oooooo, I should join this. By mid-October I will probably be ready for a break from programming language design stuff again, and ten days is an intriguing length of time for a game jam. More than the 48-hour sprints that I’m used to, but less than a month-long endurance run.

              I am intrigued by the mention of Janet+Raylib, but Rule One of a game jam is “don’t use it to learn totally new technology”, so I think that this time Fennel+Love2D is a better choice. I, uh, still don’t know Fennel, but I know Lua vaguely well and I’m very familiar with Love2D, so it will hopefully take a lot less time to get myself up to speed. Anyone have any good suggestions for an ECS lib written in Lua or Fennel, or are such things less necessary in a dynamically typed language?

              1. 2

                I, uh, still don’t know Fennel, but I know Lua vaguely well

                You should have no trouble picking up Fennel. If you have some example Lua code and you want to see what it would look like in Fennel, there’s a reverse compiler available: https://fennel-lang.org/see (It might not always give an idiomatic result, for instance no pattern matching or destructuring, but it should be enough to give you the general gist.)

                Anyone have any good suggestions for an ECS lib written in Lua or Fennel, or are such things less necessary in a dynamically typed language?

                There’s a bunch of entity-component systems in Lua that you can use trivially from Fennel, including one (written in Lua) by the original author of Fennel: https://github.com/bakpakin/tiny-ecs

                However, for the type of game that is typically created during a game jam, an ECS usually doesn’t provide enough benefit to justify its overhead.