Boring Friday night in? Looking for some hot, esoteric programming challenges? Give my "Low-Rez Shadertoy: The Game" a go!

Write shaders in some made up assembly language, match your target, win prizes*

This is an alpha version and I'm looking for feedback. Please boost/share, thanks!

http://lrst-alpha.s3-website.eu-north-1.amazonaws.com/

LRST

@evilpaul_atebit It'd be cool if it showed you which level you're on while you're in the level? Unless that is somewhere and I'm missing it.

I only did the first 8 levels but doing World 2 level 4 in three instructions was very satisfying.

@JoshGrams @evilpaul_atebit I went to bed thinking any fewer than 5 was obviously impossible and woke up and banged out the 3-instruction version in like 2 minutes. so satisfying, yes.
@JoshGrams @evilpaul_atebit
Was "fewer than 22 instructions" meant to be "fewer than 12 instructions"?
@jcreed @evilpaul_atebit Yeah, I wondered that too, because my first working try was 10 instructions.
@JoshGrams @evilpaul_atebit yeah, I was gonna say, I bet I could shave one more instruction off my solution

@jcreed @evilpaul_atebit Yeah, I'm still parsing yours. What I did was... for the stripes, since you need the 2 bit and the colors are 2 apart:

add r1,#1,r2
and r2,#2,r2
add r2,#5,r2 ; 5 or 7

Then center the x coordinate:

sub #31,r0,r0
sub.mi #-1,r0,r0

Triangularize the y coordinate:

sub #31,r1,r7
sub.mi #63,r1,r1

Stick them together and choose blue or stripes:

sub r0,r1,r0
mov.gt #1,r0
mov.le r2,r0

@JoshGrams @evilpaul_atebit nice! I feel like par could be lowered on several other puzzles as well, e.g.
@JoshGrams @evilpaul_atebit what a great little game, though. What I wouldn't do for some SIMD instructions...
@jcreed @JoshGrams Thanks for the feedback! Do you have suggestions for how SIMD might work here?
@evilpaul_atebit @JoshGrams good question, I haven't thought too deeply about it, but just to throw an idea up: what if you could say something like rL to mean all registers r0...r3 uniformly, and rH to mean all registers r4...r7 uniformly, so that
"add rL, rH, rH" would mean
add r0, r4, r4
add r1, r5, r5
add r2, r6, r6
add r3, r7, r7
?
@evilpaul_atebit @JoshGrams I'm thinking this would allow tightening up of identical preprocessing that I do to the x and y coordinates, (and maybe it'd be fun to only introduce the instructions later in the game so that people can go back and revise their earlier naive sol'ns) but surely there's bound to be other sneaky uses of it I haven't thought of
@jcreed @JoshGrams I think I'll implement that and see what kind of fun it unlocks.. thanks!