A downloadable game

Basic centipede game. 

Developed in guile and raylib

Graphics assets: https://opengameart.org/content/space-shooter-redux

Raylib binding from: https://github.com/petelliott/raylib-guile/tree/master

Cover image generated by ChatGPT

Download

Download
guilepede.zip 1.1 MB

Comments

Log in with itch.io to leave a comment.

I can't run this due to the included shared lib using glibc 2.38, which is more recent than what I'm currently using. When distributing pre-built Linux binaries, the trick is to perform the build on the oldest version of a distro you can find that is still being supported. That will maximize your chances that the binary will work on another machine. I like to use the oldest Ubuntu LTS for this purpose.

Also, run.sh has a /bin/bash shebang  which is an assumption that doesn't hold on some distros such as Guix. /bin/sh, however, is a standardized thing so changing the shebang to that allowed the script to run.

That was AWESOME!!!

This is a game I would play during a work meeting and ignore everything that is talked about.

I got to level 5 and then it crashed!

In ice-9/boot-9.scm:
  1752:10 11 (with-exception-handler _ _ #:unwind? _ # _)
In unknown file:
          10 (apply-smob/0 #<thunk 7feba7d0f300>)
In ice-9/boot-9.scm:
    724:2  9 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
In ice-9/eval.scm:
    619:8  8 (_ #(#(#<directory (guile-user) 7feba7d12c80>)))
In ice-9/boot-9.scm:
   2836:4  7 (save-module-excursion _)
  4388:12  6 (_)
In main.scm:
    351:0  5 (_)
   342:46  4 (main-loop)
    248:6  3 (_ #<continuation 7feba4495a00>)
In unknown file:
           2 (filter #<procedure 7feba4497da0 at main.scm:249:7 (en…> …)
In main.scm:
   255:13  1 (_ _)
In unknown file:
           0 (array-set! #2((0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 …) …) …)
ERROR: In procedure array-set!:
Value out of range 0 to 20: -1

I cannot run it as the raylib library depends on GLIBC-2.38 and I can maximally go to 2.37 I think.

(+1)

Oh :(

This is my first time doing something in Guile. I need to improve the packaging and distribution, otherwise it is difficult to be executed in some systems.

I can relate to the pain of distribution. I spent a lot of time on that too. In fact I got stuck on a side quest to automate my build systems.

(1 edit)

Backtrace:
In ice-9/boot-9.scm:
  1752:10 11 (with-exception-handler _ _ #:unwind? _ # _)
In unknown file:
          10 (apply-smob/0 #<thunk 7fc0ccf0d300>)
In ice-9/boot-9.scm:
    724:2  9 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
In ice-9/eval.scm:
    619:8  8 (_ #(#(#<directory (guile-user) 7fc0ccf10c80>)))
In ice-9/boot-9.scm:
   2836:4  7 (save-module-excursion _)
  4388:12  6 (_)
In main.scm:
    351:0  5 (_)
   342:46  4 (main-loop)
    248:6  3 (_ #<continuation 7fc0c4df9640>)
In unknown file:
           2 (filter #<procedure 7fc0c4e00ee0 at main.scm:249:7 (en…> …)
In main.scm:
   255:13  1 (_ _)
In unknown file:
           0 (array-set! #2((0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 …) …) …)
ERROR: In procedure array-set!:
Value out of range 0 to 20: -1

It crashed while playing level 5, maybe this stack trace can help?

Thanks for playing the game!


:facepalm: There are some calculation that produced a index out of range. Thanks for reporting

[ ] » sudo dnf install guile
[ ] » ./run.sh 
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;;       or pass the --no-auto-compile argument to disable.
;;; compiling /var/home/cadence/Downloads/Spring Lisp Game Jam 2024/guilepede/src/main.scm
;;; WARNING: compilation of /var/home/cadence/Downloads/Spring Lisp Game Jam 2024/guilepede/src/main.scm failed:
;;; ERROR: In procedure dynamic-link: file: "libraylib-guile", message: "file not found"
Backtrace:
In ice-9/boot-9.scm:
 160: 11 [catch #t #<catch-closure 7f0d00d27360> ...]
In unknown file:
   ?: 10 [apply-smob/1 #<catch-closure 7f0d00d27360>]
In ice-9/boot-9.scm:
  66: 9 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 8 [eval # #]
In ice-9/boot-9.scm:
2412: 7 [save-module-excursion #<procedure 7f0d00ca3a80 at ice-9/boot-9.scm:4084:3 ()>]
4091: 6 [#<procedure 7f0d00ca3a80 at ice-9/boot-9.scm:4084:3 ()>]
1734: 5 [%start-stack load-stack ...]
1739: 4 [#<procedure 7f0cfef3e7e0 ()>]
In unknown file:
   ?: 3 [primitive-load "/var/home/cadence/Downloads/Spring Lisp Game Jam 2024/guilepede/src/main.scm"]
In ice-9/eval.scm:
 386: 2 [eval # ()]
 393: 1 [eval #<memoized InitWindow> ()]
In unknown file:
   ?: 0 [memoize-variable-access! # #]

ERROR: In procedure memoize-variable-access!:
ERROR: Unbound variable: InitWindow

How do I run it?

Thanks for trying the game!!

I tried in fedora and it looks like `guile` package installs version 2.0 which I haven't tested.

Please install 3.0 instead with `dnf install guile30` and either:

A. Link `guile` to `guile3.0` so the default version is 3.0

B.  change `./run.sh` script to call `guile3.0` instead of `guile`

I will try to upload a new version changing the `run.sh` script to detect this issues.

Thanks for the tip about guile 3.0. That gets me further, but it eventually gives a new error that I know I won’t be able to solve on my current distro. Sorry.

By the way, I would have preferred a cover image that wasn’t AI generated.