imgd 2900 digital game design i

Post on 24-Feb-2016

67 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

IMGD 2900Digital Game Design I

Class 1: Thursday 10.25

Today’s topics

Class orientationCourse design and rationaleAn abstract microgame engineAssignments 1-3

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

What this class is

Lehr und kunstCreatively challengingFun

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 lecturesTake notes in your journal or fail

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

Things you require

Books I recommend

Course web site

users.wpi.edu/~bmoriarty/imgd2900/

Complete official syllabusUpdated course calendarAnnouncementsDetailed assignmentsElectronic texts and documentationOther useful resourcesUse 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 required4+ classes missed = Automatic NREmail me ASAP if you will miss classDo not attend with flu/plague symptoms

Grading

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

See course Web site forassigment 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 timeTurn off phones and audio devicesNo distracting PC / laptop / mobile appsNo extraneous conversations

Academic honesty

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

Disabilities

Visit the Disability Service OfficeSee me ASAP

Office hours

Tuesdays Noon - 1 pm and 3 - 4 pmThursdays 10 - 11 amBy appointment: bmoriarty@wpi.eduAnytime door is open (often)Location: Salisbury 211 (IMGD Suite)

Assignment 01

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

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

Team Boring

Mark Lazy (mlazy)Mary Idle (midle)

Stupid Toy by Mark LazyLame Puzzle by Mary Idle

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!

Assignment 02

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

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

A vocabulary ofgame 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 thatelicits play

What is a game?

What is a game?

A toy with rulesand 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 createmeaningful experience contexts.

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

Designers learn bydesigning

Designers learn best bydirectly experiencingthe contexts they create.

Kunst. Practice.

Designers learn byiteration

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

Salen & Zimmerman

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.

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

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

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

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

Perlenspiel 2

An abstract microgame enginewww.Perlenspiel.org

“Art lives from constraintsand 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 scriptFind:

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

    // change to the dimensions you want

    PS.GridSize ( 8, 8 );

    // Put any other init code here};

Your first scriptChange 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 PerlenspielJournal as you design and codePost your toy before noon next MondayBring your toy to Monday’s class

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

Objective 2:Journal as you design/code

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

Objective 3:Post your toy before noonnext 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 LazyLame Puzzle by Mary Idle

Objective 4:Bring toy to Monday’s class

Use a USB flash driveAlways, always keep a backup

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

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

top related