• Peer Feedback Summary
  • Individual Feedback
    • Perry
      • Glows
      • Grows
    • Vivian
      • Glows
      • Grows
    • Hope
      • Glows
      • Grows
    • Anika
      • Glows
      • Grows
    • Avantika
      • Glows
      • Grows
    • Lilian
      • Glows
      • Grows
    • Virginia
      • Glows
      • Grows
    • Nitya
      • Glows
      • Grows
    • Aditya
      • Glows
      • Grows
    • Darshan
      • Glows
      • Grows
    • Cyrus
      • Glows
      • Grows
    • Rishabh
      • Glows
      • Grows
  • Key Themes from Feedback
  • Team Response & Action Items
  • Conclusion
  • Project Overview

    Our Snakes and Ladders game is a gamified educational platform designed to teach AP Computer Science Principles through an interactive board game experience. Players progress through five lessons (unlocking board sections via completed_lessons[] and unlocked_sections[]), answer 50 CS questions across a dice-based board (squares 7–56), and use earned “bullets” as currency in three multiplayer modes: cooperative Boss Battle (up to 10 players with powerups and lobby chat), competitive PvP Arena (1v1 with auto-matchmaking and dual-ready system), and SlitherRush (a slither.io-inspired 32-player snake arena with a 30Hz server-authoritative tick loop). All game state persists via the SnakesGameData SQLAlchemy model with JWT-authenticated REST APIs and real-time WebSocket sync.

    Team Contributors

    Akhil

    Scrum Master / Multiplayer & Victory

    Moiz

    DevOps / Authentication Lead

    Samarth

    Lesson System Developer

    Arnav

    Boss Battle & PvP Developer

    Ethan

    Question System Developer

    Aneesh

    Game Board Lead

    Key Features Reviewed

    • Login system with JWT authentication and game integration (HttpOnly cookies, @token_required() decorator)
    • 5 interactive CSP lessons with progressive section unlocking (half1half2boss via unlocked_sections[])
    • Leaderboard system with real-time updates (GET /api/snakes/leaderboard, sorted by total_bullets)
    • Multiplayer functionality via WebSockets on a dedicated Socket.IO server (port 8500, eventlet async)
    • Boss battle with cooperative gameplay — up to 10 players, server-authoritative collision resolution, 4 powerup types, pre-battle lobby chat, per-player battle stats tracking
    • PvP Arena for competitive 1v1 matches — auto-matchmaking (get_or_create_open_room()), dual-ready system, server-authoritative position corrections, in-arena chat
    • SlitherRush minigame — slither.io-inspired multiplayer snake arena with 30Hz server tick loop, up to 32 players per arena, HP system, shooting mechanics, kill/death/score tracking
    • Active Players tracking (ActivePlayersAPI — queries records updated within last 10 seconds)
    • Game completion flow (CompleteGameAPI) and full progress reset (ResetProgressAPI) preserving champion status
    • Hall of Champions (ChampionsAPI) showing all completers ordered by completion time
    • Lives system (5 lives per player), visited squares tracking, and autosave (10-second intervals)
    • Admin system for user management

    Peer Feedback Summary

    4.3
    Average Rating
    12
    Reviewers
    6
    Team Members
    5/5
    Engagement Score

    Individual Feedback


    Key Themes from Feedback

    Strengths Identified

    Theme Frequency Key Comments Technical Implementation
    Multiplayer/Social 10/12 “Really fun playing with friends”, “Multiplayer element is engaging” Boss Battle (10-player co-op), PvP Arena (1v1 matchmaking), SlitherRush (32-player arena), lobby chat, in-battle chat
    Educational Value 9/12 “Nice way to learn”, “Teaching by session works well” 5 lessons → completed_lessons[], 50 questions → visited_squares[], progressive unlocked_sections[]
    Boss Battle 8/12 “Really fun!”, “Exciting and interactive” Server-authoritative collision, 4 powerup types, safe spawn allocation, per-player stats, victory screen
    Leaderboard 7/12 “Dynamic leaderboard adds motivation” LeaderboardAPI (by bullets), ChampionsAPI (by completion time), SlitherRush leaderboard (by score/kills/length)
    Technical Implementation 6/12 “WebSockets impressive”, “Backend is solid” Dedicated Socket.IO server (port 8500), 30Hz SlitherRush tick loop, MutableList/JSON columns, JWT auth for HTTP + sockets

    Areas for Improvement

    Theme Frequency Action Items
    UI Polish 8/12 Larger buttons, clearer navigation, consistent styling
    Cohesive Theme 5/12 Better visual consistency across all game sections
    Onboarding 5/12 Clearer instructions, tooltips, tutorial flow
    Question Variety 4/12 Add pseudocode, robot code, different formats
    Educational Clarity 3/12 Make learning purpose more obvious on homepage

    Team Response & Action Items

    Based on the feedback received, our team has identified the following priority improvements and features already shipped:

    High Priority (Addressed)

    1. UI Cleanup — Standardize button sizes, improve visual hierarchy, fix admin table display issues
    2. Navigation Flowmode-selection.html now serves as a clear hub with live player counts for all three battle modes via Socket.IO status events
    3. Homepage Clarity — Make the educational purpose immediately visible on the landing page

    New Features Shipped Since Review

    1. SlitherRush Minigame — Slither.io-inspired 32-player snake arena with 30Hz server tick loop, HP system, kills/deaths tracking, and party grouping
    2. Server-Authoritative Collisionresolve_player_collision() prevents overlap in Boss Battle and PvP; allocate_boss_spawn() ensures safe spawn positions
    3. Pre-Battle Lobby Chatboss_join_lobby/boss_leave_lobby with member tracking and system messages
    4. Tab-Away Detectionboss_player_away/boss_player_returned and PvP equivalents notify teammates when players switch tabs
    5. Per-Player Battle Stats — Tracks damage_dealt, bullets_fired, bullets_hit, powerups_collected server-side; aggregated on victory screen
    6. Game Completion & ResetCompleteGameAPI marks game_status='completed' with timestamp; ResetProgressAPI clears all progress while preserving champion history
    7. Active Players TrackingActivePlayersAPI queries records updated within 10 seconds for real-time “who’s playing” displays

    Medium Priority

    1. Question Diversity — Add pseudocode questions and AP exam-style formats
    2. Onboarding — Create a brief tutorial for first-time users
    3. Visual Consistency — Unify the theme across lessons, game board, and battle arenas

    Future Considerations

    1. Difficulty Levels — Implement adaptive difficulty for different skill levels
    2. Mobile Optimization — Improve responsiveness for tablet and mobile users
    3. Audio Enhancement — Add optional sound effects and background music (SFX system already implemented by Moiz)

    Conclusion

    We received overwhelmingly positive feedback on our Snakes and Ladders educational game, with an average rating of 4.3/5 across all reviewers. The multiplayer functionality (Boss Battle, PvP Arena, and SlitherRush), boss battle mechanics with server-authoritative collision and powerups, and the gamified learning approach with progressive section unlocking were consistently praised as standout features.

    Since the initial review, the game has expanded significantly: the SlitherRush minigame adds a slither.io-inspired 32-player snake arena with a 30Hz server tick loop and HP/kill/score mechanics; server-authoritative collision resolution (resolve_player_collision()) ensures fair gameplay in Boss Battle and PvP; pre-battle lobby chat and tab-away detection improve the multiplayer experience; per-player battle stats tracking (damage_dealt, bullets_fired, powerups_collected) powers detailed victory screens; and active player tracking, game completion flow, and full progress reset round out the backend API surface.

    The constructive feedback centered around UI polish, thematic cohesion, and onboarding clarity — all actionable improvements that we plan to address in our next sprint. We’re grateful to all reviewers for their thoughtful input and detailed suggestions.

    Thank you to: Anika, Avantika, Lilian, Virginia, Vivian, Nitya, Aditya, Perry, Darshan, Hope, Cyrus, and Rishabh for their valuable feedback!