Skip to content

William-Gao1/skribbl-ai

Repository files navigation

Skribbl.ai

Pictionary but it's humans vs AI. If the AI guesses the word before the humans do, they lose. The objective is for the drawer to draw in a way so that the other humans can guess the word but the AI cannot.

The AI that we will use will be either a CNN or a LSTM. The players will be able to choose which one from the home screen.

Try it out here.

Run Locally

To run this project locally, you will need node.js (v20.10 recommended). Node.js can be installed here.

You will also need Python with version between 3.9.x and 3.10.x. Python can be installed here.

Install Dependencies

Clone the project

  git clone https://github.com/William-Gao1/skribbl-ai.git

Go to the project directory

  cd skribbl-ai

Install dependencies for server and client

  npm install
  cd client
  npm install

Create venv and install Python packages

# create a venv
python -m venv .venv
source .venv/bin/activate

# for linux users:
pip install -r requirements.txt
# for mac/windows users:
pip install -r dev-requirements.txt

# deactivate the venv
deactivate

Start Backend Server

Start the server (you do not need to activate your venv for this)

  npm run dev

If successful, you should see

[nodemon] 3.0.2
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,cjs,json
[nodemon] starting `node server/index.js`
Server listening on 3001

Start Frontend Server

Start the client (need another terminal tab)

  cd client
  npm start

If successful, you should see

Compiled successfully!

You can now view client in the browser.

  Local:            http://localhost:3000
  On Your Network:  http://<some local ip>:3000

Note that the development build is not optimized.
To create a production build, use npm run build.

webpack compiled successfully

Then, to see the app, visit http://localhost:3000

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published