Skip to main content

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

Deploy for Web with Racket or Common Lisp

A topic by Ecsodikas created 59 days ago Views: 96 Replies: 2
Viewing posts 1 to 3

Hello everyone,

I'm comfortable using Racket and CL (and a bit of Chicken) but I have not found a nice way to deploy games written in those two for the web. Obviously, it's easier to get people to play your game if they just have to click play in a browser but the only easy way to deploy for web I've found is CALM(https://github.com/VitoVan/calm) and that looks like a thin wrapper on top of the HTML canvas.

There are a lot of nice looking game frameworks and engines out there for CL and raylib, csfml, sdl bindings are basically available everywhere but I have not come across something that can easily deploy to web.

Another post here was showing off the Hoot project which looks quite nice but I've never done stuff in Guile Scheme.

Am I missing something for Racket and CL or are there no real options for easy browser based deployments?

I can always just build the executables but it would be nice to have a web build aswell.

Thanks in advance!

Submitted

This is _not_ quite what you're asking for, but if you're willing to use the Urlang language processor in the Racket environment, which transpiles to JavaScript, you can write lisp and deploy to browser. See https://hg.sr.ht/~oofoe/candheat for some examples with some more or less completed demo games (including my last game jam entry).  I completely agree with you on web deploy, that's why I do it this way.

If you have existing Racket stuff you want to use, it's no help though. In which case, depending on what kind of graphics you're using, it might be worth considering a VM to run your executable, similar to what Internet Archive uses to run old games?

Thanks for the pointer to Urlang, I did not know about it. Sadly, it's not quite what I was looking for. I appreactiate the examples, though. The VM approach could be an interesting path to take. I'll look into it and try to find a way to do so. Otherwise, I'll probably try to use CALM and see how far I can take the Canvas. :D