A magical location-based AR combat game where wizards battle for supremacy on college campuses! Cast spells, collect magical items, and dominate the leaderboard in this immersive augmented reality experience.
Try Wizard Quest Now: https://wizard-quest-uga.vercel.app
Experience the magic directly in your browser - no installation required!
Simply enter any wizard name to log in — no password required. Or use Continue as Guest for instant access.
| Wizard Name | Notes |
|---|---|
FireMage |
Level 5 wizard |
IceQueen |
Level 3 wizard |
| (any name) | Creates a new wizard profile |
| Guest | Click "Continue as Guest" — no name needed |
Access the institution dashboard to design maps, place items, and manage students.
| Institution Name | Password |
|---|---|
University of Magic |
wizard123 |
Arcane Academy |
magic123 |
Institution portal: https://wizard-quest-uga.vercel.app/institution/login
- Location-Based Combat: Real-world GPS positioning for strategic battles
- AR Spell Casting: Hand gesture recognition for authentic wizard combat
- Item Collection: Discover potions, gems, wands, and scrolls across campus
- Multiplayer Battles: Challenge other wizards in real-time combat
- Institution Management: Design and manage magical territories
- Guest Mode: Jump in instantly and start your magical journey
- Student Mode: Create your wizard profile and track progress
- Institution Mode: Design maps, place items, and manage student access
- AR Mode: Full augmented reality experience with device orientation
- CV Mode: Computer vision hand tracking for spell casting
- Modern React: Next.js 16 with TypeScript
- Motion Graphics: Framer Motion for smooth animations
- AR Support: WebXR, AR.js, and custom AR rendering
- Map Integration: Leaflet with custom magical tile layers
- Real-time Updates: WebSocket connections for live gameplay
- Python API: FastAPI with async/await
- Geospatial Database: PostgreSQL with PostGIS
- Authentication: JWT tokens and guest sessions
- Location Services: Real-time GPS tracking and proximity detection
- Battle Engine: Turn-based combat system
institutions → maps → items
↓ ↓ ↓
profiles → map_access → battle_logsNo installation required! Experience Wizard Quest immediately: https://wizard-quest-uga.vercel.app
If you want to run Wizard Quest locally:
- Node.js 18+
- Python 3.8+
- PostgreSQL with PostGIS extension
- Mobile device with camera and GPS (for AR features)
- Clone the repository
git clone <repository-url>
cd ugahacks-11- Install Frontend Dependencies
cd frontend
npm install- Install Backend Dependencies
cd backend
pip install -r requirements.txt- Setup Database
# Create PostgreSQL database with PostGIS
createdb wizard_quest
# Run database initialization
psql wizard_quest < backend/db-init/01_init.sql
psql wizard_quest < backend/db-init/02_mock_data.sql
psql wizard_quest < backend/db-init/03_guest_user.sql
psql wizard_quest < backend/db-init/04_fix_mock_items.sql
psql wizard_quest < backend/db-init/05_map_access.sql- Start Development Servers
# Backend (port 8000)
cd backend
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
# Frontend (port 3000)
cd frontend
npm run dev- Access the Application
- 🌐 Live Demo: https://wizard-quest-uga.vercel.app
- 🏠 Local Game: http://localhost:3000
- 🏫 Institution Portal: http://localhost:3000/institution/login
- 📚 API Documentation: http://localhost:8000/docs
- Choose Your Path: Play as guest or create a wizard profile
- Explore Campus: Move around to discover magical items
- Learn Spells: Master hand gestures for powerful incantations
- Battle Rivals: Challenge nearby wizards for magical supremacy
- Join Institution: Connect with your school's magical community
- Hand Gesture Spells: Draw patterns in the air to cast spells
- Elemental Magic: Attack, defense, and reflection spells
- Strategic Positioning: Use terrain to your advantage
- Power-ups: Collect items for temporary boosts
- Leaderboard Rankings: Climb the ranks of powerful wizards
- Potions: Temporary buffs and healing
- Gems: Power crystals for spell enhancement
- Wands: Magical instruments for casting
- Scrolls: Ancient spells and knowledge
- Chests: Treasure boxes with random rewards
The magical campus map with real-time item locations
Computer vision hand tracking for authentic spell casting
Augmented reality combat with magical effects
Discover and collect magical items across campus
Intense wizard battles with particle effects
Manage maps and items for your magical institution
See the magical world through AR glasses
Organize your magical items and equipment
Challenge other wizards in real-time battles
- Custom Territories: Design magical maps for your institution
- Item Placement: Strategically place potions, gems, and treasures
- Student Access: Grant access to specific students or groups
- Analytics: Track engagement and activity
- Access Control: Manage who can access your magical maps
- Progress Tracking: Monitor student advancement
- Battle Records: View combat history and achievements
- GPS Integration: Accurate positioning for gameplay
- Proximity Detection: Find nearby players and items within range
- Geofencing: Define magical boundaries and territories
- Hand Tracking: MediaPipe for gesture recognition
- Pattern Recognition: Identify spell casting movements
- AR Integration: Overlay magical effects on real world
- Lazy Loading: Efficient map tile and asset loading
- Caching: Smart caching for faster response times
- Optimized Rendering: Smooth animations and transitions
# Frontend
cd frontend
npm run dev # Development server
npm run build # Production build
npm run lint # Code linting
npm run type-check # TypeScript checking
# Backend
cd backend
uvicorn main:app # Development server
pytest # Run testsPOST /api/auth/guest/login- Guest user loginPOST /api/auth/user/login- User loginPOST /api/auth/user/login- User registration
GET /api/player/{id}- Get player profileGET /api/player/{id}/inventory- Get player itemsGET /api/player/{id}/maps- Get player mapsPATCH /api/player/sync- Update player location
GET /api/map/{id}/proximity- Get nearby itemsPOST /api/items/collect- Collect an itemPOST /api/items/use- Use an itemPOST /api/items/spawn- Spawn new item
POST /api/institution/login- Institution loginGET /api/institution/{id}/maps- Get institution mapsPOST /api/institution/{id}/items- Create itemsGET /api/institution/{id}/students- Get students
-- Core tables
institutions (id, name, password_hash)
maps (id, name, institution_id)
profiles (id, name, level, wins, losses, gems, location)
items (id, type, subtype, owner_id, map_id, location, expires_at)
battle_logs (id, attacker_id, defender_id, winner_id, created_at)
-- Access control
map_access (profile_id, map_id, granted_at)
-- Geographic indexes
CREATE INDEX idx_items_location ON items USING GIST(location);
CREATE INDEX idx_profiles_location ON profiles USING GIST(location);- Custom Tiles: Magical theme with spell effects
- Particle Systems: Dynamic visual effects
- Day/Night Cycle: Time-based appearance changes
- Custom Items: Define new magical artifacts
- Rarity System: Common, rare, epic, legendary items
- Special Effects: Particle animations and sound effects
- JWT Tokens: Secure session management
- Guest Sessions: Temporary access without registration
- Institution Login: School-specific authentication
- Location Privacy: Configurable GPS accuracy
- Data Encryption: Secure communication protocols
- Access Control: Role-based permissions
# Frontend Dockerfile
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["npm", "start"]# Backend deployment
docker-compose up -d
# Frontend build
npm run build
npm run start- Response Time: <200ms for API calls
- GPS Accuracy: Within 5 meters
- AR FPS: 30-60 FPS on modern devices
- Concurrent Users: 1000+ simultaneous players
- Database Indexing: Optimized geospatial queries
- Caching Layer: Redis for frequently accessed data
- CDN: Static asset delivery
- Load Balancing: Multiple backend instances
- Fork the repository
- Create feature branch:
git checkout -b feature/magical-feature - Commit changes:
git commit -m 'Add magical spell casting' - Push branch:
git push origin feature/magical-feature - Submit Pull Request
- TypeScript: Strong typing throughout
- ESLint: Consistent code formatting
- Prettier: Automated code styling
- Tests: Unit tests for all features
MIT License - see LICENSE file for details
- Frontend: Next.js, React, TypeScript, Tailwind CSS, Framer Motion
- Backend: FastAPI, Python, PostgreSQL, PostGIS
- AR/VR: WebXR, AR.js, Three.js, MediaPipe
- Maps: Leaflet, OpenStreetMap
- Animation: Framer Motion, GSAP
- Geolocation: Browser Geolocation API
- Camera: WebRTC, MediaDevices API
- Storage: IndexedDB, LocalStorage
Wizard Quest - Where Magic Meets Reality! 🪄✨
Built with ❤️ by the UGA Hacks team