A real-time multiplayer Magic: The Gathering game engine with 3D card visualization, live battlefield rendering, and socket-based gameplay synchronization. Full-stack TypeScript application featuring interactive card mechanics, player targeting systems, damage assignment, and phase management with an immersive 3D UI.
- ✅ 3D Card Visualization - Immersive three-dimensional card rendering and interactions using Three.js
- ✅ Real-time Multiplayer - Socket.io-powered live gameplay synchronization across players
- ✅ Interactive Mechanics - Card targeting, damage assignment, and phase management systems
- ✅ Responsive UI - Modern, responsive interface built with React and Tailwind CSS
- ✅ Type-Safe Development - Full TypeScript implementation for reliable, maintainable code
- ✅ Redux State Management - Predictable state management with Redux Toolkit
- Node.js 16+
- npm or yarn
- Clone the repository
- Install dependencies:
npm install
Start the development server:
npm run devThis runs the backend with hot-reload and the frontend development server.
npm run build
npm start| Action | Command |
|---|---|
| Start Development Server | npm run dev |
| Build for Production | npm run build |
| Run Production Server | npm start |
src/
├── client/ # React frontend application
│ ├── components/ # Reusable UI components
│ ├── css/ # Component-scoped styles
│ ├── features/ # Redux state management
│ ├── game/ # Game logic and hooks
│ ├── layers/ # 3D rendering layers
│ └── modals/ # Modal dialogs
└── server/ # Express backend
├── cards/ # Card definitions
├── classes/ # Game entity classes
├── socket/ # Socket.io handlers
└── types/ # TypeScript type definitions
- React 19 - UI framework
- TypeScript - Type-safe development
- Three.js - 3D graphics rendering
- React Three Fiber - React renderer for Three.js
- Redux Toolkit - State management
- Tailwind CSS - Utility-first styling
- Vite - Build tool and dev server
- Express.js - Web framework
- Socket.io - Real-time communication
- TypeScript - Type-safe backend
- Radix UI - Accessible component library
- Lucide React - Icon library
The project includes Docker and Railway configuration for easy deployment.