imgd 2900 digital game design i

71
IMGD 2900 Digital Game Design I Class 1: Thursday 10.25

Upload: adolph

Post on 24-Feb-2016

66 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: IMGD 2900 Digital Game Design I

IMGD 2900Digital Game Design I

Class 1: Thursday 10.25

Page 2: IMGD 2900 Digital Game Design I

Today’s topics

Class orientationCourse design and rationaleAn abstract microgame engineAssignments 1-3

Page 3: IMGD 2900 Digital Game Design I

What this class is not

A course in building [genre] gamesA course in “level design”A course in game programmingA course in creating game assetsA course in writing design documentsEasy

Page 4: IMGD 2900 Digital Game Design I

What this class is

Lehr und kunstCreatively challengingFun

Page 5: IMGD 2900 Digital Game Design I

Course structure

A semi-studio course

In-class: Lectures, demos, discussion, playtesting, critiquing, journaling

Out-of-class: Projects (many)and more journaling

Page 6: IMGD 2900 Digital Game Design I

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).

Page 7: IMGD 2900 Digital Game Design I

Final exam

Last day of class (12.13)Based solely on in-class lecturesTake notes in your journal or fail

Page 8: IMGD 2900 Digital Game Design I

Recommended background

IMGD 1000, Critical Studies

IMGD 1001, Game Dev Process

CS 1101 / 1102, Intro to Program Design orCS 110X, Intro to Programming for Non-Majors

Page 9: IMGD 2900 Digital Game Design I

Things you require

Page 10: IMGD 2900 Digital Game Design I

Books I recommend

Page 11: IMGD 2900 Digital Game Design I

Course web site

users.wpi.edu/~bmoriarty/imgd2900/

Complete official syllabusUpdated course calendarAnnouncementsDetailed assignmentsElectronic texts and documentationOther useful resourcesUse is essential and required

Page 12: IMGD 2900 Digital Game Design I

Student assistant

Owen Leach ([email protected])

Available in IMGD Lab every Wednesday (1 – 3 pm)

Also available in IMGD Lab tomorrow (Friday, 10 – 11 am)

Always available via email

Page 13: IMGD 2900 Digital Game Design I

Attendance

Absolutely required4+ classes missed = Automatic NREmail me ASAP if you will miss classDo not attend with flu/plague symptoms

Page 14: IMGD 2900 Digital Game Design I

Grading

Basic course objectives met = BExtraordinary effort, creativity = AMost objectives met adequately = C

See course Web site forassigment weightings

Page 15: IMGD 2900 Digital Game Design I

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

Page 16: IMGD 2900 Digital Game Design I

Courtesy

Arrive at class on timeTurn off phones and audio devicesNo distracting PC / laptop / mobile appsNo extraneous conversations

Page 17: IMGD 2900 Digital Game Design I

Academic honesty

Do you own workRead and understand WPI policyBreach of ethics = Automatic NR

Page 18: IMGD 2900 Digital Game Design I

Disabilities

Visit the Disability Service OfficeSee me ASAP

Page 19: IMGD 2900 Digital Game Design I

Office hours

Tuesdays Noon - 1 pm and 3 - 4 pmThursdays 10 - 11 amBy appointment: [email protected] door is open (often)Location: Salisbury 211 (IMGD Suite)

Page 20: IMGD 2900 Digital Game Design I

Assignment 01

Choose a project partnerExactly two people per teamName your teamSit together for rest of course

Page 21: IMGD 2900 Digital Game Design I

Assignment 01 (cont.)

Make a team Web pageMust include:

Name of project teamNames/logins of team membersLink to main .html file of each project,

beginning with Assignment 03Must be readily accessible

No password, subscription, malware

Page 22: IMGD 2900 Digital Game Design I

Team Boring

Mark Lazy (mlazy)Mary Idle (midle)

Stupid Toy by Mark LazyLame Puzzle by Mary Idle

Page 23: IMGD 2900 Digital Game Design I

Dissolving a team

Before Class 6 (Monday 11.12)Set up a meeting with meAll team members must attendDefend and negotiateSoloists are strongly discouraged

and get no mercy!

Page 24: IMGD 2900 Digital Game Design I

Assignment 02

Begin and maintain a creative journalBring your journal to every classSubmit on last day of classUsed to decide edge grading cases

Page 25: IMGD 2900 Digital Game Design I

Journal requirements

Write your name on cover or first pageUse frequently, and date every entry

During or after every classAfter every reading assignmentDuring or after every team meeting

At least one substantial item per entryBe legibleNothing too private

Page 26: IMGD 2900 Digital Game Design I

A vocabulary ofgame design

Why bother? Lehr.

Page 27: IMGD 2900 Digital Game Design I

Today’s vocabulary

Play Toy Game

Design Designer

Game Designer

Page 28: IMGD 2900 Digital Game Design I

What is play?

Page 29: IMGD 2900 Digital Game Design I
Page 30: IMGD 2900 Digital Game Design I
Page 31: IMGD 2900 Digital Game Design I

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

Page 32: IMGD 2900 Digital Game Design I

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

Page 33: IMGD 2900 Digital Game Design I

What is a toy?

Page 34: IMGD 2900 Digital Game Design I

What is a toy?

Something thatelicits play

Page 35: IMGD 2900 Digital Game Design I

What is a game?

Page 36: IMGD 2900 Digital Game Design I

What is a game?

A toy with rulesand a goal

Page 37: IMGD 2900 Digital Game Design I

