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:
Game Demo (3 min):
Play through full game or representative section
Show all major features
Demonstrate win/lose states
Feature Overview (2 min):
What features did you add since Vertical Slice?
What's complete vs. what still needs work?
Code Architecture (3 min):
Show class diagram or folder structure
Explain design patterns used (minimum 3)
Walk through one key system
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:
Which Pattern?
Name it clearly (e.g., "Object Pool Pattern")
Where Is It?
Point to specific scripts/classes
What Problem Does It Solve?
Why did you choose this pattern?
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:
Pair Up (2 students):
Spend 15 minutes reviewing each codebase
Total: 30 minutes per pair
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?
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)
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:
List of bugs to fix (from tracker)
List of art/sound to finalize
List of polish items (particles, juice, transitions)
Balancing changes needed
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