imalooney / t3tr0s Goto Github PK
View Code? Open in Web Editor NEW30th anniversary tetris in ClojureScript
Home Page: t3tr0s.com
License: Other
30th anniversary tetris in ClojureScript
Home Page: t3tr0s.com
License: Other
Rather than start the next game countdown automatically, players waiting in the lobby should be able to signal that they are ready to play.
Right now you see the "scramble board" when the game is paused in solo mode. This is also the same thing you see after you've lost the game (see Issue #4).
It would be nice to differentiate the "Paused" board from the "Game Over" board so you could tell at a glance what the state is.
Also: the "scramble board" is just super cool :)
Basically a theme change that occurs when the game is paused is lost as soon as we get out of Pause mode.
Steps to reproduce:
We should support basic touch events for playing the game.
I don't think we need to optimize the UX for this case, but it should at least be playable on phones and tablets.
The multiplayer mode would be perfect if manually starting the game was not required. As a start, I'm thinking the MC page includes a "time between" rounds setting. If set, players will go to the lobby at the end of a game and have X number of seconds/mins until the next round starts. If the lobby has less than 2 people then the cool down timer is paused.
This could also be implemented as a "Ready" button for everyone in the lobby. However, you might end up with one player AFK that causes everyone to wait. I'd start with the auto re-start and see where that goes.
I feel like we could handle game end scenarios better. Some ideas:
We should be able to build client.js in advanced optimizations mode. Will probably need some externs, etc.
We were theorizing that the dashboard was being choked by receiving so much data at the same time. I was thinking maybe the amount of data isn't the problem maybe it's how we're trying to act on request.
Maybe if on-update-player
we add the data to a queue instead of acting upon request. And just have a different process that tends to the queue (requestAnimationFrame
maybe?).
Just putting this down so we have a task to fix the dashboard.
would be neat to have a mode where the themes were cycled automatically every 30 seconds or so
this could be the default initial setting
The sharpness of the pixels in our tilemaps aren't really representative of the original games. The MoMA guys knew that, so they added effects to their demo to make it look closer to the original monitor:
We can use shaders over the HTML Canvas 2D, or just fudge the effect with bitmaps, which is easier to do.
Default to not playing the theme.
On screen button to toggle on and off.
Hotkey ("M" ?) to toggle theme.
We should force users to enter a username for battle mode and do validation on it when entered.
For simplicity and design reasons:
Does anyone notice a lag of around a hundred miliseconds when moving pieces? It's especially aparent when hard dropping. I tried the profiler on the live demo but couldn't discern anything from the minified code. When I get a chance I'll try to dig further.
To reproduce:
Show the list of players currently in the lobby. Column on right hand side, chat room style.
On a windows machine, seems like is some browsers when you go to battle mode, the match making chat box does not display. Initially, when I played for the first time, did not even know there was match making because it glitched so hard.
Essentially, last time I checked, i believe in firefox on windows, the battle chat log does not show up.
Would be nice if you could override the initial default values in server.game-settings from config.json.
I think this is a regression with the addition of the stats graph. If you are in the middle of a row complete animation, pressing left or right will scroll the page. Pretty annoying...
If Player A is playing during battle mode and switches his browser tab off of the game, the dashboard no longer updates his board.
After successfully completing a line in t3tr0s, the game blinks the lines. During this time if the gamer presses Left Arrow
or Right Arrow
key, the browser window viewport scrolls to the left or right respectively.
... Arrow
key strokes during that time.Love the game yall ๐
Is this code open source? If so, under which license?
If not, what am I allowed / not allowed to do with it?
If the user changes the board theme whilst paused, the board reverts to its pre-paused theme once the game is resumed.
Applying what I learned from Tufte's "See, Think, Design, Produce" course to visualize the progression of a Tetris game.
Games always start with the 1984 Electronika 60 theme. Most users do not know how to change the theme, and just leave the default on. I think we should choose a random theme on startup.
Should be cleaner and faster.
For a fresh new game mode, we can race to 40 cleared lines instead of trying to maximize points in 5 minutes.
Overview of changes needed:
I think this will be simple, so if someone wants to take this task to learn more about the server, go for it!
Would be nice to have a pause button / keyboard shortcut.
Not sure what the best approach is here; just feels a little slow to me currently.
Would be nice to show the available keyboard commands on the game screen.
Probably on the right under the scoreboard.
Look into improving dashboard animation with a JS library like velocity.js or tween.js
Add ability to play using a gamepad.
Player should be able to rotate a piece when it is on the far left and right edge of the board.
Currently, you can't just hold down and then right to tuck a piece under an overhang. The piece falls too fast to register the last second shifting, which frustrates me.
Gameboy Tetris's control scheme disables the down key when you press left or right, making this maneuver easier.
Facebook Tetris Battle's control scheme combines the controls, but gives you a grace delay when it hits a floor, allowing you to shift pieces before they are locked in.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.