So far, my game submissions always skipped the music part. There are some tunes I do quite like, but cannot use as I don't have a license for them. Would it be fine if I made my own interpretation AKA cover by playing the melody on the piano and recording that, then crediting the original compositor? The reason I ask is because I suspect this is somewhat adjacent to the LLM topic.
wasamasa
Creator of
Recent community posts
> P.S. Also, it seems that xcb-boomshine.el file doesn't correspond to its compiled version. For example there is no xcb-boomshine-new-game function defined
That may be a side-effect of using Emacs 27.1 as the file is using the shorthands feature introduced in Emacs 28.1. If the feature is not available, the identifier would be boom-new-game instead.
Thank you for your feedback! From the Rockbox games I've played, I found this one the most memorable. There is a strange kind of satisfaction from getting a chain reaction from a well-timed initial action. Regarding your points:
- In the original version I've played, I think level 12 was the last one, allowing people to actually see the winning screen. I've considered to remove the extra-hard levels, but your suggestion of restarting the same levels may also work. Alternatively, a level select screen for those previously completed (this is a design I've seen in visual novels and it makes sense to me, although I've rarely made use of the feature).
- A visualization of the remaining counter could be cool. I thought of adding some unobtrusive status text or pulse or whatever (it's a countdown of 3 seconds since the last reaction). Animating the balls themselves definitely requires more thought, I found it difficult enough to animate the ball movement/enlargening/shrinking.
- Sounds would be cool, but doing this in elisp is tough. If it's just a single sound, it's doable with a mplayer/mpv subprocess and pipe, I've done that in chip8.el. The downside is the extra setup required from the player and it was difficult enough to ensure the game works for other people. Maybe better suited for a more general-purpose lisp? (I'm partial to CHICKEN)
I like the graphics quite a bit. The game logic/UX was kinda confusing though:
- Click and drag movement was swapped. If I point to where I want to go and drag into the opposite direction, it ends up going where I want. I'd expect pointing away from the player sprite and dragging into the direction I want to go to specify both angle and force.
- Why would rabbits eat bone-shaped food? I thought they're vegetarians...
- It took me quite a bit to understand they played fetch with what looked like pokeballs (which I'd expect to capture them)
I've resolved the glitch meanwhile on the Git repository, it turned out to be uninitialized memory. So feel free to pull a copy of xcb-boomshine.el from there: https://depp.brause.cc/xcb-boomshine
Kudos for persevering and making it work on Emacs 27.1, I'll work on a build script to make running the game a bit easier.
XELB does not support authorization at all, therefore it raises this error when it's requested upon connection establishment. Some ideas:
Check the Exwm wiki/issue tracker, surely there's a GuixSD user who had this problem. For example https://github.com/ch11ng/exwm/issues/534 looks relevant- Run Xephyr without authentication and spawn the game using its DISPLAY
- Configure X.org to not use auth and restart the session (possibly a very bad idea when it's on a a machine on the internet)
Never heard of Wireworld before. Managed to recreate the simpler circuits as presented on Wikipedia: https://en.wikipedia.org/wiki/Wireworld
For others who want to give it a try: `npm -g wasm4 && w4 run-native cart.wasm` did the trick for me. Game controls:
- Left mouse button to cycle between the 4 states
- Right mouse button to delete item under cursor
- x to execute the circuit
This is pretty cool, I can actually see myself replaying this.
I found the controls slightly unintuitive (kinda expected ijkl instead or wasd). My keyboard is configured to a higher repeat rate than usual, so it was pretty easy to outrun the snake by holding down the button. I guess to have full control over input speed, you'd need to use some kind of timer code checking whether the key was pressed in that time interval and advance the apple by one unit (instead of advancing it by the number of key presses).
