3 ms·
Do you use Lisps ( CL or Scheme) for your games?
by paines 10y ago
Do you use Lisps ( CL or Scheme) for your games?
- eggy 10y agoTrying to. You will not find many game frameworks for Lisp, but all of the pieces are there. I mainly use Lisps for livecoding. I am currently trying to learn Extempore for livecoding. It has two languages: xtlang, a Lisp language that is strongly typed and compiled for close to C speed via LLVM, and a scheme for doing more high-level scripting stuff in the Extempore environment [1]. There are binaries available for all platforms. I run it in Spacemacs on Windows 8.1. It's very snappy, and powerful, for coding music/sound at the signal or note level, and it has OpenGL and Nanovg for graphics. Watch Andrew Sorensen rock it on YouTube or Vimeo - just search for Extempore and/or Andrew Sorensen. I hope there will be a way to distribute things created with it someday. Then it would be a kick ass game dev platform. I tried Racket and SBCL briefly specifically for games. Both are very capable. I will probably go back to SBCL, since it worked well with SDL2, OpenGL and was fast on both my Windows and Linux boxes. CEPL is great for working with OpenGL in Lisp [2]. I would love to use PicoLisp. I almost did use it for a game jam, but you would need to create the game framework from the pieces it has, and again, the Posix / Windows issue. I'm really hoping for the Midipix solution. You can learn PicoLisp fast in a week or so by following along with the two great books - PicoLisp Examples, and PicoLisp Works. The PDFs are freely available on Scribd and the source code is available online [3][4]. Even Erlang is available as a Lisp - LFE, or Lisp Flavored Erlang, created by one of the original designers of Erlang, Robert Virding. Would be great for a game server with many connections. Elixir is becoming very popular but LFE has true macros, and why not, it's a Lisp! [5] [1] http://extempore.moso.com.au/ http://extempore.moso.com.au/ [2] https://github.com/cbaggers/cepl https://github.com/cbaggers/cepl [3] https://github.com/tj64/picolisp-by-example https://github.com/tj64/picolisp-by-example [4] https://github.com/tj64/picolisp-works https://github.com/tj64/picolisp-works [5] http://lfe.io/ http://lfe.io/
- qwertyuiop924 10y agoHave you tried Hypergiant for CHICKEN scheme? I've heard it's good for 3d work. For 2d, there's doodle. Both are in Chicken's egg repository. Guile's Sly is also quite good for 2d work. Finally, I think both have bindings to raw OpenGL/SDL, if you want them.
- eggy 10y agoYes, I tried. Problem is I am really trying to walk the line between Windows, Linux and possibly Mac. I run Elementary OS, and Windows 8.1 on one notebook, and Win 8.1 on the other. Like PicoLisp Chicken is really Posix-dependent. Sure you can run it, and run the IUP examples on Windows, but as soon as you try to use the eggs you mention, the dependencies on the Posix stuff puts it on the backburner for me. Right now, my game dev tools are Raylib(C)[1], Godot game engine[2], Processing(Java)[3], and CL(SBCL, SDL). All allow me to distribute games to Windows and Linux minimum. A few can do almost all platforms - Android, iOS(if you have a Mac!). I still think Racket is an excellent playground to test concepts, and short of distributing games, valid for most anything. Pict3D package is very interesting. Raylib is amazing. I have had a C renaissance because of it. Very clean and organized. I am currently trying to embed s7(Scheme)[4] into a Raylib project in hopes of having my cake and eat it too! Another playground for livecoding, but no way to share standalone 'apps' is Extempore, as I have mentioned previously. [1] http://www.raylib.com/ http://www.raylib.com/ [2] https://godotengine.org/ https://godotengine.org/ [3] https://processing.org/ https://processing.org/ [4] http://carloscarrasco.com/a-love-letter-to-s7-scheme.html http://carloscarrasco.com/a-love-letter-to-s7-scheme.html & https://ccrma.stanford.edu/software/snd/snd/s7.html https://ccrma.stanford.edu/software/snd/snd/s7.html [5] http://extempore.moso.com.au/ http://extempore.moso.com.au/
- qwertyuiop924 10y agoAh, yes. Cross-platform is quite painful at times. But hey, I'm glad you found something that works. You might also wish to try Chibi for embedding, but both it and s7 are pretty good. I am also unsure as to how POSIX dependant chibi is.
- paines 10y agoThank you, really appreciate your answer. I have played around with mocl, CL (sbcl+sdl on OSX + Linux) and at least with Chicken in combination with doodle and the chipmunk egg to create an environment/framework for 2d platformers. It's a bit tedious because my time and knowledge reagrding OpenGL is limited but it's fun to play around with. All these Lisps + Frameworks kind of work, but you will always hit the point where it rocks for one platform, and sucks on another. There is new kid on the block, carp-lang, from the guy who developed "Else Heart.Break()". Would be cool if this becomes something worthwhile.
- qwertyuiop924 10y agoWow. Carp actually looks really cool.