What is design?What is a designer?

Page 38: IMGD 2900 Digital Game Design I

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 createmeaningful experience contexts.

Page 39: IMGD 2900 Digital Game Design I

What is a game designer?

Play = Superfluous actionToy = Something that elicits playGame = Toy with a rules and a goalDesigner = Creator of meaningful experience contexts

Game designer = Creator of meaningful experience contexts which elicit superfluous action with rules and a goal

Page 40: IMGD 2900 Digital Game Design I

Designers learn bydesigning

Designers learn best bydirectly experiencingthe contexts they create.

Kunst. Practice.

Page 41: IMGD 2900 Digital Game Design I

Designers learn byiteration

“Learning how to design iteratively is thesingle most important skill that a game design student can learn.”

Salen & Zimmerman

Page 42: IMGD 2900 Digital Game Design I

Game design is asecond-order problem

As a game designer, you cannever create the play experience,only the context that elicits it.

The players create the experience.

Page 43: IMGD 2900 Digital Game Design I
Page 44: IMGD 2900 Digital Game Design I

Problem #1Overwhelming 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

Page 45: IMGD 2900 Digital Game Design I

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?

Page 46: IMGD 2900 Digital Game Design I

Problem #3Digital game behavior is definedby code.

“All desired user experience must bottom out, somewhere, in code.”

Hunicke, LeBlanc, Zubek

“Game designers” are losing touchwith code; little actual authority.

Page 47: IMGD 2900 Digital Game Design I

A tool for teachingfunctional game design

Focus on rapid prototypingand 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

Page 48: IMGD 2900 Digital Game Design I

A tool for teachingfunctional game designIndustry-standard scripting language

Small enough to run on a phone

Powerful enough to makeinteresting, significant games

Cloud-based, automatic updates

Page 49: IMGD 2900 Digital Game Design I
Page 50: IMGD 2900 Digital Game Design I

Perlenspiel 2

An abstract microgame enginewww.Perlenspiel.org

Page 51: IMGD 2900 Digital Game Design I

“Art lives from constraintsand dies from freedom.”

Leonardo da Vinci

“The absence of limitations is the enemy of art.”

Orson Welles

Page 52: IMGD 2900 Digital Game Design I

Grid

Page 53: IMGD 2900 Digital Game Design I

Event-driven interchange

Page 54: IMGD 2900 Digital Game Design I

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

Page 55: IMGD 2900 Digital Game Design I

Your first scriptFind:

PS.Init = function (){    "use strict";

    // change to the dimensions you want

    PS.GridSize ( 8, 8 );

    // Put any other init code here};

Page 56: IMGD 2900 Digital Game Design I

Your first scriptChange to:

PS.Init = function (){    "use strict";

    // change to the dimensions you want

    PS.GridSize ( 8, 8 );

    PS.StatusText( "Hello, world!" );};

Page 57: IMGD 2900 Digital Game Design I

Your first script

Find:

PS.Click = function (x, y, data){    "use strict";

    // Put code here for bead clicks};

Page 58: IMGD 2900 Digital Game Design I

Your first script

Add:

PS.Click = function (x, y, data){    "use strict";

    PS.BeadColor( x, y, PS.COLOR_RED );

PS.AudioPlay( "fx_click" );};

Page 59: IMGD 2900 Digital Game Design I

Using the reload icon

Find:

PS.Click = function (x, y, data){    "use strict";

    PS.BeadColor( x, y, PS.COLOR_BLUE );

PS.AudioPlay( "fx_click" );};

Page 60: IMGD 2900 Digital Game Design I

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" );};

Page 61: IMGD 2900 Digital Game Design I

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" );};

Page 62: IMGD 2900 Digital Game Design I

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)

Page 63: IMGD 2900 Digital Game Design I

Assignment 03:Build a toy or gizmo

Build a toy or gizmo with PerlenspielJournal as you design and codePost your toy before noon next MondayBring your toy to Monday’s class

Page 64: IMGD 2900 Digital Game Design I

Objective 1:Build a toy or gizmo

Must meet definition of a toy or gizmoMust work without breakingMust be self-documentingPerlenspiel docs on web siteJavascipt docs in ebooks, onlineDesign must be yours aloneName your toyReport “engine bugs” ASAP

Page 65: IMGD 2900 Digital Game Design I

Objective 2:Journal as you design/code

Document your creative processIdeas, code fragments, sketchesJournals will be inspected

Page 66: IMGD 2900 Digital Game Design I

Objective 3:Post your toy before noonnext Monday 10.29

Make sure it runs without crashing!Include title and author with link

Page 67: IMGD 2900 Digital Game Design I

Team Boring

Mark Lazy (mlazy)Mary Idle (midle)

Stupid Toy by Mark LazyLame Puzzle by Mary Idle

Page 68: IMGD 2900 Digital Game Design I

Objective 4:Bring toy to Monday’s class

Use a USB flash driveAlways, always keep a backup

Page 69: IMGD 2900 Digital Game Design I

Need help?Consult etexts on course Web siteConsult examples at perlenspiel.orgVisit www.w3schools.com/js/Teaching assistant will be in IMGD Lab

tomorrow (10 – 11 am)Email him anytime with questionsReally stuck? Okay to ask an engineer

for helpBut give credit to any helpers!Toy design must be yours alone

Page 70: IMGD 2900 Digital Game Design I

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

Page 71: IMGD 2900 Digital Game Design I

Questions?

Next class: Monday 10.29