Giter Club home page Giter Club logo

t3tr0s's People

Contributors

dudemullet avatar imalooney avatar oakmac avatar pgambling avatar shaunlebron avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

t3tr0s's Issues

Add a ready button for players waiting in the lobby

Rather than start the next game countdown automatically, players waiting in the lobby should be able to signal that they are ready to play.

  1. Only "Ready" players are taken to the battle match.
  2. If all players are ready then the game starts immediately.
  3. If two or more players are ready then the game countdown starts, giving those AFK a chance to ready up.

Rotations are wrong

You have the rotations of the different tiles wrong (just I and O - I think). It doesn't match how the original behaves
image

differentiate between "paused" and "game over" boards

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 :)

changing theme while game is paused

  1. Go to Solo play mode.
  2. Set the theme to Facebook (0 key)
  3. Press "P" and pause the game.
  4. Change the theme to anything else and see the "scramble board" update accordingly.
  5. Press "P" to unpause the game. The theme is set back Facebook.

Basically a theme change that occurs when the game is paused is lost as soon as we get out of Pause mode.

support for touch events

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.

Auto restart battle when 2 or more people are waiting in lobby

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.

handle game end scenarios better

I feel like we could handle game end scenarios better. Some ideas:

  • give them a "new game" button
  • let them replay their game with the same piece orderings
  • let them watch a replay of their game; provide a sliderbar that will allow them to inspect the game at any state
  • in battle mode: links to go back to the lobby and / or the dashboard; allow them to watch someone else's game for the rest of the round
  • in battle mode: reset their score to 0 for the round and let them start a new game

Dashboard choking with data

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.

Realistic screen quality

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:

moma

We can use shaders over the HTML Canvas 2D, or just fudge the effect with bitmaps, which is easier to do.

Username Validation

We should force users to enter a username for battle mode and do validation on it when entered.

For simplicity and design reasons:

  • limit to alphanumeric + space characters
  • limit number of characters (12?)
  • no duplicate names

controls laggy?

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.

Browser Compatibility issues

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.

Left / Right arrow keys cause Window viewport to scroll when completed line is blinking

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.

Expected Behavior

  • Feeling of Accomplishment
  • Do not scroll the window viewport left or right

Possible Solution

  • Continue to capture the ... Arrow key strokes during that time.

Love the game yall ๐Ÿ‘

minor #annoyance

Open source?

Is this code open source? If so, under which license?

If not, what am I allowed / not allowed to do with it?

Stats Visualizer

Applying what I learned from Tufte's "See, Think, Design, Produce" course to visualize the progression of a Tetris game.

Start game with random theme

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.

new game mode - 40 lines

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:

  • server needs to handle the new win condition and rank players on lines instead of points
  • MC needs to select time attack or 40 lines
  • replace "time left" message sent to clients with "lines left"

I think this will be simple, so if someone wants to take this task to learn more about the server, go for it!

pause button

Would be nice to have a pause button / keyboard shortcut.

Dashboard Stats

We need to stats to power the new dashboard. Specifically, total piece counts and total lines count.

Screenshot attached.
dashboard-stats

Easier piece-tucking

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.