Week 14: Alpha Build + Code Review

🚀 Alpha Build Review

Week 14: Feature Complete + Code Review

Game Programming - CSCI 3213

Spring 2026 - Week 14

Oklahoma City University

📚 Today's Objectives

  • Demo your Alpha Build (feature-complete)
  • Present your code architecture
  • Explain design pattern implementations
  • Participate in peer code reviews
  • Receive technical feedback
  • Create bug fix and polish plan for Beta
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 Patterns (Required: 3+):
    • Are they implemented correctly?
    • Are they solving the right problems?
    • Can you explain WHY you used each pattern?
  • Code Organization:
    • Clear folder structure
    • Logical script naming
    • Separation of concerns
  • Code Quality:
    • Readable variable/method names
    • Comments where needed
    • No massive God classes
    • DRY principle (Don't Repeat Yourself)
  • SOLID Principles:
    • Single Responsibility
    • Open/Closed
    • Liskov Substitution
    • Interface Segregation
    • Dependency Inversion

🏗️ 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:

  • God Class:
    • ❌ One class doing everything (GameManager with 3000 lines)
    • ✅ Break into smaller, focused classes
  • Duplicate Code:
    • ❌ Copy-pasted logic in multiple places
    • ✅ Extract to reusable method or class
  • Magic Numbers:
    • ❌ `if (health > 73) ...` - what is 73?
    • ✅ `if (health > LOW_HEALTH_THRESHOLD) ...`
  • Long Methods:
    • ❌ 200-line Update() method
    • ✅ Break into HandleInput(), UpdateMovement(), etc.
  • Tight Coupling:
    • ❌ Direct references everywhere (GetComponent in Update)
    • ✅ Use interfaces, events, or dependency injection

🔧 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:

  • Object Pooling:
    • Are you pooling frequently spawned objects?
    • Bullets, enemies, particles should be pooled
  • Update() Calls:
    • Avoid GetComponent() in Update()
    • Cache references in Start()
  • Physics:
    • Too many colliders or rigidbodies?
    • Use layers and collision matrix
  • Particles:
    • Limit max particles (1000-5000 total)
    • Use GPU instancing
  • Profiler:
    • Use Unity Profiler to find bottlenecks
    • Window → Analysis → Profiler

🎤 Alpha Presentations Begin!

Presentation Order:

[Alphabetical or randomized - to be determined]

While Watching Presentations:

  • Take notes on interesting pattern implementations
  • Think of constructive code feedback
  • Note bugs or issues you spot
  • Ask technical questions during Q&A

Respect and Professionalism:

  • Constructive criticism only
  • Acknowledge achievements and clever solutions
  • Technical discussion, not personal critique
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:

  • ✅ Demoed Alpha Builds (feature-complete)
  • ✅ Showcased design pattern implementations
  • ✅ Conducted peer code reviews
  • ✅ Received technical feedback
  • ✅ Identified bugs and areas for polish
  • ✅ Planned Beta Build goals

Key Takeaways:

  • Feature complete ≠ Done - polish matters
  • Design patterns organize growing codebases
  • Code reviews reveal blind spots
  • Two weeks until showcase - time to shine!

Final polish begins - Beta next week! 💎