DeckBattle Arena is a real-time multiplayer card game application that allows up to 4 players to compete using a standard deck of 52 cards. The game features action cards with special abilities such as skipping turns, reversing play order, and drawing extra cards.
- Real-time Gameplay: Utilizes Socket.io for real-time communication between players.
- Player Interaction: Players can join or create games and take turns playing cards.
- Action Cards: Special cards (Aces, Kings, Queens, Jacks) trigger unique game effects.
- Responsive Design: Built with React-Bootstrap for a responsive and intuitive user interface.
- Next.js: Framework for server-side rendering and static site generation.
- Socket.io: Enables real-time, bidirectional communication between clients and server.
- Express: Web framework for building the server-side logic.
- MongoDB: NoSQL database for storing game state and user data.
- Mongoose: ODM (Object Data Modeling) library for MongoDB and Node.js.
- React-Bootstrap: Provides Bootstrap components as React components for styling.
-
Clone the repository:
git clone https://github.com/Hritvik-Mohan/deck-battle-arena cd deck-battle-arena
-
Install dependencies:
npm install
-
Set up environment variables:
-
Create a .env file in the root directory and add the necessary environment variables. Example:
MONGO_URI=<mongodb_connection_string>
-
Run the development server:
npm start
- Create a Game: Navigate to the game creation page to start a new game.
- Join a Game: Enter a game ID to join an existing game.
- Play the Game: Follow the on-screen instructions to play your cards and interact with other players.