designer

advertisement
IMGD 2900
Digital Game Design I
Class 1: Thursday 10.25
Today’s topics
Class orientation
Course design and rationale
An abstract microgame engine
Assignments 1-3
What this class is not
A course in building [genre] games
A course in “level design”
A course in game programming
A course in creating game assets
A course in writing design documents
Easy
What this class is
Lehr und kunst
Creatively challenging
Fun
Course structure
A semi-studio course
In-class: Lectures, demos, discussion,
playtesting, critiquing, journaling
Out-of-class: Projects (many)
and more journaling
Course structure
You will be designing and building
games. Lots of them.
You will be programming, but only
game logic, no hard math,
graphics or 3D.
You will not be producing any art
(well, maybe one or two pieces).
Final exam
Last day of class (12.13)
Based solely on in-class lectures
Take notes in your journal or fail
Recommended
background
IMGD 1000, Critical Studies
IMGD 1001, Game Dev Process
CS 1101 / 1102, Intro to Program Design or
CS 110X, Intro to Programming for Non-Majors
Things you require
Books I recommend
Course web site
users.wpi.edu/~bmoriarty/imgd2900/
Complete official syllabus
Updated course calendar
Announcements
Detailed assignments
Electronic texts and documentation
Other useful resources
Use is essential and required
Student assistant
Owen Leach (oleach@wpi.edu)
Available in IMGD Lab every
Wednesday (1 – 3 pm)
Also available in IMGD Lab tomorrow
(Friday, 10 – 11 am)
Always available via email
Attendance
Absolutely required
4+ classes missed = Automatic NR
Email me ASAP if you will miss class
Do not attend with flu/plague symptoms
Grading
Basic course objectives met = B
Extraordinary effort, creativity = A
Most objectives met adequately = C
See course Web site for
assigment weightings
Emergencies
I will announce cancellations by email
as far in advance as possible
Class is officially canceled if I am not
here by 1:15 pm
Courtesy
Arrive at class on time
Turn off phones and audio devices
No distracting PC / laptop / mobile apps
No extraneous conversations
Academic honesty
Do you own work
Read and understand WPI policy
Breach of ethics = Automatic NR
Disabilities
Visit the Disability Service Office
See me ASAP
Office hours
Tuesdays Noon - 1 pm and 3 - 4 pm
Thursdays 10 - 11 am
By appointment: bmoriarty@wpi.edu
Anytime door is open (often)
Location: Salisbury 211 (IMGD Suite)
Assignment 01
Choose a project partner
Exactly two people per team
Name your team
Sit together for rest of course
Assignment 01 (cont.)
Make a team Web page
Must include:
Name of project team
Names/logins of team members
Link to main .html file of each project,
beginning with Assignment 03
Must be readily accessible
No password, subscription, malware
Team Boring
Mark Lazy (mlazy)
Mary Idle (midle)
Stupid Toy by Mark Lazy
Lame Puzzle by Mary Idle
Dissolving a team
Before Class 6 (Monday 11.12)
Set up a meeting with me
All team members must attend
Defend and negotiate
Soloists are strongly discouraged
and get no mercy!
Assignment 02
Begin and maintain a creative journal
Bring your journal to every class
Submit on last day of class
Used to decide edge grading cases
Journal requirements
Write your name on cover or first page
Use frequently, and date every entry
During or after every class
After every reading assignment
During or after every team meeting
At least one substantial item per entry
Be legible
Nothing too private
A vocabulary of
game design
Why bother? Lehr.
Today’s vocabulary
Play Toy Game
Design Designer
Game Designer
What is play?
What is play?
“Work consists of whatever a body is
obliged to do, and play consists of
whatever a body is not obliged to do.”
Mark Twain
What is play?
“Work consists of whatever a body is
obliged to do, and play consists of
whatever a body is not obliged to do.”
Mark Twain
Superfluous action
What is a toy?
What is a toy?
Something that
elicits play
What is a game?
What is a game?
A toy with rules
and a goal
What is design?
What is a designer?
What is design?
What is a designer?
The process by which a designer
creates a context to be
experienced by a participant,
from which meaning emerges.
Designers create
meaningful experience contexts.
What is a game designer?
Play = Superfluous action
Toy = Something that elicits play
Game = Toy with a rules and a goal
Designer = Creator of meaningful experience contexts
Game designer =
Creator of meaningful experience
contexts which elicit superfluous action
with rules and a goal
Designers learn by
designing
Designers learn best by
directly experiencing
the contexts they create.
Kunst. Practice.
Designers learn by
iteration
“Learning how to design iteratively is the
single most important skill that a game design
student can learn.”
Salen & Zimmerman
Game design is a
second-order problem
As a game designer, you can
never create the play experience,
only the context that elicits it.
The players create the experience.
Problem #1
Overwhelming preoccupation with
production and presentation issues.
Little focus on activity design.
“The content of a game is its behavior,
not the media that streams out of it
towards the player.”
Hunicke, LeBlanc, Zubek
Problem #2
Game designers don’t get enough kunst.
Not enough completed projects, too much
time spent on each project.
“Your first ten games always suck.”
How to quickly get to Game Eleven?
Problem #3
Digital game behavior is defined
by code.
“All desired user experience must
bottom out, somewhere, in code.”
Hunicke, LeBlanc, Zubek
“Game designers” are losing touch
with code; little actual authority.
A tool for teaching
functional game design
Focus on rapid prototyping
and iteration, expressed in real
industrial code
Usable by non-engineers:
No advanced math, graphics, 3D, etc
Usable by non-artists:
No asset creation or pipeline issues
A tool for teaching
functional game design
Industry-standard scripting language
Small enough to run on a phone
Powerful enough to make
interesting, significant games
Cloud-based, automatic updates
Perlenspiel 2
An abstract microgame engine
www.Perlenspiel.org
“Art lives from constraints
and dies from freedom.”
Leonardo da Vinci
“The absence of limitations
is the enemy of art.”
Orson Welles
Grid
Event-driven
interchange
Your first script
Go to www.Perlenspiel.org
Visit the Download page
Copy PS2.zip into a personal folder
and unpack it somewhere convenient
Open the new PS2 directory and open
game.js for editing
Your first script
Find:
PS.Init = function ()
{
"use strict";
// change to the dimensions you want
PS.GridSize ( 8, 8 );
// Put any other init code here
};
Your first script
Change to:
PS.Init = function ()
{
"use strict";
// change to the dimensions you want
PS.GridSize ( 8, 8 );
PS.StatusText( "Hello, world!" );
};
Your first script
Find:
PS.Click = function (x, y, data)
{
"use strict";
// Put code here for bead clicks
};
Your first script
Add:
PS.Click = function (x, y, data)
{
"use strict";
PS.BeadColor( x, y, PS.COLOR_RED );
PS.AudioPlay( "fx_click" );
};
Using the reload icon
Find:
PS.Click = function (x, y, data)
{
"use strict";
PS.BeadColor( x, y, PS.COLOR_BLUE );
PS.AudioPlay( "fx_click" );
};
Using the debugger
Find:
PS.Click = function (x, y, data)
{
"use strict";
PS.BeadColor( x, y, PS.COLOR_BLUE );
PS.AudioPlay( "fx_click" );
PS.Debug( "x=" + x + " y=" + y + "\n" );
};
Adding glyphs
Find:
PS.Click = function (x, y, data)
{
"use strict";
PS.BeadColor( x, y, PS.COLOR_BLUE );
PS.AudioPlay( "fx_click" );
PS.Debug( "x=" + x + " y=" + y + "\n" );
PS.BeadGlyph( x, y, "P" );
};
PS.Init ()
PS.Click (x, y, data)
PS.GridSize (w, h)
PS.StatusText (“text”)
PS.BeadColor (x, y, rgb)
PS.AudioPlay (“sound”)
PS.Debug (“text”)
PS.BeadGlyph (x, y, glyph)
Assignment 03:
Build a toy or gizmo
Build a toy or gizmo with Perlenspiel
Journal as you design and code
Post your toy before noon next Monday
Bring your toy to Monday’s class
Objective 1:
Build a toy or gizmo
Must meet definition of a toy or gizmo
Must work without breaking
Must be self-documenting
Perlenspiel docs on web site
Javascipt docs in ebooks, online
Design must be yours alone
Name your toy
Report “engine bugs” ASAP
Objective 2:
Journal as you design/code
Document your creative process
Ideas, code fragments, sketches
Journals will be inspected
Objective 3:
Post your toy before noon
next Monday 10.29
Make sure it runs without crashing!
Include title and author with link
Team Boring
Mark Lazy (mlazy)
Mary Idle (midle)
Stupid Toy by Mark Lazy
Lame Puzzle by Mary Idle
Objective 4:
Bring toy to Monday’s class
Use a USB flash drive
Always, always keep a backup
Need help?
Consult etexts on course Web site
Consult examples at perlenspiel.org
Visit www.w3schools.com/js/
Teaching assistant will be in IMGD Lab
tomorrow (10 – 11 am)
Email him anytime with questions
Really stuck? Okay to ask an engineer
for help
But give credit to any helpers!
Toy design must be yours alone
Perlenspiel archive
Projects will be available on the Web
for future classes to study
You must explicitly release your code
to the public domain
// Released to the public domain
Questions?
Next class: Monday 10.29
Download