Giter Club home page Giter Club logo

hopking-iot's Introduction

HopKing-IoT

Installation Instructions

Follow these steps to set up HopKing-IoT on your local machine:

Prerequisites

Ensure you have Node.js installed on your system. This project requires Node.js version 14.x or higher.

Setup

  1. Clone the Repository (skip this step if you've already cloned or have the project files)

    Open your terminal, navigate to the directory where you want the project to be located, and run: git clone https://github.com/your-username/HopKing-IoT.git

    Replace your-username with the actual GitHub username or the organization/user under which the repository is hosted.

  2. Navigate to the Project Directory

  • After cloning, move into the project directory:
    cd HopKing-IoT
    
  1. Install Dependencies
  • To ensure a fresh start, delete the existing package-lock.json file:

    rm package-lock.json
    
  • Then, install the project dependencies:

    npm install
    
  • This command installs the necessary packages specified in the package.json file.

  1. Start Express Server
  • Go to server directory and start the server:
    cd hopking-server
    node server.js
    
  1. Start the Development Server
  • Start the development server to run the project locally:

    npx vite dev
    
  • Or, if a script is specified in the package.json:

    npm run dev
    
  • This command will start the development server. The terminal output will provide the local URL where the project is running (usually http://localhost:3000 or similar).

  • Open up two side-by-side terminals for the server and Pixi-Vite app.

hopking-iot's People

Contributors

max-proj17 avatar samcwitte avatar

Stargazers

 avatar

Watchers

 avatar  avatar

hopking-iot's Issues

Complete Pose Model Control Integration

Things TODO for this issue are

  • making a calibration page for incoming users, who aren't allowed to join the waiting room unless their camera is "calibrated" or is working properly.
  • Replace all key press events in the Player.js class with model pose recognition outputs
  • Optional depending on time: Add the pose "stick-figure" visualization as seen on teachable machine's website to calibration phase/in-game

Complete Game Loop

The Game needs to

  • Have a way to loop back to the main menu after a game finishes
  • Have a waiting room (just keep it empty if networking not complete)
  • Have a way to exit waiting room and go back to menu
  • Have a way to enter waiting room or go back to main menu after game ends.
  • Have a way to view the leaderboard on the main menu and go back to the main menu
  • Display the Winner, time/jumps taken.

If you believe these tasks can be separated further. Feel free to make more issues.

Complete Networking for Players

The foundation is already made for a single player connection. Now we must:

  • Create traffic control for users on the site (minimum allowed clients). Remember not all users will be there to play the game.
  • Add the backend code for sending every players position data to one another.
  • Create names or box colors for different players.

Complete Firebase integration

Either create a separate script, or add in the functionality to:

  • retrieve or post player name high-score data
  • display the top 10 or 25 on the leaderboard page (if it is not made yet please create it)
  • after a round ends, If the winning player has a higher score than the name in 25th place, show the players score on the leaderboard and the +2 & -2 names/scores that surround the new name/score. (IF they are the new 25th, only show the +2 names/scores and if they are the new 1st, only show the -2 names/scores)
  • Create some score system that incorporates the players time & jumps taken into a single number (preferably)
  • Create a name entering system when joining the server that has common username limitations (no empty string, long names, etc)
  • There are no ties. If two players reach the top at the same time, the player with the fewest jumps wins.

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.