Very cool concept, not to mention the cool tech behind the game!
Play lisp jam experience
jam-no-theme eat berries collect treasure could technically control robots's itch.io pageResults
Criteria | Rank | Score* | Raw Score |
Creativity - how original is the idea? | #26 | 2.357 | 3.800 |
Entertainment - how enjoyable/replayable is it? | #28 | 1.612 | 2.600 |
Presentation - how does it look/feel? | #29 | 1.861 | 3.000 |
Overall | #29 | 1.943 | 3.133 |
Ranked from 5 ratings. Score is adjusted from raw score by the median number of ratings per game in the jam.
Comments
Hahaha, awesome thanks and thanks for the picture ! Hopefully everyone can clearly understand the game in this context :D
The challenge becomes being able to spot the treasures amoungst the berries. How did the robots nail this much treasure? Were there just that many robots?
In order to stave off the call of premature optimisation, I deliberately wrote the game to need garbage collection for days, so the eventual performance decay was inevitable. Besides, I tied logical updates to rendering updates.
I don't have a new enough ECL version to play this one, unfortunately.
Hey, I got the same libecl.so
error as below, even though I do have ECL installed. I’ve tried compiling from source, unfortunately also to no avail:
;;; Internal error:
;;; ** Error code 1 when executing
;;; (EXT:RUN-PROGRAM "x86_64-pc-linux-gnu-g++" ("-I." "-I/usr/include/" "-D_GNU_SOURCE" "-D_FILE_OFFSET_BITS=64" "-march=native" "-mtune=native" "-O2" "-fomit-frame-pointer" "-pipe" "-ggdb" "-fPIC" "-D_THREAD_SAFE" "-Dlinux" "-O2" "-c" "/var/tmp/cache/andrew/common-lisp/ecl-21.2.1-linux-x64/tmp/jam-no-theme/jam-no-theme.cxx" "-o" "/var/tmp/cache/andrew/common-lisp/ecl-21.2.1-linux-x64/tmp/jam-no-theme/jam-no-theme.o")):
;;; /var/tmp/cache/andrew/common-lisp/ecl-21.2.1-linux-x64/tmp/jam-no-theme/jam-no-theme.cxx: In function 'cl_lispunion* L2set_color(cl_narg, cl_object, cl_object, cl_object, ...)':
;;; /var/tmp/cache/andrew/common-lisp/ecl-21.2.1-linux-x64/tmp/jam-no-theme/jam-no-theme.cxx:114:34: error: invalid conversion from 'int' to 'cl_object' {aka 'cl_lispunion*'} [-fpermissive]
;;; 114 | value0 = SDL_SetRenderDrawColor(renderer, ecl_to_int(v1r), ecl_to_int(v2g), ecl_to_int(v3b), ecl_to_int(v4a));
;;; | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;;; | |
;;; | int
;;; /var/tmp/cache/andrew/common-lisp/ecl-21.2.1-linux-x64/tmp/jam-no-theme/jam-no-theme.cxx: In function 'cl_lispunion* L3fill_rectangle(cl_object, cl_object, cl_object, cl_object)':
;;; /var/tmp/cache/andrew/common-lisp/ecl-21.2.1-linux-x64/tmp/jam-no-theme/jam-no-theme.cxx:136:26: error: taking address of rvalue [-fpermissive]
;;; 136 | &(struct SDL_Rect){.x = ecl_to_int(T0), .y = ecl_to_int(T1),
;;; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;;; 137 | .w = ecl_to_int(T2), .h = ecl_to_int(T3)});
;;; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;;; /var/tmp/cache/andrew/common-lisp/ecl-21.2.1-linux-x64/tmp/jam-no-theme/jam-no-theme.cxx:135:22: error: invalid conversion from 'int' to 'cl_object' {aka 'cl_lispunion*'} [-fpermissive]
;;; 135 | SDL_RenderFillRect(renderer,
;;; | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~
;;; | |
;;; | int
;;; 136 | &(struct SDL_Rect){.x = ecl_to_int(T0), .y = ecl_to_int(T1),
;;; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;;; 137 | .w = ecl_to_int(T2), .h = ecl_to_int(T3)});
;;; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~An error occurred during initialization:
COMPILE-FILE-ERROR while
compiling #<cl-source-file "jam-no-theme" "jam-no-theme">.
Thanks ! Could you try compiling as c instead of cxx as well? What was that variable again......
On my openbsd machines, I'm using ecl21.2 and I know other people have been compiling on more modern stock linux distributions successfully at least sometimes. So my guess is that maybe I did something that didn't play well with C++ compilation? Since it looks like cxx files are being generated instead of .c .
I forgot what we are allowed to do with
> (ext:install-c-compiler) > c:*cc* "gcc" > (setf c:*cc* "g++") ;and vice versa? Can we do it?
Something I learned from this jam was definitely the value of kinda known-working templates like you made, since it's a bit scattershot what's going to work on how-old what-distribution of linux !
On my recent phlog I speculated about targetting gentoo ebuild(1) / openbsd ports(7) for distribution in the future, since I don't like the style of every-program-with-its-own-redundant-deps-in-its-own-chroot dependency bundling.
Oh I tried setf
ing c:*cc*
but looks like the errors are the same:
;;; Internal error:
;;; ** Error code 1 when executing
;;; (EXT:RUN-PROGRAM "gcc" ("-I." "-I/usr/include/" "-D_GNU_SOURCE" "-D_FILE_OFFSET_BITS=64" "-march=native" "-mtune=native" "-O2" "-fomit-frame-pointer" "-pipe" "-ggdb" "-fPIC" "-D_THREAD_SAFE" "-Dlinux" "-O2" "-c" "/var/tmp/cache/andrew/common-lisp/ecl-21.2.1-linux-x64/tmp/jam-no-theme/jam-no-theme.cxx" "-o" "/var/tmp/cache/andrew/common-lisp/ecl-21.2.1-linux-x64/tmp/jam-no-theme/jam-no-theme.o")):
;;; /var/tmp/cache/andrew/common-lisp/ecl-21.2.1-linux-x64/tmp/jam-no-theme/jam-no-theme.cxx: In function 'cl_lispunion* L2set_color(cl_narg, cl_object, cl_object, cl_object, ...)':
;;; /var/tmp/cache/andrew/common-lisp/ecl-21.2.1-linux-x64/tmp/jam-no-theme/jam-no-theme.cxx:114:34: error: invalid conversion from 'int' to 'cl_object' {aka 'cl_lispunion*'} [-fpermissive]
;;; 114 | value0 = SDL_SetRenderDrawColor(renderer, ecl_to_int(v1r), ecl_to_int(v2g), ecl_to_int(v3b), ecl_to_int(v4a));
;;; | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;;; | |
;;; | int
;;; /var/tmp/cache/andrew/common-lisp/ecl-21.2.1-linux-x64/tmp/jam-no-theme/jam-no-theme.cxx: In function 'cl_lispunion* L3fill_rectangle(cl_object, cl_object, cl_object, cl_object)':
;;; /var/tmp/cache/andrew/common-lisp/ecl-21.2.1-linux-x64/tmp/jam-no-theme/jam-no-theme.cxx:136:26: error: taking address of rvalue [-fpermissive]
;;; 136 | &(struct SDL_Rect){.x = ecl_to_int(T0), .y = ecl_to_int(T1),
;;; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;;; 137 | .w = ecl_to_int(T2), .h = ecl_to_int(T3)});
;;; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;;; /var/tmp/cache/andrew/common-lisp/ecl-21.2.1-linux-x64/tmp/jam-no-theme/jam-no-theme.cxx:135:22: error: invalid conversion from 'int' to 'cl_object' {aka 'cl_lispunion*'} [-fpermissive]
;;; 135 | SDL_RenderFillRect(renderer,
;;; | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~
;;; | |
;;; | int
;;; 136 | &(struct SDL_Rect){.x = ecl_to_int(T0), .y = ecl_to_int(T1),
;;; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;;; 137 | .w = ecl_to_int(T2), .h = ecl_to_int(T3)});
;;; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~An error occurred during initialization:
COMPILE-FILE-ERROR while
compiling #<cl-source-file "jam-no-theme" "jam-no-theme">.
Yeah, I’ve learned importance of pre-developed scaffolding the hard way, on Lisp Game Jam 2019 :)
I don’t like the style of every-program-with-its-own-redundant-deps-in-its-own-chroot dependency bundling
I feel you bro, I don’t really like AppImage as well, but haven’t stumbled upon better alternatives. Unfortunately not all people use Gentoo or *BSD :)
Guix looks interesting though, since it could be installed on top of any distribution, but I haven’t had the time to dig deeper into it.
[vito@fedora Downloads]$ ./jam-no-theme-linux-amd64
./jam-no-theme-linux-amd64: error while loading shared libraries: libecl.so.20.4: cannot open shared object file: No such file or directory [vito@fedora Downloads]$ ecl ECL (Embeddable Common-Lisp) 21.2.1 (git:UNKNOWN) Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya Copyright (C) 1993 Giuseppe Attardi Copyright (C) 2013 Juan J. Garcia-Ripoll Copyright (C) 2018 Daniel Kochmanski Copyright (C) 2021 Daniel Kochmanski and Marius Gerbershagen ECL is free software, and you are welcome to redistribute it under certain conditions; see file 'Copyright' for details. Type :h for Help. Top level in: #<process TOP-LEVEL 0x7f26e92aaf80>. >
[vito@fedora Downloads]$
It seems like installing ECL is not enough to run the binary, I'm trying the src way.
Edit: Rereading the screenshot, oh, major version change. This is what I get for even having a debian bullseye VM
Hmmm, interesting. Should I upload that .so ? kind of obtuse though. Thanks for investigating ! Hopefully ASDF works readily in the lisp case !
btw, my Google Chrome environment couldn't run your cat maze javascript, but I have lots of things blocked and deactivated. I was waiting until tomorrow to start building things !
Leave a comment
Log in with itch.io to leave a comment.