It’s that time of year again! If anyone is interested in trying out love2d with Fennel check out the “minimal” love2d fennel repo.
This repo is slowly expanding from a truly minimal setup to one that comes with a few batteries included. If you want a bare bones setup to get you started check out: absolutely-minimal-love2d-fennel by @benthor.
If you want to just start coding up some fennel and love with no makefile or manual installation on linux check out love-fennel
Where to Start?
I highly recommend checking out the blog posts by Phil Hagelberg about his use of fennel for his 2018 submission Exo Encounter 667. The source for which can be found here
There is also a built in REPL on the languages home page that you can test out the language! https://fennel-lang.org/
Fennel now has a pretty decent language server in fennel-ls. Currently it does not have completions for love2d, however it works really well to jump to your own code points. I’d highly recommend checking it out!
Games Made Using Love2D and Fennel
By this point there have been dozens of games made with Love2D and Fennel, this is not an exhaustive list! If the source code is available for your game I can include it if you comment below.
- Exo Encounter 667 - Winner of the 2018 Spring Lisp Game Jam - https://gitlab.com/technomancy/exo-encounter-667
- Always Kill Your Heroes - Winner of the 2018 Fall Lisp Game Jam https://gitlab.com/alexjgriffith/always-kill-your-heroes
- Slime the World - https://github.com/TsarFox/slime-the-world
- Goo Runner - https://gitlab.com/technomancy/goo-runner
- Fallen - https://gitlab.com/alexjgriffith/fallen
- Energize - Winner of the 2019 Fall Lisp Game Jam - https://github.com/noisesmith/energize
- Welcome Home Sunsun - https://gitlab.com/alexjgriffith/welcome-home-sunsun
- Backpackless - Submission to the 2019 GMTK Game Jam - https://github.com/lockie/backpackless
- CTGA - Submission to the 2022 lisp game jam https://github.com/dawranliou/ctga
- Shelter Creak - Winner of the 2023 Spring Lisp Game Jam - https://github.com/dawranliou/shelter-creek
- Cube Land - Submission to the 2023 Fall Lisp Game Jam https://git.sr.ht/~technomancy/cube-land
- Waiting for a Bite - Winner of the 2023 Fall Lisp Game Jam https://git.sr.ht/~alexjgriffith/bite/tree
Other resources:
Recommended Libraries
You don’t need any libraries to make a game! The ones mentioned here help solve specific problems.
Lume
- Provides functional style functions, e.g. reduce, map, etc.
- Provides some nice to haves that are not available in the lua standard library like
lerp
andsplit
(for spiting strings).
ANIM8
https://github.com/kikito/anim8
If you need sprite animation, check out ANIM8!
Bump
https://github.com/kikito/bump.lua
Bump is an axis aligned bounding box collider. It has a bunch of useful built in presets for triggering actions following collisions. If you’re writing a platformer (without ramps) I highly recommend bump!
Tiled
https://github.com/karai17/Simple-Tiled-Implementation
If you use want to use Tiled (https://mapeditor.org) check out the Simple Tiled Implementation! It works well with bump.
There are many more libraries! Any library that works with Love and lua will work with Love and fennel.