Save the Dragon! is a turn-based, grid-based multiplayer board game implemented as a web app. Players join a game, roll dice to move their characters, and compete or cooperate to save the dragon. Each player is represented by a unique character picture and can move around the board based on dice rolls. The game state is managed on a Node.js/Express server with SQLite for persistence.
- Multiplayer support: Join or create games with friends.
- Turn-based movement on a customizable grid.
- Dice rolling and valid move highlighting.
- Player character selection.
- Admin panel for managing games.
- Node.js (v16 or newer recommended)
- npm (comes with Node.js)
-
Start the server:
cd server npm install npm run start
The server will start on http://localhost:3000
-
Build and Run the client:
cd client npm install npm run dev
-
Open the game: Visit http://localhost:5173/ in your browser.
- Access the admin panel via the "Admin" link on the home screen.
- The default admin password is
superman
(seeserver/index.js
).
- Game state and player data are stored in
server/database.sqlite
. - The server will automatically clean up inactive games after 60 seconds of inactivity.
This project is for educational and personal use.