HILT: Games in the Classroom Summer Workshop

HILT: Games in the Classroom Summer Workshop

I’ll be running a workshop on Games in the Classroom as part of the Humanities Intensive Learning and Teaching institute at the University of Maryland this summer, August 4th-8th. Here’s an overview of the workshop and all of the materials. 

Collaborative Notes (@GeorgeOnline)

Twitter Archive

Description: Games can be a great way to add experiential and playful learning to the humanities classroom by integrating learning objectives with game mechanics. We’ll look at three main ways to integrate games into learning objectives: teaching and debriefing existing games, making games for students to play, and building games with your students. Along the way, we’ll discuss what makes an effective learning game and how integrating games can offer a gentle way to learn from failure while offering the opportunity for exploration, collaboration, and the probing of ideas through new lenses. Participants will engage in “critical play” of several examples of humanities board games, text games, and graphical games and learn simple tools for making games in these genres while building games. No programming experience is required or assumed.


Day One: Board Games

Introduction: Games in the Classroom

Play:

Exercise: Making a Board Game

Project: Your First Game

Your scenario: you work for a board game company that is trying to release an educational game in your field of expertise. The head of your department is looking for innovative pitches to take to the board this afternoon, so you’ll need to work quickly.

Your team needs to consider:

  • Integrating learning objectives with mechanics appropriate to a board game
  • Building a simple, social game accessible to players with little gaming experience
  • Artistic choices and the overall aesthetic and “mood” of the game
  • Elements of design including rules, mechanics, balance, player roles, interaction and conflict

You have basic prototyping supplies available to you so that you can quickly sketch your plans. Consider keeping design notes that outline the title, concept, rules, and a brief pitch you would use to convince the stockholders that your game would be ideal for the target audience.

Next Steps: Game Design Documents


Day Two: Interactive Fiction

Discussion: Game Narratives

Play:

Guide to Playing IF

Coding Exercise – Sample / Sample 2

Project: One Room Interactive Fiction

Using Inform 7, develop a simple game set entirely in one room. Focus on developing the objects and include a simple puzzle that can be solved in order to escape the room, thus ending the game. Reveal the narrative through the player’s exploration and interactions with the objects in the environment. There is no need to include other characters or dialogue: focus on environmental storytelling. Aim for:

  • A well-described setting.  Make sure to use the character’s perspective to convey key details, background, and emotional stakes to the player.
  • Interactive objects. These can include objects the player can pick up, move, or otherwise interact with.
  • At least one original verb. Define at least one verb the player might use to probe the objects in your environment with a rule governing action.
  • A clear beginning and end. Give the player enough information to understand and achieve their objective, and a sense of fulfillment when it is accomplished.

Inform 7 Resources


Day Three: Twine and Hypertext

Discussion: Platforms and Communities

Play:

Twine Resources:

Project: Building Your Twine Story

1. Adding the framework

  • Never remove or change the “Start” passage.
  • Include the “StoryTitle” and “StoryAuthor” passages
  • Add a passage called CSS with the tag “stylesheet
  • Pick an export format

2. Linking passages and adding elements

  • Add a link: [[text you display|PassageTitle]]
  • Add an image (stored in same folder): [img[sampleimage.gif]]
  • Embed another passage: <<display ‘PassageTitle’>>

3. Playing with your stylesheet

  • Change the display of links:
a { text-decoration: none !important }
a.internalLink { color: green !important }
a.internalLink:hover { color: white !important;
  • Change how passages are displayed:
.passage { width: 500px !important }
.passage {color: purple }

Overall Stylesheets for Inspiration

4. Working with Conditionals

<<silently>>
<<set $metking = “no”>>
<<endsilently>>
<<if $metking == “no”>>The king barely nods at you in greeting.
<<set $metking = “yes”>><<else>>The king ignores you.<<endif>>

5. Going further: Twine scripting


Day Four: Construct 2 and Procedural Rhetoric

Exercise and Discussion: Going Visual

Play: Art Games

Discussion: Building Game Interfaces

Ponder: Ian Bogost – “Procedural Rhetoric”

Project: Build an Academic Metagame in Construct 2

Using a default project as your starting point, build an academic metagame that uses procedural rhetoric to comment through its mechanics. Consider how the actions in the game relate to your message and outcomes. Keep your platform in mind: Construct 2 is based in HTML5, so you can use it to create games for touch-screens or PCs.

Here are a few examples of academic metagames to get you started:

Construct 2 Resources


Day Five: Unity and Beyond

Play:

Discussion: World-Building

Project: A Simple Unity Game

1. Create a new project, selecting “Character Controller,” “Skyboxes,” “Scripts”, and “Terrain Assets.” These will give you foundation files for our game.

2.  Create a light under “GameObject — Create Other — Directional Light” so you can see any changes you make to your gameworld.

3. Add a new terrain by choosing “Create Terrain” from the Terrain menu. Under Terrain, choose the paintbrush (Paint Terrain) and apply a texture from your Terrain Assets list. Use “Splat” to apply the texture everywhere. You can add multiple textures and apply them with different brushes.

4. Using the terrain height tools, add some hills to create variety on your terrain. Under the place tree tool, select Edit Trees and add a tree. You can then paint on or mass place trees on your terrain.

5. Under Windows, launch the Asset Store. You’ll need a Unity account to use the free assets we’ll need for our projects. Under humanoids, select fantasy and choose the monster character pack and download it. Once the download is complete, you can import it into the current project.

6. Under Assets in the Project List, grab the First Person Controller and drop it in the game. Delete the previous Main Camera. Set it to 0,0,0 to start and position it relative to your terrain. This adds a controllable view with arrow controls and a mouseview setting.

7. Select your new main camera and go under rendering. Add a Skybox and pull a custom skybox from your Terrain Assets list. Play the game again: now your world will have both a sky and ground.

8. Download the free customizable firearm set. Import the package and pull the machine gun prefab into view. Place the Machine Gun as a child of the First Person Controller (underneath) and change the scale and position to fit on your view.

10. Create a new sphere, scale it to .05 and add a Sphere Collider. Create a new prefab, Bullet, and attach the sphere to it.

11. Under assets, create a new script called FPSshoot. Change the update function to react when the left mouse button is pressed  by creating a bullet. Remember to add a GameObject variable for the bullet and assign the bullet prefab to it. We’ll need to grab the position of the gun and add it as a variable to start our bullet at the right space:

var gunTransform:Transform;
var bullet:GameObject;
function Start () {
}
function Update () {
 if(Input.GetKeyDown(KeyCode.Mouse0))
 {
 var bullet = GameObject.Instantiate(bullet,gunTransform.position+Vector3.up*.2,gunTransform.rotation);
 Destroy(bullet,.5);
 }
}

12. Add a new script to the bullet giving it a force and direction of movement:

function Start () {
rigidbody.AddRelativeForce(Vector3.forward*speed);
}
function Update () {
}

Unity Resources


 Suggested Additional Readings