Appendix A: Player App
Technical Specification
1. System Overview
Core Features
- Mixed social gameplay (synchronous and asynchronous)
- Real-time player location tracking
- Puzzle system with collaborative solving
- Team formation and management
- Player matching system
User Types
- Individual Players
- Team Leaders
- Team Members
- Guest Players (Limited Access)
- Administrators
2. Technical Architecture
Frontend
- React Native mobile app
- Mapbox for location services
- WebSocket for real-time features
- Local storage for offline puzzle progress
Backend
- Node.js server
- PostgreSQL database
- Redis for real-time features
- MongoDB for puzzle/game content
APIs and Services
- Authentication service
- Real-time location service
- Team management service
- Puzzle management service
- Matchmaking service
3. Core Features
Location Services
- Real-time player position tracking
- Geofencing for puzzle areas
- Proximity detection for team members
- Location-based puzzle triggers
Synchronous Social Features
- Live team chat
- Real-time player positions
- Joint puzzle solving interface
- Live team formation
Asynchronous Social Features
- Team message board
- Puzzle progress tracking
- Team achievements
- Challenge completions
Puzzle System
- Multiple puzzle types
- Collaborative solving mechanics
- Progress saving
- Difficulty scaling
- Hint system
Team Management
- Team creation
- Invite system
- Role management
- Team chat
- Team progress tracking
4. Data Models
User Model
{
userId: UUID,
username: String,
email: String,
profilePic: URL,
currentTeams: [TeamId],
stats: {
puzzlesSolved: Number,
teamsJoined: Number,
achievements: [AchievementId]
},
lastActive: Timestamp
}
Team Model
{
teamId: UUID,
name: String,
leader: UserId,
members: [UserId],
currentPuzzle: PuzzleId,
completedPuzzles: [PuzzleId],
chatHistory: [MessageId],
created: Timestamp
}
Puzzle Model
{
puzzleId: UUID,
type: String,
difficulty: Number,
location: {
lat: Number,
lng: Number,
radius: Number
},
requirements: {
minPlayers: Number,
maxPlayers: Number,
timeLimit: Number
},
content: Object,
hints: [String]
}
5. Security
User Security
- JWT authentication
- Session management
- Password encryption
- Rate limiting
Location Security
- Location data encryption
- Proximity masking options
- Privacy controls
Data Protection
- GDPR compliance
- Data retention policies
- User data export
- Right to be forgotten
6. Performance Requirements
Response Times
- API responses < 200ms
- Real-time updates < 100ms
- Location updates < 1s
- Chat delivery < 500ms
Scalability
- Support for 10,000 concurrent users
- 1,000 active teams
- 100 simultaneous puzzles per region
Availability
- 99.9% uptime
- Automatic failover
- Regional server distribution
7. Mobile Requirements
Minimum Specs
- iOS 13+
- Android 8+
- 2GB RAM
- GPS capability
- Internet connection
Battery Optimisation
- Location polling intervals
- Background refresh limits
- Push notification batching
8. Future Considerations
Expansion Features
- AR puzzle elements
- Voice chat
- Custom puzzle creation
- Tournament system
- Inter-team challenges
9. Development Phases
Phase 1 — MVP
- Basic user authentication
- Simple puzzle system
- Team creation
- Location tracking
- Basic chat
Phase 2 — Enhanced Features
- Advanced puzzles
- Matchmaking
- Achievement system
- Enhanced social features
Phase 3 — Advanced Features
- AR integration
- Custom puzzles
- Tournament system
- Advanced analytics