This project is a digital implementation of the card game Scoundrel, originally created by Zach Gage and Kurt Bieg. The implementation was done entirely using Vibe coding, an AI-powered programming practice where developers can describe their intent in natural language and let AI tools generate the implementation.
Click here to play Scoundrel online
No installation required - just open the link and start playing!
Scoundrel is a solitaire card game where you explore a dungeon full of monsters, collecting weapons and potions to survive. The goal is to defeat monsters and survive as long as possible.
To understand all the rules and mechanics of the original game, you can check the official rules PDF.
This project was developed using Vibe coding, a natural and efficient way of programming through voice input and AI assistance. All files in this project were created and edited exclusively through AI assistance, with no manual coding involved. The following tools were used:
- Cursor - AI-powered code editor that serves as the IDE and AI agent, providing intelligent code completion and natural language processing capabilities
- WhisperTyping - Speech-to-text software that enables voice dictation, powered by OpenAI's Whisper model for accurate transcription
All technologies in this project were selected by the AI agent during the development process:
Frontend:
- React + TypeScript
- Vite for build and development
- Material-UI for components
- State management with React Hooks
- Socket.IO client for real-time communication
Backend:
- Node.js + TypeScript
- Express.js for HTTP server
- Socket.IO for WebSocket communication
- In-memory storage for leaderboard
Deployment:
- Frontend hosted on GitHub Pages
- Backend hosted on Render.com
This project uses a monorepo structure with both frontend and backend applications.
-
Clone the repository:
git clone https://github.com/davrodpin/scoundrel.git cd scoundrel
-
Install dependencies for both applications:
npm install
-
Set up environment variables:
- Create
.env
file inapps/frontend
:VITE_BACKEND_URL=http://localhost:3001
- Create
.env
file inapps/backend
:PORT=3001
- Create
-
Start the backend service:
cd apps/backend npm run dev
-
In a new terminal, start the frontend:
cd apps/frontend npm run dev
-
Open your browser at
http://localhost:5173
Note: The game requires both frontend and backend services to be running. Without the backend service, features like the leaderboard won't be available.
Original game Scoundrel © 2011 Zach Gage & Kurt Bieg. This digital implementation is an unofficial fan project, created for study and entertainment purposes.
This project is distributed under the MIT License. Note that this license applies only to the code implementation, not to the original Scoundrel game and its rules, which are property of their respective creators.