I’ll take a look in within 2 hours… Is this online multiplayer or local.
online multiplayer, but you can’t tell if others are online unfortunately… you only know when you receive garbage. i hope to make opponents visible but i’ll have to see what i can do.
I’m playing… I left. It works pretty well. Congrats, great game, and beautiful graphics.
looks like it works pretty well then! i’ll try to add opponent previews now and hopefully it will work.
websocket has been doing some funny stuff lol
- you cannot use wick-specific code inside of a websocket event handler thing, because it will not understand what it means. this INCLUDES calling an outside function that uses wick-specific code lol. so when adding SFX to the garbage sending, i had to make workarounds because i could not use
playSound()
when receiving alines
message from the server. - if i remember correctly, SomeoneElse’s server was able to be kicked on when someone tried to join the server. so the Replit is usually turned off cuz of inactivity or disconnection or something, but magically if you connected to the server it would automatically turn the server on. i literally have no idea how that works and i can’t get it to work with my new server code.
anyways, i will try some more with the multiplayer thumbnails a little later, but i did add sound effects (will release along with the multiplayer thumbnails).
… but you receive an event that runs at your client… you are suppose to be able to call playSound()… I was able to hear line sounds yesterday… or do you want the other person to hear my lines? What about using WickSound?
the console will complain that playSound is not defined here. i have to use playSound outside of the websocket event.
i think there’s 2 ways to write a websocket event, so maybe the other way will work… i might try later.
What is the context of those lines? WickClip, Frame, Project? Also, you sound asset doesn’t have the extension… (like .mp3) just in case…
that’s in a frame. i removed the extension in the audio name so that’s why i don’t have them there.
i think it’s done!!!
you should see multiplayer thumbnails when other players are online. however, they only appear when the opponent places a piece cuz… i’m lazy to fix it…
also, the thumbnails are MASSIVELY simplified because, well, think of the number of clips the game would need to have. (and think of the work i’d need to do… ick)
here’s a video demonstration. realistically the max players would be, like, 4, but it is expandable to 20 or 30 players before it overflows past the edges. i could make them resize better but i can’t be bothered right now.
so uh, have fun! unfortunately the replit server has to be manually turned on my me if it ever disconnects, so currently it will NOT connect online if someone tries to join and the server is off. but on the off-chance it is on, you are free to make multiple tabs and give it a try.
Anyways, here’s an updated overview of the game…
Clear lines in this stacker game legally distinct from Tetris to attack your opponents. Your opponents will send garbage lines back to you so be careful and don’t reach the top of the board!
Controls
Key | Action |
---|---|
← | move left |
→ | move right |
↑ X | rotate clockwise |
Z | rotate counterclockwise |
shift | rotate 180 degrees |
↓ | soft drop |
space | hard drop |
C | hold |
R | restart (when dead) |
Attack Table
Clear | Lines |
---|---|
Single | 0 |
Double | 1 |
Triple | 2 |
Quad | 4 |
Spin Single | 2 |
Spin Double | 4 |
Spin Triple | 6 |
All Clear | +10 |
no combos or back-to-back…
Features
- core features from modern stackers
- extra additions to SRS, with O-spins and better S and Z rotations
- all-spins
- sound effects from Tetra Online
- line clear effects (all other effects are turned off)
- multiplayer, with very simplified opponent thumbnails
Play
Remember that my Replit server has to be on for you to connect and see opponents. So there is a 99.99% chance you will not be able to play online. To be sure, you can open the console and see all the WebSocket errors, or open multiple tabs of the game (place a few pieces in each instance first).
Also, remember that you can just press R to reset when you die.
It works great, wow… you did it. well done.
This is so cool! Fantastic work!
What? Is this a ghost? Luxapodular!
uhh welcome back friends. it’s AP exam season in the US but i’ve made the questionable decision to extend the (singleplayer) game in a new direction.
Tetris: The Grand Master 4 (TGM4) came out somewhat recently, and the TGM series is pretty well known for extremely difficult, extremely fast “master” modes where gravity goes to maximum speed really quickly.
most singleplayer tetris games feature levels that you clear 10 lines to complete. however, TGM games have a different system.
- instead of 10 lines per level, there are 100 “levels” per “section”. every time you clear a section, the game gets harder
- clearing a single adds 1 level, a double adds 2, a triple adds 4, and a tetris adds 6
- placing a piece also adds 1 level, unless you are at X99 levels, so you must clear a line to get past the section barrier
(another thing i added is that the next piece is announced by a robot voice. TGM games have weird beep/tone patterns or whatever that are kind of hard to understand so i’m just using the piece names)
basically i just repurposed some of my existing code to work by this system. the video below is a short demo of the instant gravity and TGM-style leveling. there will be more later but this is enough for a demonstration.
Cool!!! The trailer looks interesting, when will it be released?
after this friday i will have a bit more free time to work on the game. no idea when it will be done but i can share some of what i’m planning (no major spoilers, of course).
the big premise of this game (apart from being very fast and very hard) is that i want to see how much information i can take away from the player and have them still be able to stack.
if you didn’t know, there is such thing as invisible tetris, where the stack is completely hidden, which you can get a glimpse of here (https://www.youtube.com/watch?v=X9Bth7rXJQk).
however, the stack is not the only thing you can take away from the player. so i want to explore those options, see what’s fun, what’s unfair, etc.
minor tangent
if you take this concept and dial it to about a hundred quintillion, you have the ultimate final boss where the ENTIRE game is invisible. since the next pieces are random, the game actually does have to tell you what piece you have, but it is done with a sound effect for each of the 7 pieces. (https://youtu.be/oUlL3Jgiirg?si=-bp4fAVHKj4fe0ZS&t=3)
hmmm i wonder why he decided to add next piece sfx. ¯\_(ツ)_/¯
i won’t be making the game this extreme, but it’s fun to think about.
and one last note, i’m sure for a lot of people, normal tetris is already hard enough, and maxing out gravity and taking information away from the player is utterly overwhelming. i hope to make accessible versions of whatever gamemode(s) i make, but i will warn that there is a very real skill floor to what i am doing so not everyone will find it playable.
major updates:
- added initial rotation and initial hold. during line clear delays, your inputs used to just get ignored. but now, if you rotate or hold during a delay, the game will register those inputs and spawn the next piece pre-rotated and/or pre-held.
- added death avoidance. if the spawning piece would top you out, you are warned with a sound effect and a blinking piece. for half a second, you are free to rotate and hold to try to escape death. if you succeed, play continues as normal, and if you fail, you die as per usual.
video demonstration below:
https://www.youtube.com/watch?v=3_CHD7nPMm0
minor updates:
- between last week and now, i have edited the rotation kick table.
(nerdy details)
I pieces (the line piece) used to use the guideline system, which is actually asymmetrical. i have now made it use the TETR.IO kick table, which is similar to the guideline one but is symmetrical.
there are now 180-degree kicks. they are based on TETR.IO’s 180 kicks but are both stronger and weaker in certain ways.
the kick that i originally added to make S and Z pieces less stuck are now also applied to T, L, and J.
anyway… i think i’ve done enough with making this game easier.* time to make it harder.
*unless i have bugs to fix
it looks really good!!!
after some testing, i’ve decided that death avoidance is way too permissive, allowing quite a lot of overstacking that was intentional but is too much in practice.
i’m planning to keep it in, but it will be less permissive and not allow any kicks (or maybe just fewer kicks).