Week 14: Alpha Build + Code Review

🚀 Alpha Build Review

Week 14: Feature Complete + Code Review

Game Programming - CSCI 3213

📚 Today's Objectives

Alpha Build: All features implemented, playable start to finish (bugs OK)

🎯 Alpha Build Definition

Alpha Milestone Characteristics:

✅ What Alpha MUST Have:

  • All planned features implemented
  • All levels/content present
  • Playable from start to finish
  • Main game loop complete
  • Win/lose conditions working
  • All core systems functional

⚠️ What's OK to Be Missing/Rough:

  • Polish and visual effects (some areas)
  • Placeholder art or sounds
  • Known bugs (documented in bug tracker)
  • Balancing and tuning
  • Menu polish and transitions
  • Minor quality-of-life features
Key Rule: Feature complete ≠ Bug free or polished

📊 Development Progression Review

Milestone Focus Quality Bar
First Playable
(Week 11)
Core mechanic works Rough but functional
Core Mechanic
(Week 12)
Primary mechanic polished One thing feels great
Vertical Slice
(Week 13)
One complete experience Final quality in one area
Alpha Build
(Week 14 - TODAY)
All features present Complete but rough
Beta Build
(Week 15)
Bug fixes + Polish Nearly shippable
Final Build
(Week 16)
Final polish Showcase ready

🎬 Alpha Build Demo Format

10-Minute Presentation Per Student:

  1. Game Demo (3 min):
    • Play through full game or representative section
    • Show all major features
    • Demonstrate win/lose states
  2. Feature Overview (2 min):
    • What features did you add since Vertical Slice?
    • What's complete vs. what still needs work?
  3. Code Architecture (3 min):
    • Show class diagram or folder structure
    • Explain design patterns used (minimum 3)
    • Walk through one key system
  4. Q&A (2 min):
    • Technical questions from class
    • Feedback on architecture

💻 Code Review Focus Areas

What We're Evaluating:

🏗️ Design Pattern Showcase

During Your Presentation, Explain:

For Each Pattern You've Implemented:

  1. Which Pattern?
    • Name it clearly (e.g., "Object Pool Pattern")
  2. Where Is It?
    • Point to specific scripts/classes
  3. What Problem Does It Solve?
    • Why did you choose this pattern?
  4. How Did You Implement It?
    • Brief code walkthrough (30 seconds)

Example:

"I used the Object Pool pattern for my projectile system. Without pooling, instantiating/destroying 50 bullets per second caused frame drops. Now I pre-allocate 100 bullets and reuse them, which keeps the game at 60 FPS even during heavy combat. Here's my BulletPool.cs script [show code]..."

👥 Peer Code Review Session

After Demos - Pair Code Reviews:

  1. Pair Up (2 students):
    • Spend 15 minutes reviewing each codebase
    • Total: 30 minutes per pair
  2. Review Checklist:
    • ✅ All 3+ design patterns present and correct?
    • ✅ Code organized into logical folders?
    • ✅ Classes have clear single responsibilities?
    • ✅ No obvious code smells (huge methods, duplicated code)?
    • ✅ Comments on complex sections?
  3. Provide Written Feedback:
    • 2-3 strengths of the codebase
    • 2-3 areas for improvement
    • 1 specific refactoring suggestion
GitHub: Review code via shared repository or screen share

⚠️ Common Code Smells to Avoid

Watch Out For:

🔧 Quick Refactoring Wins

Improve Code Quality in 1 Hour:

  1. Extract Constants:
    // Before if (speed > 10) ... // After private const float MAX_SPEED = 10f; if (speed > MAX_SPEED) ...
  2. Extract Methods:
    // Before void Update() { // 50 lines of input handling // 50 lines of movement // 50 lines of animation } // After void Update() { HandleInput(); UpdateMovement(); UpdateAnimation(); }
  3. Rename for Clarity:
    // Before float x; bool f; // After float moveSpeed; bool isGrounded;

🐛 Bug Tracking & Prioritization

Create/Update Your Bug Tracker:

Priority Type When to Fix
🔴 Critical Game-breaking, crashes, data loss Fix before Beta (this week)
🟡 High Major features broken, exploits Fix before Beta
🟢 Medium Minor bugs, polish issues Fix during Beta (Week 15)
⚪ Low Edge cases, cosmetic issues If time allows

Bug Report Format:

Bug #23 - [Priority: High] Title: Player falls through floor on Level 2 Steps to Reproduce: Jump in top-left corner Expected: Player bounces on platform Actual: Player falls through and dies Fix Status: [Not Started / In Progress / Fixed]

🎯 Planning for Beta Build

Beta Focus (Week 15):

Primary Goals:

  • Fix all critical and high-priority bugs
  • Polish rough edges
  • Finalize art and audio
  • Balance and tune gameplay
  • Add menu and UI polish
  • Prepare for public showcase

Create Your Beta Checklist:

  1. List of bugs to fix (from tracker)
  2. List of art/sound to finalize
  3. List of polish items (particles, juice, transitions)
  4. Balancing changes needed
  5. QoL improvements
No New Features: Beta week is for polishing what exists, not adding new content

⚡ Performance Optimization

If Your Game Lags, Check:

🎤 Alpha Presentations Begin!

Presentation Order:

[Alphabetical or randomized - to be determined]

While Watching Presentations:

Respect and Professionalism:

Time Limit: 10 minutes per student - I'll keep time

💻 Pair Code Review Session

After All Demos - 30 Minutes:

Pair up and exchange code reviews

Review Template:

=== Code Review for [Student Name] === Reviewer: [Your Name] Date: [Date] Design Patterns (3+ required): 1. [Pattern Name] - [Location] - [Assessment] 2. [Pattern Name] - [Location] - [Assessment] 3. [Pattern Name] - [Location] - [Assessment] Strengths: - [What's done well] - [Clever solutions] - [Good practices] Areas for Improvement: - [Specific suggestion] - [Refactoring opportunity] - [Best practice to add] Overall Assessment: [Brief summary]

📝 Homework for Week 15

Create Your Beta Build:

  1. Fix Critical Bugs:
    • Address all game-breaking issues
    • Update bug tracker
  2. Polish Pass:
    • Replace remaining placeholder art/sound
    • Add final particle effects and juice
    • Polish menus and UI
  3. Balance & Tune:
    • Adjust difficulty based on feedback
    • Playtest and iterate
  4. Code Refactoring (Based on Reviews):
    • Implement feedback from code review
    • Clean up code smells
Beta = Nearly Shippable: Should feel like a complete game

📝 Summary

Today's Accomplishments:

Key Takeaways:

Final polish begins - Beta next week! 💎