DES315:
Technical Design Methods

"The worst thing a kid can say about homework is that it is too hard. The worst thing a kid can say about a game is it's too easy." -- Henry Jenkins


"Usually, the best ideas come from having to fix a really hard problem."
--Jesse Schell

"What part of my game is fun? Why? What would make it more fun?"
--Jesse Schell


DESCRIPTION: This course focuses on designing and implementing digital game prototypes, with an emphasis on integrating mechanics, controls, and camera. Additional topics include building tension to create engagement and implementing player feedback techniques.

Students will design and implement digital prototypes of game features towards learning a Prototyping Mindset approach to solving design problems

Download Syllabus
Submit all .DOC assignments on our class MOODLE

Instructor: Jason Wiser    
Please email quickly with questions as they arise!

Spring 2022 01/3 - 4/15 (all times Pacific)
Full Class: Fridays, 9:30am-10:50am
Section B Lab: Mondays, 3:30pm-5:20am
Section A Lab: Mondays, 6pm-7:50pm

NOTE #1: Prototyping is about QUICK iteration: identify the QUESTIONS to be answered, and efficient ways to TEST answers to them as quickly as possible, and the resource RISKS involved. Playestes solutions before you code and get through as many ideas as you can!
  WEEKLY BREAKDOWN:
1: Dungeon Crawl: weeks 1-5   |   2: Game Feel: 6-8   |   3. Bot Battle: 9-14 

