# Multiplayer System - Web Frontend **Status:** Planned **Phase:** 6 (Multiplayer Sessions) **Last Updated:** November 18, 2025 --- ## Overview The Web Frontend handles the UI/UX for multiplayer sessions, including lobby screens, active session displays, combat interfaces, and realtime synchronization via JavaScript/HTMX patterns. **Frontend Responsibilities:** - Render multiplayer session creation forms - Display lobby with player list and ready status - Show active session UI (timer, party status, combat) - Handle realtime updates via Appwrite Realtime WebSocket - Submit player actions to API backend - Display session completion and rewards **Technical Stack:** - **Templates**: Jinja2 - **Interactivity**: HTMX for AJAX interactions - **Realtime**: Appwrite JavaScript SDK for WebSocket subscriptions - **Styling**: Custom CSS (responsive design) --- ## UI/UX Design ### Session Creation Screen (Host) **Route:** `/multiplayer/create` **Template:** `templates/multiplayer/create.html` ```html {% extends "base.html" %} {% block content %}
Invite your friends to a 2-hour co-op adventure!
Session Code: {{ session.invite_code }}
Invite Link:
Difficulty: {{ session.campaign.difficulty|title }}
Duration: 2 hours
Campaign Progress: ({{ session.current_encounter_index }}/{{ session.campaign.encounters|length }} encounters)
Waiting for other players...
{% endif %}Time: {{ session_duration }} (Completion Bonus: +{{ completion_bonus_percent }}%)
🎊 Level Up! {{ current_character.name }} reached level {{ current_character.level }}!
{% endif %}