Coder Social home page Coder Social logo

mimshwright / mimstris Goto Github PK

View Code? Open in Web Editor NEW
152.0 9.0 76.0 2.28 MB

A falling block puzzle game created using React and Redux.

Home Page: https://mimstris.onrender.com

License: MIT License

JavaScript 95.41% HTML 1.16% CSS 3.43%
redux react game puzzle-game puzzle es6 videogame tetris pressed experimental

mimstris's Introduction

Mimstris

An arcade puzzle game created in JS using React / Redux.

๐ŸŽฅ Featured in a lighting talk at the 2017 dotJS Conference in Paris.

Note: This was originally coded in 2016 and there have been a lot of new developments in JavaScript, React, and Redux since then. I gave the project a very basic update in 2022 (since it wasn't compiling for me anymore) but the code remains mostly unchanged.

This game is open-source, free, and just for funsies!

๐Ÿ‘‰ Play Now! ๐ŸŽฎ ๐Ÿ“บ

Screen Shot

Motivation

After watching Meth Meth Method's video I was inspired to create a similar game for the following reasons:

  1. To try my hand at making a game using functional programming methodologies.
  2. To try out some JS tools that I hadn't used before
  3. I thought it would be fun to make up crazy custom shapes and/or game modes.

Some of the tools I used:

  • redux for state management
  • reselect for memoized selectors
  • react for component rendering
  • Ducks for module organization
  • AVA for unit tests and nyc for code coverage
  • lodash for numerous utility functions
  • random-seed to create a deterministic game mode (where every game is the same order of pieces)
  • pressed for detecting key presses in update loop (I created this library for this project)
  • babel, webpack, standard (code style)
  • ES6

Controls

Key Action
Left, A Left
Right, D Right
Down, S Down
Shift, Up Rotate Right
Z, / Rotate Left
Enter Pause / Restart Game
M Mute / Unmute music

mimstris's People

Contributors

mimshwright 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

mimstris's Issues

Create deterministic mode

Create a mode where the pieces always come in the exact same order. Use a RNG that accepts a seed value.

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.