NOTE: Work in progress. Currently, as submitted, but there's so many thing missing that I might take the offer to work on it a fe days more.
Click on a(n other) marble to (re)focus.
Strafe around with A/D or left/right arrows.
Click and hold to charge, release to kick.
Get them all to the purple goal-blocks.
Not implemented (yet? … not exhaustive):
Slow motion / Forced speed up mechanism.
… tons of other stuff.
A ray-tracer, and also a game concept that fits the theme - very impressive! I'd wish for a bit more overview ingame, and an easier way to switch between the marbles, but other than that it's very cool.
By the way, I had a small bug where I finished the second tutorial and returned to it by accident. From there I couldn't do anything anymore.
I don't know if I've ever played a realtime raytracer before, amazing stuff! I frequently got stuck where I'd get a marble to a goal and then be unable to select another because I couldn't get a camera angle that would let me click it. Maybe that's the challenge of the game? Cute music too, a nice touch
Thanks, so much for playing, all! I was worried that people would hardly be able to tell the ray-tracing on the one hand, and about too much of the to-be-implemented features missing on the other. Glad to see those worries unfounded :-D
Music was a placeholder I made last x-mas, surprised it worked so well for this game!
@ratrogue Thanks! Ah, of course … if you never change level, it doesn't reset… d'oh! As a workaround: shift-x resets the game back to the menu.
@voxel Thanks! Haha, no, fighting against the controls wan't the intended challenge.
@toasty Thanks! Picking the right camera angle does wonders for immersiveness!
Great work with the raytracer, I wouldn't expect it possible to get a software renderer with real-time reflections & lighting in the browser like this.
I was curious to try the "extra fidelity" & the "resolution" settings but pressing the numbers didn't do anything for me (recent Firefox + Chrome on Windows).
As a tech demo it's really impressive, as a game it's more rough and hard to pick up but it's ok, it still does its job to let us appreciate the work on the visuals with a little interactive thing. I did manage to complete all 4 levels once I got the hang of it! Oh and in the night levels all cubes and marbles were slowly sliding away from the level, it was very strange :D Turns out they don't fall off when getting away from the grid so it's still playable
@Wan Thanks for the kind words!
It's not really in software. I use WebGL; just render a rectangle and put the rest of the algorithm in the fragment shader to get the rays :-)
I can imagine the game is very rough in comparison to the tech: When the tech was ready I had about one and a half days left, plus some other obligations left me quite tired!
I wanted the levels to use the arrow keys, so I put the render options on the number keys … but I think I used the wrong enums for that.
Gravity was (supposed to be) part of the core gameplay loop, but I didn't get to the slow-motion to make it manageable, or the loose-state to make it make sense … so I just put it on very low for the non-tutorial levels and called it a day. You can even see that I forgot to disable the gravity while in menu when you have those levels selected :'-)
The renderer looks so cool. I tried this game twice and both times I couldn't continue because of some weird bug.
I hope you make something cool with this renderer. It has a lot of soul :D
I don't have a numpad, maybe that's what was required for the settings? I really wanted to see how it looks and how well it runs with different settings.
@M2tias Thanks so much! I like building something unique, so saying it has soul is def. something I was going for :-)
I'll may revist this engine for a larger project (which was the original intention) but it doesn't seem to mesh well with jamming, so far. It needs a lot of poking and prodding to get it to do what I want and I don't have that kind of time during a game-jam (not even during a month-long one).
For the resolution/bounce; it's a bug, the keys just listen to the wrong code, since I switched that part up last minute.