Skip to content

NuttakitDW/noirhack-game-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

252 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 My Game Project

This project includes a downloadable game client, a WebSocket server, and an API server. Follow the steps below to set everything up and run it locally on your machine.


📁 Part 1: Download and Run the Game

1. Download the Game ZIP

Download Game (.zip)

2. Extract the ZIP

Unzip the file to a folder of your choice.

3. Allow the app to run (macOS only)

Open your terminal and run:

xattr  -rd  com.apple.quarantine  "/Users/your-machine-name/Downloads/Noir WereWolf.app"

🔌 Part 2: Run the WebSocket Server

1. Clone the Repository

git clone https://github.com/NuttakitDW/noirhack-game-engine.git

2. Install Rust

If Rust isn’t installed, run:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

3. Start the WebSocket Server

cd wss-server
cargo run --bin wss-server

🌐 Part 3: Run the API Server (Bun + Noir Circuits)

1. Clone the Repository

git clone https://github.com/NuttakitDW/noirhack-backend.git

2. Install bun

If Bun isn’t installed, run:

curl -fsSL https://bun.sh/install | bash

3. Install Dependencies

bun install

4. Start the API Server

bun start

🔧 Part 4: Set Up WebSocket Access via ngrok

To use WebSockets in your game, the server must be accessible via a public HTTPS domain. For local development, use ngrok to expose your WebSocket server securely.

1. Install ngrok

brew install ngrok

2. Sign up for ngrok

Visit:
https://dashboard.ngrok.com/get-started/setup/macos

3. Configure ngrok with your token

Get your auth token from:
https://dashboard.ngrok.com/get-started/your-authtoken

Then run:

ngrok config add-authtoken <YOUR_TOKEN>

4. Start the ngrok tunnel

ngrok http http://localhost:8080

You’ll get a URL like:

https://your-domain-name.ngrok-free.app

5. Convert to WebSocket URL

wss://your-domain-name.ngrok-free.app/ws

Final part

After configuring the server and game engine, you’re ready to start the game.

game

1. Enter your player name

2. Paste the WebSocket server URL from your ngrok setup

3. Start the game and enjoy!

⚠️ Note: All players must use the same WebSocket server to connect.

Important Notes

Due to time constraints, not all ZK circuits have been fully implemented or integrated into the Unity demo. The shuffle phase, role reveal, kill, and peek actions are functional, but features like announcing the role of the dead to the server and voting are still missing.
As a result, the current demo cannot proceed through the night phase.

Additionally, the game requires exactly 4 players to start.
A running WebSocket (wss) server is also absolutely required for the demo to function.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •