Lab 5 - Physical Prototypes

Pre-Lab: Due Before 10:00 AM on Friday, September 22

Work with your team to pick one level that you want to do a physical prototype of over the next two labs. Some materials will be provided (poster board, markers, scissors, tape, etc.), but if you have anything specific you want to use, please bring it.

In Lab: Friday, September 22

Work on your physical prototypes! These are not due until the next lab. The TAs and Prof. Sherriff will also meet with each team individually to discuss plans and the scope of their project.

Post-Lab: Before the next lab on Friday, September 29

Continue working on your physical prototype, along with your design document for your team's game.

more ...

Lab 4 - Game Pitches

Pre-Lab: Due Before 10:00 AM on Friday, September 15

Complete the "You Have a Vision..." quest, writing your design document and uploading it to Gamer Card. If you want your game to be considered to be built by the class, please fill out this form by Thursday, September 14, at 5:00 PM: https://goo.gl/forms/FTmrhSBvbKXx1tat1

In Lab: Friday, September 15

Come and hear the pitches (or give your own!) and vote on the games you want to see built!

Post-Lab: In lecture, Monday, September 18

Games and teams will be announced during lab! Get with your teams before the next lab to start planning your physical prototype.

more ...

Lab 3 - Unity Tutorial: Roll a Ball

Pre-Lab: Due Before Lab on Friday, September 8

In this quest, your goals are:

  • Become familiar with the basic interface of Unity
  • Create a simple game from a tutorial
  • Add to that game in some interesting ways
  • Sync your project to an assignment repo in GitHub

Before coming to lab, you need to complete the following:

  1. Install Unity and create a Unity account - http://store.unity.com. Make sure to get the Personal/Free version!
  2. Go to https://classroom.github.com/a/K1b6EkT2 to accept the assignment. Make sure to choose your computing ID from the list when you accept!
  3. Launch Unity and create a new project called Roll a Ball. Create a new project
  4. Open your project directory and add a .gitignore file to the root of the directory. Copy the text from this example .gitignore into your own.
  5. From a terminal window in the root of your project, run these commands:
    • git init .
    • git add *
    • git commit -m "initial commit"
    • git remote add unity-tutorial-1-roll-a-ball-yourgithubid https://github.com/UVA-CS4730-F17/unity-tutorial-1-roll-a-ball-yourgithubid.git
    • git push unity-tutorial-1-roll-a-ball-yourgithubid master

Your project is now connected to GitHub! You're ready to go when you get to lab! If you have problems with this, please go to office hours or ask first thing during lab.

In Lab: Friday, September 8

Follow the tutorial found at https://unity3d.com/learn/tutorials/projects/roll-ball-tutorial to complete this basic game!

You are welcome to begin the tutorial before coming to lab. The tutorial will take a little over an hour to complete, so you may run out of time in lab. You can finish it after lab as a part of the post-lab submission.

Post-Lab: Due Monday, September 11 @ 11:55 PM

You should now add three unique things to your tutorial Roll-a-Ball game of your own design!

The first one that everyone must do is audio. Make a sound play whenever an item is picked up!

Now add two more things of your choosing. These could be:

  • Particles
  • Different background / skybox
  • Opposing entities
  • Other types of objects that do something different
  • More movement options (jumping, etc.)
  • Plenty of other things! Ask a staff member!

For some ideas, look around at the projects found at https://unity3d.com/learn/tutorials. You can also Google for ideas!

To help us grade, we ask that you create Windows and Mac builds for all of your Unity submissions to go along with your projects. However, you do not want your uncompressed builds to be included in your GitHub repos as that will result in a large number of changes to be continuously monitored. To create and submit your builds, please do the following:

  1. Create a folder called Builds in the root of your project folder.
  2. Use File > Build Settings to create your builds. See https://docs.unity3d.com/Manual/PublishingBuilds.html for more information on how this works.
  3. In your Builds folder, find your Windows and Mac builds. Archive the contents of this directory (select everything and right click choosing the appropriate option) and name the file unity1-yourcomputingid.zip
  4. Put the zip file in the root of your project folder and check it in as normal to GitHub.

Commit all changes to your GitHub repo before 11:55 PM Monday, September 11. Please include in the root of your repository a README.md file either by creating the file or using the Add a README button on the homepage of your repo. This file should list the three features you added with links to any tutorials/resources that you used to create them. Finally, upload the same contents of your README.md file in a PDF called README-compid.pdf (adding a link directly to your repo please to make it easier for grading) and upload that to the Quest in Gamer Card.

more ...

Lab 2 - Mechanics / Dynamics / Aesthetics

Lecture Date: Friday, September 1

Today in lab we’ll discuss Mechanics / Dynamics / Aesthetics. Make sure to have read the MDA paper on the schedule and watched the EC video that goes along with today!

What are the aspects of aesthetics? What sort of game should you make? What do you love?

Why do we discuss games in the terms of genres as we do? Consider how we discuss genres in music and movies. Is it the same?

Consider the MDA ideas in the context of what we have been discussing as to what is a game:

  • Mechanics - rules and systems
  • Dynamics - experiential play
  • Aesthetics - underlying emotive reasons for playing

Is there a reason we should categorize by mechanics? (some mechanics easier/more approachable than others)

Let’s consider what aesthetics we might go for in our games. How many aesthetics do we want?

  • Sense Pleasure – stimulates senses / play it for the graphics or audio – Ex. Rez, Child of Eden
  • Fantasy – can do something that you can’t do in real live – Ex. COD, NFL, Rock Band
  • Narrative – game as drama, stories – Ex. Final Fantasy, Sims, Mass effect
  • Challenge – game as obstacle course – Ex. Any game with arbitrary unnecessary obstacles, such as Mario games
  • Fellowship – working together – Ex. WoW, Team Fortress 2, Journey
  • Competition – games as dominance – Ex. all fighting games, StarCraft, League of Legends
  • Discovery – uncover the new – Ex. Skyrim, Minecraft, Guild Wars 2, Dark Cloud
  • Expression – being creative – Ex. Minecraft, SimCity
  • Abnegation – game as past time / tune out gaming, grinding – Ex. Bejeweled, Tetris, Jetpack Joyride, endless runners

MDA shows us the second-order design challenge as software engineers.

Consider spawn camping as an example of mechanic into dynamic and emergent game play. What aesthetics does this create?

After our class discussion, we’ll do a quick game evaluation together.

Materials: MDA Paper

Mario lab:

Luigi lab:

more ...

Lab 1 - Game Kits

Lecture Date: Friday, August 25

Today we'll be making our first games for the semester in lab!... with random stuff I found from the Dollar Store. Good times!

more ...