Git Product home page Git Product logo

rock-paper-scissors-3d's Introduction

Rock Paper Scissors 3D logo

The classic game of rock, paper, scissors in 3D!

Buy Me a Coffee at ko-fi.com

Features

A non-exhaustive list of features:

  • Full 3D environment
  • Animated objects (rock, paper, scissors)
  • Orbit controls
  • Responsive design (desktop + mobile)
  • Four game modes (three wins, five wins, seven wins, and endless)
  • Three game phases (ready, playing, ended)
  • State management
  • Current game saved in local storage
  • Preferences saved in local storage (ex. mode)
  • Total wins saved in local storage
  • Clear data option
  • Menu with options

Technologies

The core technologies used are JavaScript and WebGL. The following libraries and tools are used:

Name License Description
React MIT Component-based, front-end interface library
Three.js MIT 3D graphics API for the web, based on WebGL
React Three Fiber MIT A React renderer for Three.js
Drei MIT Useful helpers for React Three Fiber
Zustand MIT State management
Vite MIT Frontend development tooling

Screenshots

Game

Menu

Roadmap

  • Smoother animations (modal, hovering etc.)

Assets

All the assets used (3D models, images etc.) are either using Creative Commons / Public Domain or they were created by me.

Software Used

A non-exhaustive list of all the software that was used during the development of Rock Paper Scissors 3D.

  • Visual Studio Code
  • Figma
  • Blender
  • Adobe Photoshop
  • Inkscape
  • Google Chrome
  • Microsoft Edge
  • Mozilla Firefox

Gameplay and Rules

Rock Paper Scissors is a hand game played between two people where each player simultaneously forms one of three shapes with their hand: a closed fist (representing a rock), an open hand (representing paper), or a hand with the index and middle fingers extended (representing scissors).

In this 3D version of the game, the player has to pick one of the options by clicking on the respective object. Upon clicking, the computer makes its choice, and the result of the round can be seen immediately on screen.

The winner of the game is determined by a set of rules: rock crushes scissors, scissors cuts paper, and paper covers rock. If both players choose the same shape, the game is tied and played again.

๐Ÿ’– Support the Project

Thank you so much for your interest in my project! If you want to go a step further and support my open source work, buy me a coffee:

Buy Me a Coffee at ko-fi.com

License

Copyright (c) 2023 Michael Kolesidis
Licensed under the GNU Affero General Public License v3.0.

rock-paper-scissors-3d's People

Contributors

michaelkolesidis avatar

Stargazers

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

Watchers

 avatar

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.