Thanks for getting back to me!
That static vs “stream” did take a moment to figure out.
Might I ask how you implement sound in this game? I’m trying it for another of my Love2D games, and running into issues around SharedArrayBuffers? It looks like you have some JS interop in play?
Yeah, more puzzle elements were definitely things that would have been nice to add, but building random puzzles the way this works gets really tricky to think about, especially when tired, heh.
The rule with not being able to place tiles is that if a space has two lit rails next to it, you can’t place a rail there. The aim there is to keep loops from happening, so that the end result looks like a tree, or a lightning bolt.
So, the Linux build is defined here. If you know a quick way to make either of those things happen, I’d be happy to spin up a build for that.
Both Janet and Raylib can be built from source, that process can be a bit fiddly, but it might be easier/possible to follow with that workflow locally, and spin a build off of that?
For Janet, that functionality is built into the tooling. It basically just runs the top-level statements, and then marshals the resulting image, and then bundles that into the executable that gets compiled. It does mean that you can’t, for example, have any Raylib types as top-level variables if you want to take advantage of that, unless you spend some time writing marshal/unmarshal functions for them.
For Sparkworks, I ended up saving the files into the executable, writing them out to disk, and loading the relevant resources from disk, and then deleting the files (except the music file), so that I didn’t have to bundle assets outside of the executable.
I like fat EXEs for situations like this.
Since you have so many bullets in play, I’d unhook the sounds playing from the bullet spawning, a bit. Keep track of how many bullets you’ve spawned in the last X milliseconds, and then adjust the sound based on that? Just a thought.
I don’t have another lisp to properly compare Janet to. I believe it’s a Lisp-1, but I don’t know for sure.
For me, the thing I’ve liked best about Janet is that it is expression oriented, like many Lisps. It does have access to imperative features.
What I probably like best about Janet that seems kinda neat, at least compared to ohter languages I use, is that it makes it very easy to create packed executables without any external packers. In fact, if Jaylib had access to the Raylib functions for loading Sounds/Music/Textures from memory, instead of from files, I could have made my entry contained entirely inside a single executable.
So, like, I did not understand this game at all. It looks kinda cool, but the hexagonal movement was hard to pick up, and then the rules for what turned into what was tricky.
I am, admittedly, not familiar with alchemy.
There’s a cool thing going on with the art direction and color choice here, but the fully-powered gunshot sounds are painful to listen to with earbuds in, and it’s easy to lose dangerous enemies in the chaos of the particle effects.
This is kinda a cool idea, building source code puzzles in the style of Baba is You, but the presentation of the symbols is very messy.
Granted, my brain might be a bit fried after this jam, lol.
So, I don’t know if it was just me, but the game lagged every time I moved/placed on of the girls around. Trying to move them around a lot during combat made that a berry frustrating experience, lol.
The art looks good, though.
There is a lot of missing feedback in terms of where the characters will go, and the third level is at the edge of the ability to actually make the jumps. A lot of times it felt really off, like the calculations were integrated funny or something.
I like the premise/story, though, and I think with a jump arc indicator, or less of a difficulty wall, it would do well.
So, the music was really cool, kinda having that funky vibe.
The platforming in the first level was really tricky for some reason, compared to the other two. I also noticed that this game didn’t have a standard platformer drop shadow, instead opting for something more realistic, but less helpful as a navagational aid.
Overall, I liked the art style a lot, and the only technical issues I noticed were a bit of screen tearing and very shaky movement when I was on platforms and using Q/E
The controls on the flappy-bird-style minigame weren’t my cup of tea, and there wasn’t much in the way of well executed story of the like? There was a lot of art/animation on display, which was kinda cool, but the gameplay felt too punishing for my tastes.
So, originally, I was going to have the gun and shield only work via just aiming the mouse differently.
Then I realized that would make the combat 110% more awkward. Maybe if I had set it up for controllers? But that is the root of the gameplay, and why things work the way they do.
I’m glad you liked that little level design flourish. Having Godot as a tool for building levels helped me do a lot with a few mechanics.
I’ll have to try to clean up the windows/Mac builds after the jam.
There are definitely a lot of little technical polishes I didn’t quite have time for, I got started late, and was adding content to the last hour. I’ll try to make sure windows builds are better in the future.
Thinking about this more, I have a least one more idea for how it could be used (basically in a room that is a wall of rocket launchers, with some robots that need to die).
But yeah, I would call the shoot/block dance the core mechanic, and the protection from the rear more of a cherry on top, still.
Gotcha. Do you happen to have any tips on avoiding audio mixing issues and/or heading them off at the pass? I happened to create the explosion sound I used in bfxr, which often needs finessing, but it didn’t sound like overkill for me when I was making it?
It sounded ok in my earbuds, and the musician was able, after the jam, to make/source some sounds that are less harsh, which I intend to use in a post-jam version.
What audio setup did you play it with?
I mean, I think the core mechanic is about more than just shooting backwards.
It’s a cool trick, but I don’t know if I have enough ideas for how to do that all the time.
For me, the core is the dance between you and the robots, and that final gun is a nice cherry on top.
I’ll try to keep that in mind, though.
Yeah, the “joined together” in my mind was the shield and the gun (and the fact that you have both at all times. The right-click isn’t anything special, just makes it easier to block effectively), and the fact that the story is about siblings re-uniting.
It’s not a super tight fit, granted, yeah.
It’s a decent game, though there’s lots little bits of polish missing. Probably biggest complaint I have is using filtering for sprite upscaling rather than nearest neighbor. Some sprites do that, some do not.
It is definitely nice to see 3 levels. I think this game is missing some sort of dodge mechanic, maybe a way to swat bullets down? Level 3 gets pretty challenging and feels like you almost need to get lucky to get past the beginning.
Still, I like the idea of saving the world across time, with increasing levels of anacronism.
The game was fun, the use of the art kit is super clean, if a bit obvious, though there’s a lot of neat little bits of polish, like the tank turret bobbing.
It’d be nice to know how far we have to protect the missile for.
So, the game looks like pretty solid, though it’s missing an end-game and a tutorial. The two gameplay modes work nicely and complement each other well. If you were to create a larger game from this, I’d buff the turrets, and add some variety to them.
I like the art style a lot, solid work with the shaders and art theme!