Week 12: Core Mechanic Demo + Design Feedback

⚙️ Core Mechanic Demo

Week 12: Polish & Design Feedback

Game Programming - CSCI 3213

📚 Today's Objectives

Core Mechanic Demo: Your primary game mechanic should feel good and be fun to use repeatedly

🎯 Core Mechanic Demo - What's Different?

First Playable (Week 11):

Core Mechanic Demo (Week 12):

Key Shift: From functional to enjoyable

🎮 Understanding Game Feel

Game Feel = Juice + Responsiveness

Responsiveness:

  • Input lag minimized (immediate feedback)
  • Controls feel tight and precise
  • Player actions have weight and momentum
  • Animations match player intent

Juice (Visual & Audio Feedback):

  • Particles: Dust when landing, sparks when hitting
  • Screen Shake: Camera shake on impact
  • Sound Effects: Audio cues for every action
  • Animation: Squash/stretch, anticipation
  • Hitstop: Brief pause on impact for emphasis
  • Color Flashes: Visual feedback on damage/success
Read: "The Art of Screenshake" by Jan Willem Nijman

✨ Adding Juice - Examples

Before vs After:

Action Without Juice With Juice
Player Jump Position changes instantly Squash on landing, dust particles, "whoosh" sound
Enemy Hit Health decrements Flash white, knockback, impact sound, screen shake, damage number
Coin Collect Coin disappears Sparkle effect, "ding" sound, UI counter animates up, coin flies to HUD
Button Click Action executes Button depresses, click sound, brief hover effect
Compound Effects: Layering multiple small effects creates impactful feedback

🎬 Demo Presentation Format

5-Minute Presentation Structure:

  1. Core Mechanic Overview (1 min):
    • What is your primary mechanic?
    • Why is it fun/interesting?
  2. Live Demo (2 min):
    • Show the mechanic in action
    • Highlight improvements since Week 11
    • Point out juice/feel enhancements
  3. Design Patterns (1 min):
    • Which patterns have you implemented?
    • Where and why did you use them?
  4. Q&A (1 min):
    • Open floor for design feedback
    • Specific questions you have for the class

🔍 Design Feedback Focus

Today's Feedback Should Address:

🏗️ Design Patterns Check-In

Pattern Requirements:

Your project must implement at least 3 design patterns from the course.

Common Patterns at This Stage:

Pattern Typical Use Case
Singleton GameManager, AudioManager
Object Pool Bullets, enemies, particles
Observer Health changes, score updates, events
State Player states (idle, jump, attack)
Command Input handling, undo/redo
Strategy AI behaviors, difficulty levels
Be Prepared: Explain where and why you chose each pattern

💻 Code Quality Mini-Lecture

As Your Project Grows, Focus On:

Refactor Now: Easier to clean up code now than during final week

🎤 Demo Session - Round 1

First Half of Class:

Students 1-[N/2] present their Core Mechanic Demos

Feedback Format:

Take Notes: Feedback from today will guide your Vertical Slice work

🎤 Demo Session - Round 2

Second Half of Class:

Students [N/2+1]-N present their Core Mechanic Demos

Questions to Answer in Feedback:

⚠️ Common Core Mechanic Issues

Issue: Mechanic Feels Unresponsive

Issue: Mechanic is Repetitive/Boring

Issue: Too Much or Too Little Feedback

Issue: Unclear How Mechanic Works

Issue: Mechanic Works But Isn't Fun

📈 Difficulty Curve Discussion

Planning Your Progression:

Good Difficulty Curve:

  • Start easy - teach the mechanic
  • Gradually increase challenge
  • Introduce new elements over time
  • Spike difficulty, then give breather
  • End with satisfying challenge

Common Mistakes:

  • ❌ Starting too hard (players quit immediately)
  • ❌ No progression (gets boring)
  • ❌ Spikes too steep (frustration)
  • ❌ Randomness instead of designed challenge
Playtest: Difficulty that feels easy to you is often hard for new players

🎯 Next Week: Vertical Slice

What is a Vertical Slice?

A complete, polished experience of one part of your game that represents the final quality.

Vertical Slice = Core Mechanic Demo + Context:

What to Add This Week:

📝 Homework for Week 13

Build Your Vertical Slice:

  1. Complete One Level/Loop:
    • Full experience from start to finish
    • Should take 3-5 minutes to play through
  2. Add Context Systems:
    • Main menu or intro screen
    • Win/lose conditions and screens
    • Basic UI (health, score, etc.)
  3. Visual & Audio Polish:
    • Replace key placeholders with final art
    • Add sound effects for main actions
    • Background music
  4. Bug Fixes:
    • No game-breaking bugs in the slice
    • Smooth, playable experience
Quality > Quantity: Better to have 1 perfect level than 5 rough ones

📚 Resources for Game Feel

Recommended Reading/Watching:

Unity Tools for Juice:

Free Sound Resources:

📝 Summary

Today's Accomplishments:

Key Takeaways:

Next week: Show us your best work! 🎮✨