VIDEO
GAMES

CLASS SYLLABUS

Instructor: Bruce Donald Campbell
Faculty, Continuing Education - RISD
Adjunct Professor, Brown, Computer Science (research)


Email: bcampbel01@risd.edu

Prerequisites: None

DESCRIPTION

This class introduces the essentials of how to begin to build interactive web games using technologies that are at the heart of the learning as you draw, animate and craft action using JavaScript. The instructor introduces you to the basics of interactivity using pre-programmed game kits which you expand at your pace. Games illustrate behaviors like mouse- and keyboard-controlled animation, frame loop-driven collision detection, and boundary events. You can expect to learn fundamental coding techniques and get an introduction to Photoshop for game art generation.

RESOURCES

CLASS LINKS

  1. Pixel Art Maker Tool
  2. Piskel Sprite Maker
  3. GameMaker
  4. nitrome.com
  5. Crazy Games

SYLLABUS

TOPIC1

welcome and getting started

Course Overview

Character Sprites
Inputs Code
Frame Loop Code
Clean Animation
Arrays and Vectors
Incorporating Rules
Automata
Artificial Intelligence

  • Introduction
  • Course Objectives
  • Motivation
  • Creating and using artwork
  • Our Development Process
  • Scripting versus programming versus languages
  • Ideas brainstorming session
In class:
  • Practice our first topic exercises
  • Play some student made games
  • Bring in some resource files (art, sound, video, image) for tomorrow.

TOPIC2

welcome and getting started

Inputs and Outputs for a Game

  • The class project overview
  • Driving keyboards, mice, and other peripheral devices
  • Other code considerations:
    1. The art code -> injected with HTML
    2. Make variables for each art piece
    3. Provide input and output code:
         - keyboard, mouse, joystick, touch
         - connecting the variables to the art
    4. Frameloop (make changes automatically)
    5. Interaction code
    6. Add code to make things pretty CSS
  • Examples with discussion
  • Free play time
In class:
  • Practice our second topic start exercise.
  • Investigate Storyboarding
  • Build your resource hierarchy.
  • Bring your resource files into a very basic project structure.
  • Continue to dream up a project you want to work on.

TOPIC3

building game characters

  • Sprites
  • Personalities
  • JavaScript character support
  • The character state machine
  • In class student character critique and assessment
In class:
  • Learn about character sheet animation.
  • Perform the character strip animation exercise.
  • Create artwork for your character
  • Map out the behaviors for character to input devices
  • Practice our third topic exercises using the links above.
  • Work on your game

TOPIC4

incorporating arrays

  • Scaling up to larger game component
  • Evaluating memory and hard drive requirements
  • In class student data structure critiques and assessment
  • Coordinated play time
In class:

TOPIC5

game lab time

  • Spend time getting all your art work together... characters, background, level obstacles.
  • Create text notes for the rules you want to add to your game.
  • Play online games with other students to discuss rules you might consider for your game.
In class:
  • Consider the platformer code that many students like to work from.
  • Map out the state machine for your game
  • Be ready to present and justify your character as a persona

TOPIC6

adding rules to your game

  • The value of rules in good story telling and enjoyable game play
  • Game learning objectives for serious games
  • Example storyboard critiquing if you want to present your story
In class:

TOPIC7

animation sequences and audio

  • Adding audio to generate a mood (birds laser)
  • Tying animation to computer peripherals (keyboard and mouse)
  • In-class animation play
In class:

TOPIC8

advanced physics

  • Physics as a powerful gaming specialty
  • In-class student rules presentation and critique
In class:

TOPIC9

artificial intelligence

  • The mathematical beauty of computer automata
  • Approaches to artificial intelligence
In class:

TOPIC10

project work time

  • Putting our games on a Web server
  • Class Project Due at End of Class
  • Feel good about your new skills
  • Take a look at our final game concepts