About
Tera: Mind Over Matter is a modern puzzle action game about dropping blocks of different shapes to clear lines. The game has a rapid difficulty curve that emphasizes speed and accuracy. Get as many Teras as you can!
Controls
Left/right - shift pieces left and right
Down - soft drop
Up - hard drop (locking behavior can be changed in options)
Z/X - rotate pieces (direction can be changed in options)
Z+X - hold piece
Changelog
v1.2 | 3/5/19
- Don't reset key repeat for left/right shift inputs when placing a Teramino
v1.1 | 2/17/19
- Fixed incorrect spawn delay curve which caused pieces to stop spawning at high levels
- Score display is no longer limited to 4 digits
- Time display is now minutes:seconds
v1.0 | 2/7/19
- Initial release


Best version of Tera I have ever played. I can see my reflection in the polish on this game. Like, every little detail just makes this a joy to play. This cart is making me wish there was a solid way to play pico8 carts in a handheld. Bravo!!


@paloblancogames I've been playing this on the GameShell by ClockWorkPi and it works great! Awesome job @tesselode.


@tesselode perhaps "Clear x number of lines within a time constraint"?


I have been looking for something precisely like this for a long time. Quite frankly, I'm speechless. It's pretty much perfect!
As for new modes, however, might I suggest a 150-line Marathon mode, or a 3-minute Sprint mode, like some other modern games of the 4-piece block stacking variety?


I like the idea of a time attack mode, where a timer is constantly ticking down and you get time back by making lines.


This is my favorite Tetris on PICO-8! Looks great, plays well (especially with the much appreciated hold function), and has a bumpin soundtrack.


I actually like it difficult, although I seem to get messed up around the 10 minute mark, where I can't auto shift pieces sometimes and then they lock very quickly, and one mistake pretty much dooms me and I can't recover. I don't know if this is by design, I resort to tapping each shift and constantly doing so to avoid locking just to be safe.


Really nice implementation! (although I'm terrible at it no matter how it's called)


Fantastic game! Gets very difficult very fast, but I really love how perfectly it captures... the copyrighted other game, down to how it controls and how it feels.
However, I do feel the input problems that joseph3000 talked about. I think it's from the btnp() function, and how it works. When you hold down one key, the btnp() repeat timer starts counting. When you press two keys at the same time, the btnp() repeat timer resets to make sure that both the btnp()s become true at the same time. This cart is a great example of what I'm (trying to) talk about. If you try to press two buttons at the same time, they line up with each other.
I think this is intentional, to make weird input issues on slower games less of a problem. To fix this, you may have to straight-up overwrite the btnp() function.
Still, even with these input issues, (more caused by PICO-8's function than your coding) this really is the definitive PICO-8 clone of tetr- err... game involving falling pieces made up of four boxes that are affected by slowly increasing gravity.


Ahhh...yes, I thought it might have to do with btnp(), but wasn't sure how exactly until seeing the pad test. It must be when I'm holding shift before next piece (to beat DAS) and then pressing rotate; at super high speeds this effectively cancels my auto-shift and the piece locks where it insta-drops.


ok, i just released an update that removed some vestigial code that was making the inputs stiffer than they needed to be. @joseph3000 @TheV360 how does this feel to you?


I think the stickiness problem is gone...but I seem to have another issue now! Maybe this is a consequence of whatever input changes you made? Sometimes when I rotate a piece, it double-rotates, and therefore I mess up. This only happened sometimes in the previous version, but now seems to happen a lot. I always thought it was my controller at first, but maybe it has to do with the built-in input repeating?
I think holding rotate only counting as one input might help!


Hmm...ok then. I don't hold rotation, but it's definitely double rotating on occasion when I press. I'll try and figure out what I'm doing when it happens.


I tried to fix the btnp() issue by remaking btnp() from scratch. It's not a perfect fix, but here's my code.
___btnp={pause = 8, old=btnp} do local b, p for p=0,1 do ___btnp[p]={} for b=0,5 do ___btnp[p][b]=0 end end end function update_btnp() -- run this every frame. if 30fps, halve the ___btnp.pause value. -- b: buttons, p: players local b, p for p=0,1 do if(not ___btnp[p])___btnp[p]={} for b=0,5 do if btn(b, p) then if not ___btnp[p][b] then ___btnp[p][b]=-___btnp.pause end ___btnp[p][b]+=1 else ___btnp[p][b]=false end end end end function btnp(i, p) p=p or 0 return ___btnp[p][i] and ___btnp[p][i]~=1 and ___btnp[p][i]%___btnp.pause==1 end |


I've been playing a lot, trying to figure out what it is I'm doing to cause the double rotation. I honestly don't know, sometimes I just press only rotate and it double rotates, even at the start when things are quiet still. Maybe it's just my controller, or how PICO-8 runs on my Mac??
I mess up a lot more and it's hard to get my usual scores, but I did just get this :)
[Please log in to post a comment]