Skip to content

jyyyeung/tetris-match

Repository files navigation

Tetris Match

Description

Tetris Match is an online multiplayer game of Tetris.

Setup

$ git clone
$ cd tetris-match
$ npm install
$ npm start

Tasks

  • Landing Page

    • Logo?

    • Authentication

      • [front] Component for Login form

      • [back] Login form logic

      • [front] Component for Signup form

      • [back] Signup form logic

    • How to Play Page

      • [front + text] Game Rules
      • [front + text] Controls
    • Play Now Button

      • [front] Play Now Button
      • [back] Play Now Button Logic
        • Invite Code Logic
        • Matchmaking Logic
  • Game Page

    • Game Board
      • [front] Game Canvas Component
      • [back] Game Canvas Logic
    • Game Controls
      • [back] Game Controls Logic
      • [back] Cheat key logic
    • Game Sprites
      • [front] Tetris Piece Component
      • [back] Tetris Piece Logic
    • Game Mechanisms
      • Levels?
  • Game Over Page

    • [front] Game Over Message
    • [front] Play Again Button
    • [back] Play Again Button Logic
    • [front] Return to Home Button
    • [back] Return to Home Button Logic
  • Leaderboard Page

    • [front] Leaderboard Table
    • [back] Leaderboard Logic
  • Profile Page?

  • Settings Page?

Marking Scheme

  • Game front page 40

    • Game description and instructions 5
      • The game description and instructions are clearly shown and written on the page
    • Player registration 10
      • New players can register for a new account in the front page
    • Player sign-in 10
      • Players can sign in the front page with an account
    • Player pair up 15
      • Players can join a game with another player
  • Game play page 95

    • Things in the game 40
      • There are at least 4 types of ‘things’ in the game: Tetrominoes, cloud, grass, clock
      • For example, bullets in a shooting game or cards in a card game are considered one type of thing
      • [] Any collection of the same thing that is animated / can be interacted counts as one type of thing
      • Static objects / text do not count
    • Players’ interaction 20
      • Some kind of players’ interaction is shown in almost real-time
      • WebSocket is used for the real-time communication
    • Game controls 10
      • Some things can be controlled by the mouse and/or keyboard
    • Game duration 10
      • A normal game should not last for more than 3 - 4 minutes
    • Cheat mode 15
      • A key/button can be used to activate the cheat mode
      • The game can be completed much quicker once the cheat mode is on (for example, unlimited bullets/ greater power/ ability to swap cards, etc)
  • Game over page 30

    • Player statistics 10

      • Relevant statistics of the game play is shown for each player
    • Player ranking 10

      • Overall ranking of the players of some useful measures is shown
    • Restart the game/ back to front page 10

      • The game can be quickly restarted in this page
      • Or, the player can go back to the front page
  • Graphic and sounds 10 - [x] Game play uses SVG or canvas - [x] At least two different sounds (i.e. 2 sound files) are used during game play

  • Running the project 15

    • A single ‘npm install’ can install all package dependencies
    • A single line of instruction starts the server
    • The game is started using http://localhost:800
  • User support 30

    • This refers to how well your project handles users
    • If the project can only handle one person at a time (turn-based ‘monopoly’ style), it may get 10 marks
    • But if the project can handle multiple people at the same time, in real time, it may get 30 marks
  • Game quality 40

    • This part is awarded based on the overall game quality in terms of creativity, completeness and playability
    • This is a general score given relative to the quality of work of the entire class
  • Project details announcement 20

  • Project video 20

About

Tetris Match is an online multiplayer game

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published