I'm finally ready to present you the second version of my #Orca #Tetris patch.
- Controls are much more responsive now, no delay felt at all
- Type and orientation of the piece is always monitored to prevent it from going out of the field
- Line deletion is bug free now. It scans every line after every placed piece and clears the filled ones one by one
- Overall while being much more complex, the code takes up much less space
This is definitely the most complex thing I made in Orca.
Here are some details on how lines are cleared.
After the piece is placed, the game stops, then:
1) every line gets scanned and numbers of filled lines are going to that upside down pyramid
2) The pyramid outputs the least line number and line is being cleared
3) X operands that hold #, decreases it's offset to gradually uncomment every line above so S operands falls down naturally.
4) scanning happens again, loop is repeated on until there are no filled lines. And the game continues.
And well I think controls is very cool part of the patch. It's very simple. Just a chain of I(F)'s looped by (O)ffset.
So you place a character in the output of bottom F, it gets read by offset and (V)ariable operands and instantly erased.
Then assign different actions based on the character coming from the variable.
I'm not very good at explaining things (also the character limit), but #Orca -people should understand
@vacuumbeef I find this to be very impressive.
@vacuumbeef whaaaaaaaaaaat
@vacuumbeef This is so crazy. I don't think most people can appreciate the genius in this - I've never seen anything like it.
@neauoire Thanks! Yeah I guess it's hard to get into what's actually going on here. I also guess after a week I will not be able to tell how it works at all haha.
The line deletion part was just insane to figure out, and it's even harder to explain properly. Here I posted at least some details on how its done - https://layer8.space/@vacuumbeef/112344648511402372
@neauoire and I don't know about genius, more like too much free time haha
@vacuumbeef @neauoire They are not mutually exclusive ;)
@vacuumbeef this is INSANELY good stuff, i gave up on implementing tetris real fast myself and its so cool to see concrete proof its possible
@bx thank you, yeah when I got to the part where I had to implement the proper line deletion I really felt that's it, I can't do it. But then... well, after several days, haha, I got it. And you know it feels strange, because I look at it and see how obvious it is, but it never came to my mind before.
@vacuumbeef after looking at how youve solved it here, it really does feel like gur natural solution, id never considered this way, i was dead set on reading a whole line then writing it one lower, gur solution with gur S operator makes so much more sense tho
@bx its possible to do it another way but I just thought why if we have Ss that fall down already
@vacuumbeef yeah, gur S solution feels like gur lower friction/complexity option!
@vacuumbeef I literally have no idea what's going on here (minus the Tetris bit) but now I'm gonna spend the rest of my day deep diving whatever orca is.
@mvu oh just keep in mind that orca is mostly used for sending midi or osc, so making music and such stuff.
I actually make music with it usually, this tetris is just me having too much free time and disturbed mind
@khm by the way its great idea
@vacuumbeef hah, that’s awesome. Nicely done :D
@vacuumbeef Absolutely MADDENING achievement! I barely know anything about how orca works, but I *do* know for a fact that this is WAY beyond the scope of stuff it was made for. Kudos for keeping at it till the end!
@njamster Thank you!
It's a question whether all of that is really useful besides just being a fun gimmick, but actually maybe, at least for me - who just can't fuckin do music live, I will probably be able to incorporate my "inventions" in my regular Orca workflow. Or at least make the patches more "alive". Actually anyway it is fun, even if no real purpose.
Also now I don't have excuses why I don't release music haha.
@vacuumbeef Bah, some of the best things in life aren't useful one bit. That doesn't make them any less impressive. On the contrary, actually.