cmps 20 – game design experience · • start quick introduc5on to javascript/html5/ css and...

12
Computational Cinematics Studio // Center for Games and Playable Media http://games.soe.ucsc.edu/ccs // http://games.soe.ucsc.edu CMPS 20 – Game Design Experience Spring 2016 Week 2: JavaScript, HTML5, and CSS Arnav Jhala TA: Sarah Harmon Graders: Michael Brich, Daniel Pagharion, TBD

Upload: dodang

Post on 06-Sep-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CMPS 20 – Game Design Experience · • Start quick introduc5on to Javascript/HTML5/ CSS and development tools ... – Eloquent JavaScript Chapters Condi5onals, Loops, and Func5ons

Computational Cinematics Studio // Center for Games and Playable Media http://games.soe.ucsc.edu/ccs // http://games.soe.ucsc.edu

CMPS 20 – Game Design Experience Spring 2016 Week 2: JavaScript, HTML5, and CSS

Arnav Jhala

TA: Sarah Harmon Graders: Michael Brich, Daniel Pagharion, TBD

Page 2: CMPS 20 – Game Design Experience · • Start quick introduc5on to Javascript/HTML5/ CSS and development tools ... – Eloquent JavaScript Chapters Condi5onals, Loops, and Func5ons

Upcomingclassesandassignments

•  Startquickintroduc5ontoJavascript/HTML5/CSSanddevelopmenttools

•  Labsnextweek– FacethatNamegameonjsfiddle

•  Individualassignment– Developmentenvironmentsetupanddrawingsprites

– Alchemygame– hKp://liKlealchemy.com

Page 3: CMPS 20 – Game Design Experience · • Start quick introduc5on to Javascript/HTML5/ CSS and development tools ... – Eloquent JavaScript Chapters Condi5onals, Loops, and Func5ons

ComputerLanguages

•  High-andLow-level•  Compiled/Interpreted•  Scrip5ng/Programming•  Forweb:client-side/server-side

Page 4: CMPS 20 – Game Design Experience · • Start quick introduc5on to Javascript/HTML5/ CSS and development tools ... – Eloquent JavaScript Chapters Condi5onals, Loops, and Func5ons

JavaScript(forourclass)

•  Scrip5ngLanguage•  Runswithinwebbrowser’scontext•  OperatesonDOM(DocumentObjectModel)objects

•  Provideshigh-levelinterfacetouserinterac5on

•  Implementsgamelogic

Page 5: CMPS 20 – Game Design Experience · • Start quick introduc5on to Javascript/HTML5/ CSS and development tools ... – Eloquent JavaScript Chapters Condi5onals, Loops, and Func5ons

DataTypesandOperators

•  Basicdatatypes– Null,undefined,NaN

•  Operators– Unary– Binary(comparison)– Bitwise– Precedence

Page 6: CMPS 20 – Game Design Experience · • Start quick introduc5on to Javascript/HTML5/ CSS and development tools ... – Eloquent JavaScript Chapters Condi5onals, Loops, and Func5ons

Readings

•  Readingsoncrea5ngadesigndocument•  Readingonconstraint-drivendesign•  Reading[R4]onclasswebpage

– EloquentJavaScriptChapters

Page 7: CMPS 20 – Game Design Experience · • Start quick introduc5on to Javascript/HTML5/ CSS and development tools ... – Eloquent JavaScript Chapters Condi5onals, Loops, and Func5ons

Condi5onals,Loops,andFunc5ons

•  If()•  for()•  while()•  Func5ons

Page 8: CMPS 20 – Game Design Experience · • Start quick introduc5on to Javascript/HTML5/ CSS and development tools ... – Eloquent JavaScript Chapters Condi5onals, Loops, and Func5ons

Events

•  onAbort•  onBlur•  onChange•  onClick•  onError•  onFocus•  onLoad•  onMouseOut•  onMouseOver•  onReset•  onSubmit•  onUnload

Page 9: CMPS 20 – Game Design Experience · • Start quick introduc5on to Javascript/HTML5/ CSS and development tools ... – Eloquent JavaScript Chapters Condi5onals, Loops, and Func5ons

Assignment1Clarifica5ons

•  Mainpointsoftheassignment–  Demonstrateabilitytocreateanewprogramthatdisplays,animates,

andmanipulatessprites(mul5ple)onawebbrowserusingtheCanvasAPIsthroughJavaScript.

–  Alchemyprovidesaniceframeworkwhereyoucandoallthatands5llhaveacompletegametoshowforyourwork.

–  Asgamedesignstudentsyoushouldthinkcrea5velythatispartofyourgrade.Thisisforyourownsake,youwillpasstheclassifyoujustmeettheminimumrequirementsforassignments.

–  JSFiddleisausefultoolsthatismeanttoeaseyourprogrammingnothinderit.However,aswithanynewtool,youhavetogiveitsome5metobecomeadeptatitsuse.

–  Solongasyoumakesurethatyoucanshowmemovingandinterac,ngsprites,detailsofotherstuff(exactnumberofsprites,keyboardv/smouseinterac5on,etc.arenotimportantandwillnotaffectyourgrade).

–  Assignmentguidelinesaretomainlyprovideyouwithabareminimumofwhatisneeded.Youcantakeitasfarasyouwant(thatisthecrea5vitypartofthegrade).

–  Mainlydesignedtogetyoutoplayaroundwithyourtoolsbeforejumpingintoabiggameproject.

Page 10: CMPS 20 – Game Design Experience · • Start quick introduc5on to Javascript/HTML5/ CSS and development tools ... – Eloquent JavaScript Chapters Condi5onals, Loops, and Func5ons

Canvasquickreview

•  Bynowyoushouldalreadyknow– Canvas– Context– Basicdrawingandupda5ngSprites– BasicTextdisplay– Runningfunc5onsrepeatedly(setInterval)– MouseandKeyboardinterac5on– Debugging

Page 11: CMPS 20 – Game Design Experience · • Start quick introduc5on to Javascript/HTML5/ CSS and development tools ... – Eloquent JavaScript Chapters Condi5onals, Loops, and Func5ons

MovingSprites

Page 12: CMPS 20 – Game Design Experience · • Start quick introduc5on to Javascript/HTML5/ CSS and development tools ... – Eloquent JavaScript Chapters Condi5onals, Loops, and Func5ons

Transforma5ons

•  2DCoordinatesystems•  Localandglobal•  Transforma5ons

– Translate– Rotate– Scale– Shear– …