Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Lightweight 2D CL Game Engine?

A topic by acdw created 53 days ago Views: 190 Replies: 9
Viewing posts 1 to 6
(+1)

Any suggestions for lightweight game engines in CL that are good for beginners(ish)? Ive been doing CL for ~ a year so I know my way around. I tried installing Trial but it needs more memory than my SBCL is built for — and I don’t really want to build SBCL from scratch right now.

I just need 2d and would love graphics, but honestly I might could just do text-mode as well. I couldn’t find any info about this with a web search, maybe I’m using the wrong keywords.

Submitted (1 edit) (+2)

There’s this listing on the lispgames wiki: https://github.com/lispgames/lispgames.github.io/wiki/Common-Lisp#user-content-Game_Engines

There might not be any which are both complete and easy to use though. But if you use sketch or raylib bindings you could at least get an easier graphics API and build a simple game loop on that.

I’ve never used it personally, but trivial-gamekit: https://github.com/borodust/trivial-gamekit. Seems to have a lot of features.

My entry is using a custom 2d engine that has as a goal to be easy to use, but it’s in very early stages and is being glued together for this jam hehe.

(1 edit) (+2)

The cl-raylib bindings are what I'm using right now. It works pretty well. Sadly, the one I'm using does not have raygui support. There is claw-raylib but it looks a bit setup intensive. 

I don't think you need to rebuild SBCL, you can run SBCL with "sbcl --dynamic-space-size 32000" and you should be able to use Trial. Trial is awesome but it's not something you learn in 3 days. Sadly the API changed a lot so it's hard to look at the older game jam examples which where written in an older version of Trial. On the other hand you have a released product to look at with the Kandria source code, but that's a real project with a huge code base.

trivial-gamekit is something worth looking at, and if you want more features there is cl-bodge which is the 'non-learning version' of trivial-gamekit.

I'm probably switching to Trial aswell, I made a small project a year ago with it. I hope nothing much has changed. :D

Edit:

I just stumbled across EON (https://github.com/bohonghuang/eon) which looks really nice if you are able to build the claw-raylib bindings. Maybe I take the time to do so, because it looks like EON will take most of the pains away you get when using raylib as a standalone thing.

(+2)

As another user told,  you can just pass an argument to make Trial run. I usually set 8096 though.

I've failed to build EON months ago so I'll be using Trial instead. It's the most mature and least janky way I know.

Submitted(+1)

An other way is to ignore the word game and just use the tremendously mature McCLIM. https://codeberg.org/McCLIM/McCLIM . I think in some respects it is light weight. I wrote this silly thing in it a long time ago:

https://lispy-gopher-show.itch.io/lispmoo2/devlog/891545/gui-table-of-unicode-co...

Support for drawing is good. It's idiomatic, but the CLIM spec idioms are very mature and the support for images (see the Examples/ directory) is very good. https://codeberg.org/McCLIM/McCLIM/src/branch/master/Examples/image-viewer.lisp if you can use common lisp you can basically use McCLIM.

(+2)

Oh wow, thanks everyone! TIL you can run SBCL with bigger memory, lol. Trial did look pretty complicated – I’ll play with these tonight and at the very least catch the fall jam ^_^

Submitted

300M -> 2G?

(+1)

I think more than 2G, I don’t remember exactly but a good amount more.

Submitted

2G is what clml required to build iirc, that's where that number came from. What did you land on?

(+1)

Honestly I didn’t lol. Started trying on a text adventure but I’ve missed the jam now I think.