5 ms·
Can anyone recommend a Lisp dialect / environment which is suitable for web-based publication, and game multimedia (graphics, audio, control, etc.)?
by gnode 9y ago
Can anyone recommend a Lisp dialect / environment which is suitable for web-based publication, and game multimedia (graphics, audio, control, etc.)?
- agentultra 9y agoCommon Lisp with the Parenscript library; use any JS game framework underneath that appeals.
- johnhattan 9y agoThat's always my problem when I look at lisp for game programming. If I say "I want to write a standalone 3D iPhone game using C#", there are plenty of sites that'll show me exactly what tools are out there, how they work together, and how to write/debug/package a complete game. With Lisp, I often end up in the weeds looking at tools and tech that may or may not still be supported. I have a hard time figuring out a well-established set of tools that'll get me a first-class playable game in Lisp. If anything I'm going to watch this game jam just to see what everyone's using and how good the results look.
- gameswithgo 9y agoif you can find bindings to SDL2 it is easy enough to do 2d games add opengl and you can do 3d games
- kbp 9y agoYou can always just use a C library directly through the FFI if there isn't an obviously good Lisp option for what you're doing. You're probably not the only person trying to do whatever you're doing in Lisp, though, and asking on some online forum for Lisp users usually yields good suggestions.
- lonjil 9y agoIf you want it to actually run in the browser then ClojureScript is probably what you want.
- gnode 9y agoThanks, this looks like a good way to interface with the browser APIs. I found an example of a game created in it: https://deque.blog/2017/03/28/building-a-clojurescript-game-ai/ https://deque.blog/2017/03/28/building-a-clojurescript-game-... ( Source: https://github.com/QuentinDuval/triboard/tree/master/src/cljs/triboard https://github.com/QuentinDuval/triboard/tree/master/src/clj... ) Seems fitting that it focuses on AI.
- didibus 9y agoI think Clojure/ClojureScript can work. But its not going to be bare metal. So either a JavaScript engine, or a Java based one. LWJGL, jMonkeyEngine, libGDX are the three top Java game engines you could use with Clojure which have been used for real games. There's also the Arcadia project, which lets you use Clojure instead of C# to script the Unity engine. For JavaScript targets, you have Phaser, pixi.js and EaselJS as good options. I'd recommend you go straight for interop with a Java or JavaScript game engine. The Clojure/Script wrappers are mostly immature, and don't add much benefit. If your just interested in art, generative stuff, controllers, etc. You can look at Quil (processing for Clojure/Script) and OverTone (Clojure interface to supercollider)
- bebop 9y agoClojure is pretty nice. Has a fair amount of both backend projects and Clojurescript is very nice for frontend work.
- fao_ 9y ago> which is suitable for web-based publication, and game multimedia (graphics, audio, control, etc.)? ChickenScheme uses continuations to transpile to C. So it supports interfacing easily with C libraries, and it supports binary distribution (Which in my exprience is difficult in most lisps/schemes). You can use it out of the box with something like SFML or whatever.
- gnode 9y agoAs far as I can tell, SFML wouldn't be appropriate. By web-based publication, I mean using the APIs supported by browsers (Canvas, WebGL, Web Audio API). Potentially I could use Emscripten's HTML5 API ( https://kripken.github.io/emscripten-site/docs/api_reference/html5.h.html#webgl-context https://kripken.github.io/emscripten-site/docs/api_reference... ). Although I was hoping for a nicer interface than calling out to a C translation of the JavaScript APIs.