Giter Club home page Giter Club logo

tritris's Introduction

tritris's People

Contributors

goel25 avatar leognon avatar sapphireamoeba5 avatar scoutskylar avatar superc03 avatar zzymyn 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

Watchers

 avatar  avatar  avatar  avatar  avatar

tritris's Issues

Make the pieces less sticky

In modern tetris games, the time resets if a piece is modified (spin, laterally moved) while it's touching another piece on the lower bound. Adopting that pattern here would make this game feel less clunky

Something feels off when trying to move a piece last second

Sometimes when I try to move a piece to the left or right when it's already touching the ground it doesn't work but instead places itself in the next "tick". This doesn't feel really right. Maybe a timer or something doesn't get reset properly. I could not really isolate the exact thing that feels off yet.

I'm using Firefox.

Hard drop

It should be possible to hard drop tiles like in Tetris 99, for example, by pressing the up-arrow.

I might contribute to that in the future.

Error when clicking any button on game page (prevents Tritris from playing)

The Tritris page seemed to be unresponsive, so I opened the dev tools and found that I was getting this error every time I clicked a button on the page:

p5.min.js:3 Uncaught TypeError: Cannot read properties of undefined (reading '_setProperty')
    at a.default.Element.<anonymous> (p5.min.js:3:251658)
(anonymous) @ p5.min.js:3

Multiplayer support

Maybe you can add multiplayer support. Maybe this should be done once the game is much further in development and once there's an actual community around the entire game.

I imagine the multiplayer mode like in Tetris 99 or Tetris Effect where you can send cleared lines to your opponents. Wonder how you would clear the received lines though. I can imagine this getting really complicated.

Controller / Gamepad support

It would be much more relaxing to play the game with a controller. Maybe it is possible to add support for controllers.

The documentation doesn't make "phasing" very clear.

I've been playing the game for a bit. I still don't understand when a piece is going to phase and when it isn't. I often think it will and it doesn't, or vice versa. I've read the How to Play section on Phasing, but I still don't get it. For example, what does this mean:

Instead, all phases can be performed by holding each key (rotate can now be held to become "charged").

What is "each key"? What is "charged"?

Or this:

A piece will always move to the next location as long as the next location is valid (no intersecting triangles).

It says "no intersecting triangles", but the examples show pieces phasing through intersecting triangles to get to a lower position.

There's also mention of holding the rotate key. But when I press the key down, the rotation happens immediately. It doesn't happen on key up. So do I press the key, get a rotation, and then hold it?

Mobile Controls

It could be helpful to add touch controls so people can play on mobile.
I'm not sure what a good control scheme would be, or how it could be implemented in a mobile browser (without the user accidentally scrolling and zooming).

If anyone has experience with this type of thing, I would love some help!

No license

There's no license on this project. Could you add a license? A common one is the MIT license.

Control variety

I'm on a QWERTZ-Keyboard and it's really inconveniant for me to use the X and Z buttons for rotation. On QWERTZ keyboards Y and Z have switched positions. I think you should be able to use Y or Z to rotate in the one direction and X or U, for example, for the other direction.

It would also be nice to be able to use W, A, S and D or the Arrow keys for movement.

keyboard layout

I guess you use Z and X as buttons because they are next to each other? Unfortunately that isn't true for all keyboard layouts. In Germany we have Y and X next to each other. In France it is W and X.

https://en.wikipedia.org/wiki/QWERTZ

I would suggest to either move to X and C, or map Y W and Z with the same keybinding.

lookahead display

The three single triangles are effectively one tile because they always come
together, but the lookahead display treats them as three seperate tiles. The
problem with this solution is that you don't know what the actual next tile
is when you have to place the first and second part of the triplet. Also you
might get multiple triplets in succession and lose count after the fourth or
fifth single triangle.

My suggestion is to increase the lookahead to three or four tiles and also
treat the triplet as one tile in the lookahead display.

That means if the triplet is the next tile, show three single triangles in
the first lookahead display. While you place the first part of the triplet,
show two single triangles in the first lookahead display. While you place the
second part of the triplet, show one single triangle in the first lookahead
display.

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.