Required Materials/ Docs   |   Projects Breakdown   |   Online Class   |   Final Projects
UNITY GAME ENGINE RESOURCES:
Go to this Unity Learning page for lessons in 3D and 2D Game Production, Animation, helpful Modules, and notes on Coding, using GitHub, and Game Art in Unity.
Weekly Materials appear before each day of class. Press the header to expand:
WEEK 1: (Jan 3 / 7): Introduction to the Course and Prototyping.
  • 3 projects and iteration techniques
  • "Paper" prototyping principles
  • Designing for Player Choice and Feedback
  • Prototyping Questions, Risks, Iteration Loops and Speed.
  • Prototyping in a game "ecosystem": What are the "stakeholder systems"?
  • Discuss Schell's chapter on Prototyping / Iteration

    HOMEWORK:

    (Due Friday, week 1): READ Jesse Schell, The Art of Game Design, Prototyping Chapter (pages 75-95, on "Iteration"). Prepare to discuss: Consider a game you know well, and imagine a new feature for that game.

    (Due Friday week 1 - Monday week 2): Game Feature Example .DOC
    TYPE 1 page, 200-300 words. Choose any game you have enjoyed and imagine and describe a new feature for that game: a character ability, a mount, a weapon, an enemy NPC, etc. List the Risks that would need to be accounted for in the design of this featurem, and propose a paper prototype to answer one.
    Use the reading to inform your explanation.
    Submit as a Word .DOC to Moodle.
  • WEEK 1 MATERIALS:
    PowerPoint Week #1a
    PowerPoint Week #1b

    FIRST READING:
    The Art of Game Design: A Book of Lenses
    by Jesse Schell (Ch 7)

    Informative demo video on varied prototyping


    COURSE SOFTWARE (see links below):

    Unity Hub, Game Engine (2021.1.10), prefered IDE (like Visual Studio) and 3-button mouse.
    GitHub Desktop App (free)

    USEFUL TUTORIALS:
    New to Unity? Do this intro to C# tutorial
    WEEK 2 (Jan 10 / 14): Intro to Project 1 and GitHub
  • Discuss existing features and parameters for student features.
  • Intro to shared Project GitHub and Unity Project (submission structure, Tilemapping, Sprite Animation, 2D Physics).
  • Your game feature can be anything you want to add to this game: traps, enemies, helpful NPCs, inventory, mounts, collectibles, etc.; anything that substantially affects player choice or feedback, and that feels scoped for 2-3 weeks of development.

    HOMEWORK PROJECT 1a:
    (Due Friday week 2): Prototype Spec #1 .DOC for 2D Dungeon Feature.
    Submit to Moodle.

    (For Thur week 3):

    First draft
    of your Project 1 Feature and Showcase Level in Unity.
    Don't try to complete the entire feature! Focus on 1-2 interactive elements for playtesting (close a loop or two!). Work in a GitHub branch, and when it is plays without compile errors please Merge into Main at least a day before our next class. Please ask for help as soon as questions arise!
  • WEEK 2 MATERIALS:
    PowerPoint Week #2a
    PowerPoint Week #2b


    GitHub notes:
    To Merge your branch into the "Main" repository:
    1) Under "Current Branch" select "Main"
    2) click [Choose a Branch to Merge Into Main]
    3) select your branch
    (do you get any worrisome conflicts? Stop and ask for help on MS Teams Chat!)
     


    USEFUL TUTORIALS:
    How to work with GitHub Desktop App
    How to work with Unity Tilemapping.
    WEEK 3 (Friday Jan 21): Prototyping in a Collaborative Ecosystem.
    Unity Level Design. Progress on game Feature Prefabs and Showcase Levels.

    (no class Mon 1/17 for MLK day)


    HOMEWORK PROJECT 1b:
    (For Monday and Friday week 4): Update your feature and showcase level for each lab and class. Please have a working Scene to test your game feature prefab. By next Friday, please choose a classmate prefab and include it in your level design!
    Merge your functioning branch a day before class. Playtest in class.

    WEEK 3 MATERIALS:
    PowerPoint Week #3







    DESIGN THOUGHTS:
    "Extra Credits": How to iterate by Failing Faster
    WEEK 4 (Jan 24 / 28): Playtesting Progress on game Features and Levels.
    How to choose and include a classmate feature Prefab in your Scene, and link your scene door to their scene.

    BUILDS:
    A build of the game will be pushed and available by midnight EST Friday week 4, for those who want to start sharing for playtesting over the weekend.

    A second build of the game will be pushed and available by midnight EST Monday week 5, for final playtesting.





    HOMEWORK PROJECT 1c:

    (Due Monday week 5):
    Complete your Feature and Showcase Level for in-class playtesting.
    Merge your functioning branch a day before class.


    (Due Friday week 5):
    a) Run multiple live Playtests with people outside of this course, to observe what they enjoy and do or do not understand about your feature and level.
    Ideally, make improvements between playtests.

    b) Summary and Playtesting #1 .DOC for 2D Dungeon Feature.
    Submit to Moodle.

    WEEK 4 MATERIALS:
    PowerPoint Week #4

    LEVEL COMPLETION CHECKLIST:
    1. Is the levels about 1-3 minutes long, with increasing difficulty?
    (Intended for a moderately skilled player. Consider using perceived difficulty, as when we expanded the jumpable gaps in BLB from 3 blocks to 5).

    2. Does your level include the integration of exactly one classmate's feature to complement yours, or complete the level?

    3. Does the level showcase your feature solo at first, to demonstrate (and explain) its function in relative safety, before any challenging encounters that include more danger and the use of the classmate's feature?

    4. Is there good player feedback for your feature's interactions (visual, optionally audio)?
    Is your feature error-free? Is it available for classmates to use as prefab/s in the Prefab folder?

    5. Does the exit door in your level go to the featured classmate's scene, and does your name appear in the scene-label in the upper left of the HUD?

    6. Does the overall layout feature enough visual variety and use of walls and colors to direct the player, so the player knows where to go?

    WEEK 5 (Monday Jan 31): Dungeon Feature Prefab and Showcase Scene final due-date, and Playtesting. Please include at least one relevant classmate Prefab in your Scene!

    (no class meeting Friday 2/4 for Founder's day)

    HOMEWORK PROJECT 1:

    (again, Due Friday week 5):
    a) Run multiple live Playtests with people outside of this course, to observe what they enjoy and do or do not understand about your feature and level.
    Ideally, make improvements between playtests.

    b) Summary and Playtesting #1 .DOC for 2D Dungeon Feature.
    Submit to Moodle.



    and START PROJECT 2:

    (For Monday week 6):
    a). Prepare for class with a video clip URL from a game that you think has exceptionally good "Game Feel" properties: a game that is reactive to your actions, that feels rich and alive with player feedback.

    b). Start reading Game Feel by Steve Swink (Ch 1).


    WEEK 5 MATERIALS:
    PowerPoint Week #5

    OUT OF CLASS PLAYTESTING:
    How do we run an effective playtest?
    Talk before playing:
        Let them know: this is a work in progress; do not feel bad if you cannot get something to work.
        Player should narrate their play: what are they trying to do?
        Tester will observe and try not to speak.

    Player Visibility: show screen and face.

    During Gameplay: Take notes on what you observe. Look at their Face! Try not to advise.

    After Play:
        Give tester the 6 questions for them to type up answers.
        Debrief: Discuss what they experienced! Answer Questions! Say Thanks!

    Type Report: Your observations, your debrief conversation, and their typed answers to the 6 questions.



    WEEK 6: (Feb 7 / 11): Intro to Game Feel topics and project: Enhance Pong (or other Classic Arcade Game, like Breakout, Tetris, etc)
    Discuss existing features and parameters for student features.
    Your Game Feel Features can be anything that enhances feedback or controls. You are expected to choose 5-10 interactions to enhance with at least 2-3 elements each (at least one audio and at least one screen-shake).

    NOTE: Gamespace changes and HUD changes count separately, so in Pong if the ball scores, there could be visual and audio changes in the gamespace to indicate the ball getting past the paddle (1 interaction), as well as changes to the HUD (another interaction).
  • Pong nteractions can include hitting a wall, hitting a paddle, a good volley, distinguishing between hit speeds and angles, a timer, ball speed, etc.
  • Try making at least one enhancement particularly original / surprising /strange!


    INSPIRATION:
  • Game Feel Example: Peggle
  • A short tour of common Game Feel Techniques.
  • Juice it or Lose it (Breakout Game Feel demo)
  • Mark Brown's intro video on Game Feel
  • Game feel case study/interview: Celeste Game Feel Video Essay
  • Make better buttons (1 min)


    HOMEWORKS PROJECT 2a:
    (Due Fri week 6):
    a) Watch vids: Juice it or Lose it and common Game Feel Techniques.

    b) READ the first chapter of Steve Swink's Game Feel (intro and pages 1-33).

    c) Type your Game Feel DOC: Using the game video clip you showed Monday, write about the innovative / responsive feel of the interface or the controls (the "Juice": 2-3 paragraphs, 2-3 screenshots, include video link).

    d) Decide which classic arcade game you will enhance for Project 2 (Pong, Breakout, Space Invaders, Missile Command, etc. If you choose one that is not provided in the right-hand column, you will need to prepare it by Monday)


    (Due Mon week 7): Submit Project 2 Spec Doc BEFORE Monday lab.
    a) Create at least one Game Feel feature in your chosen base game (If you chose to create your own base game, it needs to be completed and sent to teacher as a package on Teams by Monday).

    b) Type your Prototype Spec #2 .DOC for the Game Feel features you plan to add to 5-10 elements of your Classic Arcade Base Game.
  • WEEK 6 MATERIALS:
    PowerPoint Week #6a
    PowerPoint Week #6b

    SECOND READING:
    Game Feel by Steve Swink (Ch 1)


    SAMPLE BASE ARCADE PROJECTS:
  • Pong Package #1 (2D made in 2021.1.10, inputs are P1: W-S and P2: Up-Down arrows).
  • Pong Package #2 (3D, works in 2019+, inputs are P1: W-S and P2: Up-Down arrows).
  • Breakout Package (2D, works in 2019+)
  • Tetris (2D) 2019+   |   2021+.
  • Space Invaders Package (2D 2019+)
  • DigiPen's Basic Level Builder:
            PC Game | Mac Game | Source Project

    TO USE THE PACKAGES: Create a new Unity 2D or 3D project. Download / import this package into Assets. Create a new Scene: delete existing Main Camera and Light. Drag in the Prefab "FullPongGame" or "Breaker" (includes MainCamera and Light).


    USEFUL TUTORIALS FOR PROJECT 2
    (some from Unity Resources page):
  • How to work with Unity UI.
  • Using Unity Particle Effects.
  • Using Unity TrailsM (and shaders)

    Tweening Scripts:
  • Big page of Tweening example scripts
  • DOTween Unity animation C# (for Unity 2020)
  • Make your own tween library (2019+)

    Arcade Game Tutorials:
  • Make your own Pong (4 min, lacks scoring and ball respawn)
  • Make your own Breakout (13 min, lacks scoring, restart, block hit variety, ball-loss/limits)
  • Text Tutorial: Breakout
  • Missile Command (6 videos)
  • Asteroids (text)
  • WEEK 7 (Feb 14 / 18): Prototyping unique and surprising Game Feel.
    Playtesting Progress on game features. How to build and release tension.
    DISCUSS:
    What specific reactions do we want in players? How do we make game feel features to produce those reactions?
    Making Unity Packages, Canvas notes, Tweening, and exporting web builds.

    IMPORTANT: we are not looking for finished products this week, but we DO want to see playable progress: Close loops!


    HOMEWORKS PROJECT 2b:
    a) (due Friday, week 7): Show Unity progress with a webGL build:
    Are you making your own Base Game? Show it working. Are you adapting a provided packages? Show at least elements with Game Feel attempted.

    b) (due Friday week 8): 100% complete, show working webGL build in class.


    WEEK 7 MATERIALS:
    PowerPoint Week #7

    USEFUL TUTORIALS FOR PROJECT 2
  • See these multiple Game Feel Unity Tutorials
  • Make Unity Game Look Better:
        Change the default Unity Look (dynamic lights)
        Intro to Unity Shader Graphs and the Universal Render Pipeline (formerly "Lightweight")
        Basic Toon Shading code,
        More Toons tutorials: 01 | 02 | 03
        The dynamic VFX of Minions Tutorials
    AUDIO: BeepBox web app sequencer!


    PLAYTESTING PREP:
  • Download Parsec to playtest with remote players (who also need to download parsec).
    See info on Settings, hosting, and joining.
    Use same handle as in GitHub.
  • WEEK 8 (Friday Feb 25): Final webGL builds due. Playtesting.
    Friday we will playtest your completed, Juicy Games!

    (no class Monday 2/21 for President's day)


    HOMEWORKS PROJECT 2c:
    (Due Mon week 9): Submit Summary and Playtesting #2 .DOC for Game Feel Features.

    WEEK 8 MATERIALS:

    Summary and Playtesting #2 .DOC



    WEEK 9: (Feb 28 / Mar 4): Intro Battle-Bot project.
    Discuss existing features and parameters for student features.
    Discuss AI possiblities.
    Agree on spec limits / feature costs on balance sheet.

    IMPORTANT: We are not trying to create characters of ultimate power: we strive for Strategic Unbalance: Each character should have specific strengths and weaknesses to influence player strategies.



    Player Balance Exercise:
    BATTLEBATTLE! card and dice game by Eric Zimmerman (PDF). In class:
    1. Go to PlayingCards.io, choose "Custom Room" and "Start Game".
    2. Hit Edit Table (toolbox icon). Lift the Library, switch to "Room Options".
    3. Hit [IMPORT FROM FILE] to add this .PCio file for the full game.
    4. Hit Edit Table again to play, and share the URL with a fellow player. Play!
    Note: the images display by default on Firefox or Safari, but need access to be provided on Chrome, as they are hosted on a server with different security.



    HOMEWORKS PROJECT 3a:
    (Due Mon week 10):
    a) READ the intro and chapter 10 of Game Balance (about 50 pp).

    b) Type your Prototype Spec #3 .DOC for "Balanced" Battle Bot PC / NPC Features.

    WEEK 9 MATERIALS:
    PowerPoint Week #9

    THIRD READING:
    Game Balance by Ian Schreiber and Brenda Romero (Intro and Ch 10)

    SAMPLE SOURCE PROJECT:
  • Design a Bot concept. Use the Google Sheet from class to support a balanced design.
  • Find your project Prefab and Showcase Scene.
  • Develop your Bot concept in a Git Branch!
  • Add AudioSource! Assign the Audio Mixer.
  • Consider making an NPC version.

    FIGHTING GAME INSPIRATION:
  • Fighting Games as Rock Paper Scissors: Attack, Block, Throw
  • Game Maker's Toolkit Fighting Games Breakdown
  • Intro to fighting games with Skullgirls
  • BattleBots real-world examples and Sumo Bots.
  • Fighting Game Character Archetypes
  • Fighting Gamer Player Types
  • Fighting Game Combat Primer
  • Understanding Attack Timing (speed vs power)
  • Combat system considerations

  • (No class Mar 7-11 for Spring Break)
    WEEK 10 (Mar 14/ 18): Discuss student concepts.
    Start making progress on your Bot Prefabs. Initial Playtesting.

    Battle-Bot design progress:
    Discuss Bot Balance sheet entries to better understand bot strengths and weaknesses.
    Which Bots make for good matchups?
    What interesting player choices does your bot offer against classmate bots in matchups?

    HOMEWORKS PROJECT 3b:
    (Due Fri week 10):
    Working drafts of your Prefab Battle Bot for Arena play and End Scenes.
    IMPORTANT: We are not looking for finished products, but we do want to see playable progress: Close test-able feature loops!

    Also, please download and install Parsec so we can playtest together.

    WEEK 10 MATERIALS:
    PowerPoint Week #10

    Game Balance reading:
    Combat as Storytelling
    Pillars of Combat
    Constraint of Combat
    What audio and visual feedback will make your bot easier to understand for players and opponents?
    How long should a weapon event last?
    Variety of Actions and of Counter-Actions



    DESIGN THOUGHTS
  • A tour of multiplayer balance considerations
  • "Extra Credits": Ballancing Skill to Power

  • WEEK 11 (Mar 21 / 25): Teacher away for GDC.
    Continue working on Bot features! Reach out to classmates to playtest progress and get help with Unity questions!


    How do I create an "Area of Effect" attack that hits the other player?
    Both bots are instantiated as children of PlayerBot1_Slot or PlayerBot2_slot, with tags for Player1 and Player2. To find your own bot's parent's tag:
            gameObject.transform.root.tag;
    If your bot knows which player it is, it knows which player the opponent is. Find the other player parent by its tag, and effect its child:

        private string thisPlayer;
        private GameObject otherPlayer;
        private GameObject otherParent;

        void Start(){
            thisPlayer = gameObject.transform.root.tag;
            if (thisPlayer == "Player1"){
                otherParent = GameObject.FindWithTag("Player2");
            }
            else{ otherParent = GameObject.FindWithTag("Player1"); }
            otherPlayer = otherParent.transform.GetChild(0).gameObject.transform;
        }




    HOMEWORKS PROJECT 3c:
    (Due Mon week 12): Revised drafts of your Prefab Battle Bot to test for strategic unbalance against other student Bots.




    How to make your weapon damage other bots:
    1. Apply a Collider (usually we use BoxCollider).
    2. Apply the existing tag "Hazard".
    3. Apply the HazardDamage.cs script (to choose damage amount and optionally make sure it cannot damage the player who launches the attack)
    4. The HazardDamage.cs script needs a particle system prefab to indicate impact (you can test with the teacher's ImpactParticles prefab and then make your own!).

    That's it! Make the weapon itself with meshes and a collider with isTrigger DISABLED.


    How do I grab another bot?:
    1. ID opponent player, keep track of that info
    2. Unparent the opponent bot prefab from it's player parent, position it and parent it to an empty node on your bot. Enable the isGrabbed bool on the opponent (in BotBasic_Move.cs)
    3. The node on your bot that the opponent bot is attached to should contain player movement info, so the player can still wiggle around. Create visual feedback encouraging them to wiggle with their move inputs, and make that wiggle able to break free over time.
    4. When the opponent player is free, re-parent them to their player parent so they have full motion.
    WEEK 12 (Mar 28 / April 1): AI NPC Feature Building Considerations.
    An AI element in your Battle Bot is optional, but encouraged.
    Consider deploying a smart missile, an independant attack minibot, or a smart defensive system.
    Consider the efficacy of this attack or defense, and an appropriate cost balance.
    Alternatively, create an NPC version of your entire bot for playtesting!

    To start an NPC version of your Bot:
    1. Duplicate your completed(ish) PC version.
    2. Add "_NPC" to the end of the name.
    3. Turn off the BotBasicMove.cs script (so bot is not controlled by player).
    4. Add script/s for movement, attack, and defensive behaviors that allow the NPC bot to run itself.
    Consider varied behaviors based on:
          Distance to the opponent (you can use Vector3.Distance())
          Your NPC bot's current health status (it could get more defensive or more aggressive when weaker)
          Your opponent's health status (FINISH THEM)
          And other metrics!
          Attend to functions that need to know which player it is, like grabbing!
    5. Alert the teacher when your NPC prefab is at least minimally playable (and pushed), so teacher can add it to Arena NPC options for choosing players.



    HOMEWORKS PROJECT 3d:
    (Due Mon week 13): Revised drafts of your Prefab Battle Bot to test for strategic unbalance against other student Bots.
    WEEK 12 MATERIALS:
    PowerPoint Week #12

    AI / NPC RESOURCES:
  • Jeff Orkin's 2006 paper on Finite State Machines.
  • Free text book chapters from Game AI Pro
  • Games AI channel (theory): NavMeshes, FSMs.
  • Game AI concepts
  • Enemy predictability and telegraphing: CupHead

    USEFUL TUTORIALS FOR NPCs / AI:
  • Nav Meshes for NPC navigation.
  • NavMeshAgent properties, like .destination
  • Want a vertical navmesh? Try NavMeshSurface component, new, explained here: 01 | 02
    (must be downloaded from their github )

  • Unity Navigation Documentation
  • Making NPC AI with State Machines.
  • Unity Finite State Machines in 4 short videos:
        Parts 01 | 02 | 03 | 04 (combine with NavMesh)
  • Crowd Behaviours on a Dynamic Mesh:
        Parts 01 | 02, and Unity crowd optimization
  • Building a dynamic NPC Traffic Waypoint System
  • Raytracing to "see" obstacles and targets
  • A* unity tutorials: 01 | 02.

    INSPIRATION:

  • "Extra Credits": Funtelligence: Game AI

  • WEEK 13 (April 4 / 8): Battle-Bot revisions, and Playtesting.

    Play each others' bots-in-progress!
    Give feedback on their playability, and how well they communicate their vulnerabilities for opponents! Discuss how to improve feedback and Game Feel! Also, play other bots against your bots, to identify at least 7 bots that are a good match for yours.

    What is a "good match?" This will vary for some match ups, but in general: Did the bots "feel" balanced? Did each bot win multiiple games against the other, if not 50-50? Did matches last the majority of the aloted 60-90 second time, with each bot getting good shots on the other, so the win was close?


    HOMEWORKS PROJECT 3e:
    a) All week: Improve functuionality and Feedback / Game Feel for your bot

    b) (Due between Friday week 14 and friday of finals week):
    Submit Summary and Playtesting #3 .DOC for Battle Bot interactions:
    Page 1: Description of your final bot and how it changed in the prototyping process.
    Page 2. Playtest analysis of your bot against 7 other bots: 3 that are a "good match", 2 where your bot dominates, and 2 where the other bot dominates.

    WEEK 13 MATERIALS:

    Improve your bot feedback and Game Feel!

    Consider particle or shape prefabs, color changes, knockback, tween or keyframe animation to indicate usage to the player and warnings to the opponent:
    When your bot is attacking
    Any cooldown / readiness to attack again
    Vulnerabilities
    Bot health
    VFX specfic to your bot, like a woosh trail on a dash, or an explosion on a projectile impact.

    Watch this video by Mark Brown on applying Game Feel ideas to a player character
    "How I made an actually good character this time"


    WEEK 14 (April 11 / 15): Project 3 Final Submisions Due (end of finals week).
    Submit your final project #3 Prefab and documents!

    Final In-Class Playtesting!


    Checklist for completing you bot:
  • Complete the features proposed in your Spec Doc (and explain in the Summary Doc which features you added or discarded in you prototyping process). Please do not include the teacher's BotBasic_Weapon.
  • Visual Design "related" to features (very open to playful interpretation, but should look very distinct from the original provided prefab).
  • Strategically Vulnerable, related to strengths, and able to take damage (isTarget collider extended or duplicated to cover bot).
  • Feedback that communicates playability to user and opponent, and Game Feel elements to enhance the experience for the user.
  • Bug Free, to the best of your ability



  • Schedule subject to change per class needs. Please coordinate with teammates
    AND instructor if you will be absent to confirm assignments.
     
    REQUIRED READING:
    The Art of Game Design:
    A Book of Lenses

    by Jesse Schell

    Week 1: Chapter 7 Iteration (pp75-95)
    Amazon link
    Game Feel
    by Steve Swink


    Week 6: Chapter 1 (pp1-33)
    Amazon link
    Game Balance
    by Ian Schreiber
    and Brenda Romero

    Week 9: Chapter TBA
    Amazon link
    COURSE SOFTWARE/HARDWARE:
    Download and install:
    (1) Unity Game Engine (2021.1.10):
    Our Game Engine. Download Hub and our version from the archive. Create a free login account, run the program.
    Use your scripting IDE of choice. Visual Studio can be downloaded with Unity.
    The teacher likes Notepad++.

    (2) GitHub Desktop App: Free app to access our shared GitHub projects.

    (3) Parsec: Free app to play games together online! Needed for playtesting projects 2 and 3.

    IMPORTANT:
    (4) Please bring a 3-BUTTON MOUSE and notepad to all classes!

    OPTIONAL ART TOOLS:
    (5) Free online 2D art tool PhotoPea (Photoshop clone) 2D textures, background art, tilesets and sprites. Or get the real thing: Adobe Photoshop: Monthly subscription of just Photoshop is $10/month.

    (6) 3D art/animation: Blender (free) or Autodesk Maya (free with student .EDU email and proof of enrollment). Register and stay logged-in the open Autodesk site for download AND installation process.

    (7) Digital drawing tablets/pens, such as the Wacom Intuos tablet (basic model is $80 at Staples).

      REQUIRED DOCUMENTS:

    PROTOTYPE SPEC DOCS:
    Week 2: Instructions
    Week 6: Instructions
    Week 9: Instructions

    PROJECT SUMMARY / PLAYTESTING:
    Week 5: Instructions
    Week 8: Instructions
    Week 14: Instructions


    FEATURE DESIGN EXAMPLE DOC:
    Week 1: Instructions

    GAME FEEL EXAMPLE DOC:
    Week 6: Instructions


     
    NETWORKING EVENTS:
    Attend at least 1 event online this term
    to learn about the game industry.
    Submit a Write-up

    Seattle Area (attend online during Covid):
    Game Design Industry Meet-Ups




     
    Projects
    This course is about prototyping game features, not entire games, so you can practice prototyping systems within a narrow scope. There are 3 projects:

    PROJECT 1: "Dungeon Trap" (Top-down feature + Scene)
    Spec Doc + non-digital prototype due end of week 2
    Digital Drafts, Unity GitHub due weeks 3-5
     
    PROJECT 2: "Game Feel" (Modify a Classic Game Template for Rich Player Feedback)
    Spec Doc due end week 6
    Digital Drafts, Unity Solo due weeks 7-8
     
    PROJECT 3: "Bot-Battle" (PC and NPC Prefabs)
    Spec Doc due week 9
    Digital Drafts, Unity GitHub due weeks 10-14
     


    DOCUMENT SUBMISSION
    Please post all digital DOCs using the CLASS MOODLE. This includes Prototype Spec Docs, Playtest Evaluation, Game Feel, and an Online Industry Event Write-up.


    TEAMWORK
    No assignments in this class are required to be made in teams. One assignment, the Robo Rally prototype, may optionally be created by teams of two, but each students is required to submit their own Prototype Spec Doc and Playetests Doc.

    Individual Projects Rubric
    Each project is 25% of the final grade.
  • Spec Doc: 5%
  • Unity Implementation of Feature/s: 10%
  • Final Playtesting and Summary Doc: 10%

  • GitHub
    All digital prototypes will be in the Unity game engine on a shared GitHub project. The point is to evaluate how your feature functions in a shared ecosystem of features created by your classmates. The teacher will invite you to the Github project, and encourages use of GitHub desktop (unless you are extremely comfortable managing conflicts from a command line). You will work in a branch of your name until you are sure your code compiles and is safe to merge with the main branch.

    This process is an experiement. It depends on a great deal of care and attention to the project, since non-compiling code on he main branch will prevent all projects from being played. Will it work? That is up to us!

    A few important GitHub notes: please do not Revert the project, ever ever ever. Are there horrible conflicts with your local copy, such that you need a scorched earth solution? Duplicate the files you want to save to a new folder on your computer, then delete your entire copy of the project from your computer, abnd re-pull the project to a new folder.


    Critiques
    This course includes in-class and Moodled feedback. In-class feedback is on playable prototypes after in-class playtesting. Moodled feedback will occur after document submissions.

    Project evaluations will look for evidence of the following:
    QUESTIONS: What questions have you identified to answer with this prototype?
    PAPER vs DIGITAL STAGES:
    How have you chosen to answer these questions with prototypes in difeerent forms, to rapidly test your ideas?
    RISK ASSESSMENT: What risks did you identify for each of these prototype stages?


    Grading
    25% - Class Participation (attendance, in-class work, and professional manner in group / peer work and discussions).
    30% - Documentation (Prototype Spec Docs, Playtest Evaluations, Reading Notes, Industry Event Write-Up).
    45% - Three Prototypes: functional (or well-documented, splendidly disfunctional) submissions to four class projects (or approved substitution project/s).

     
    ONLINE COMMUNICATION POLICY
    We use Microsoft Teams for all class meetings. Each week we will use this same links for each of the three meetings.

    Classes on Teams will consist of small group discussions, full class discussions, some lecture, and design exercises.
    When not on break, you are asked to be at a laptop, desktop, phone, or tablet with your cameras on, if at all possible.
    Please allow your focus to be on the class in progress by closing email, social media, entertainment, or other classes.

    Of course, there can be good reasons not to be on camera. If this is the case for you, you don't need to say anything at the time, and the teacher will not call you out about it; it's fine for this to happen occasionally. In those cases, please have a photo of yourself (or a drawing) for your icon in Teams.

    Please be on mute when you are not speaking, so background noises do not disrupt the audio. Relevant questions, statements, links, etc. can also be typed in the chat.
    Please contribute to the class discussions in a professional manner.
    Please frame feedback positively and constructively, be mindful to not insult others, and do your best to avoid exclusionary language.



     
    FINAL PROJECTS:
    SPRING 2022:    Project #1:: Static and Live Build   |   Project #2: (see below)   |  Project #3: 
    Project #2 Section A: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
    Project #2 Section B: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23

    SPRING 2021:     Project #1   |   Project #2: (see below)   |   Project #3   |   Project #4
    Project #2 Section A: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18 (PW=DES315), 19, 20
    Project #2 Section B: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 12, 13, 14, 15, 16, 17, 18




    Last modified April 2022.

    Course content and materials on this page © 2021-2022.
    Projects © 2021-2022 staff and students of DES315.