Thanks.
Stevens R. Miller
Creator of
Recent community posts
Thanks for the high praise, Justin. No custom shaders here. I just changed the color of the one light source from white to red using an AnimationCurve. The objects in the scene only reflect their red components when the light source is purely red itself. So, anything made of only some amounts of green and blue looks black. I set the ambient light to black. The surfaces are not quite purely diffuse (there actually are faint shadows, if you look closely). There is no skybox. The sky is just a fill color. One little trick I’m pleased by is that the sky goes from black to white when the lightning flashes, but in between black and white you can see it has a red tint. That’s done by using the same AnimationCurve to set all three RGB components, but first squaring the G and B. So, when the curve value is zero, R=0, G=0x0, and B=0x0 (all zero), and when the curve value is one, R=1, G=1x1, and B=1x1 (all one). But anywhere in between, like one-half, R=0.5, G=0.5x0.5, and B=0.5x0.5 (R=0.5, G=0.25, B=0.25), so there’s much more red.
Your game is pretty amazing itself. Terrific animations.
Thanks! The levels are generated by controlled randomness, meaning there are limits to size, number of traps, and so on, but the cubes and traps are placed at random. Unfortunately(?), this does mean the enemies will do dumb things sometimes like wander into a trap for no reason. In a better version of the game, they’d only do that if they were close enough to you to be under your influence, or something like that.
Of course, you can always play the same level over again if they all self-destruct or they beat you. When you do, it’s a new layout. Same size and number of traps and enemies, but the traps and cubes will be in different places. The one thing that’s always true is that there’s always a possible path from any place on the board to any other place, so you’re never in a situation where you can’t lure the enemies toward you and make them fall into a trap or off the edge.
Your team’s game was amazing, btw!
Cute. Nice job with a familiar starting point. My 4k screen made it a bit tiny, but I can change to 2k. There were a couple of intersections where I couldn’t get the character to enter a path, but I sometimes came back out of that entry if I could find another way around. Nice “chiptune” choice of score.
I like your take. It was certainly illuminating to be there and feel the vibe as the event began. I actually can see how this hones your skills. As long as everyone is clear that it’s not training for crunch time (or, maybe more accurately, it’s not to validate crunch time), I think I can get behind it.
Don’t know if I’ll be able to make a game, but let’s see what happens. Definitely, I was glad to be there and meet new people (and chat with a few I already know, too; nice community we’ve got in the gamedev DMV).
I’ll be at the in-person part tonight. I’ve never done a jam and won’t have time enough to be useful as a committed team member this weekend. But a lot of people tell me jams can be good experiences for my Game Programming students. I’ve always been a bit dubious. Jams seem a little like crunch time on purpose to me. Also, I discourage last-minute hustle on assignments, and a jam is pretty much all last-minute hustle.
However.
I could be wrong. Maybe jams are great skill builders. Maybe they help folks learn to handle a bit of pressure. Maybe they’re just fun.
So…
Tonight I hope to see for real what a jam is all about, hear from folks as they embark on one, and learn a bit more about them overall. I won’t be able to join a team, but if anyone has a question and the rules allow a casual answer, I’ll contribute here and there (if I can).
See you soon!

