slime-volleyball
- Description
- An SVG Slime Volleyball Game
- Latest
- slime-volleyball-1.2.0.0.20221221.82156.tar (.sig), 2024-Mar-31, 3.79 MiB
- Maintainer
- Thomas Fitzsimmons <fitzsim@fitzsim.org>
- Atom feed
- slime-volleyball.xml
- Website
- https://elpa.gnu.org/packages/slime-volleyball.html
- Browse repository
- CGit or Gitweb
- Badge
To install this package from Emacs, use package-install
or list-packages
.
Full description
For RMF. I was inspired by Bret Victor's "Inventing on Principle" talk [1] and wanted to see how close Emacs could get to the graphical interactivity and feedback of his environment. The resulting research effort turned up some Emacs capabilities that were new to me. I was happily surprised to find Emacs's librsvg support could draw SVG right in a buffer. svg-clock showed me how to do the animation; the erase-buffer/insert-image approach is inefficient but it works [2]. I even came across some early-stage experimentation toward an Elisp vector graphics library [3]. To put it all together, I decided to clone a great Java game I played a long time ago (with the excuse of testing icedtea-web), Slime Volleyball [4]. This is the result; I hope you find it fun. 1. https://vimeo.com/36579366 2. https://elpa.gnu.org/packages/svg-clock.html 3. https://lists.gnu.org/archive/html/bug-gnu-emacs/2010-05/msg00491.html 4. https://oneslime.net/ Ending music: https://archive.org/details/M00GNU Features ======== * One player quest mode (press SPC on start-up) * Two player face-off mode (press 2 on start-up) * God mode: instantly apply Elisp fragments to hack the game environment (press G during the game) * Slime training mode: a statistical learning algorithm for training opponent slimes (press t on start-up, use M-: (slime-volleyball-save-strategy ...) to save the strategy, make sure to manually save the quantize, hash-situation and controller functions you come up with -- see green-slime.el.gz) I used this mode to train Green Slime and Grey Slime. * Frame-by-frame debugging (F9 to enter/exit frame-by-frame mode, F8 to advance a frame) * Music (supported if ogg123, of vorbis-tools, is on the system * executable path, otherwise fails silently) Controls ======== The controls are a little different than in other games because Emacs doesn't recognized key-up events. One Player Mode --------------- C-b, left, a: start moving left C-f, right, d: start moving right C-p, up, w: jump C-n, down, s: stop Two Player Mode --------------- Left Slime: C-b, a: start moving left C-f, d: start moving right C-p, w: jump C-n, s: stop Right Slime: left: start moving left right: start moving right up: jump down: stop Potential Future Features ========================= * Network support for two player mode or slime Turing test * Time-to-space mapping for opponent slime design, like in [1] * 8-bit music composition mode * A really hard non-statistical end boss
Old versions
slime-volleyball-1.2.0.0.20221212.230402.tar.lz | 2022-Dec-13 | 3.59 MiB |
slime-volleyball-1.2.0.0.20210704.140406.tar.lz | 2021-Jul-04 | 3.59 MiB |
slime-volleyball-1.2.0.0.20210704.100406.tar.lz | 2021-Oct-09 | 3.59 MiB |
slime-volleyball-1.1.7.0.20210702.24401.tar.lz | 2021-Jul-02 | 3.59 MiB |
slime-volleyball-1.1.7.0.20210701.33556.tar.lz | 2021-Jul-01 | 3.59 MiB |
slime-volleyball-1.1.7.0.20201201.25838.tar.lz | 2020-Dec-14 | 3.59 MiB |
slime-volleyball-1.1.7.0.20201201.25838.tar.lz | 2020-Dec-14 | 3.59 MiB |