CMPM 120 – Game Development Experience Winter 2016 Computational Cinematics Studio // Center for Games and Playable Media http://games.soe.ucsc.edu/ccs // http://games.soe.ucsc.edu Arnav Jhala TA: April Grow and Joe Osborne Graders: Kevin Vylet Staff • Professor:ArnavJhala([email protected]) – OfficeHours:Tuesdaysbyappointment(cansign uponline–!nyurl.com/talktoarnav) • TeachingAssistants:April Grow([email protected])andJoeOsborne ([email protected]) • Readers/Tutors:KevinVylet Resources • Website – hHps://piazza.com/ucsc/spring2016/cmpm120/ home – Discussionforum: • Piazza(piazza.com) – SubmissionsandGrading: • Classassignmentsandgrades – eCommons(ecommons.ucsc.edu) CourseObjecQves • Learnbasicprinciplesofgameprogrammingusingasetoflibraries – – – – Maingameloop,displayof2Dspritesand3Dobjects Contentpipeline,ArtIntegraQon CollisiondetecQon,scrollinggameworlds,UIdevelopment,andStorage. Audio • LearnhowtechnologyandcollaboraQonaffectsgamedesign – Mechanics,distribuQonplaZorms,workdistribuQoninteamprojects • Learnbasicprinciplesofobject-orienteddesign – Subdividingaprojectintoclasses – So]waredesignpaHerns • DevelopincreasedproficiencyinprogrammingonwebplaZorms – Javascript,codingfocusedassignments • Learntechniquesforworkingasateam – Quarter-longgameprojectdevelopedin4personteam Overview Designfundamentals,GameAppreciaQon, GameStudies,History. Programming,Language,Data Structures,DevEnvironments, Debugging,. Mostlynarrow,playedforfun,as consumer Computational Cinematics Studio Teamwork,ideaQonthrough deployment,finishingproject. Engines,advancedrendering, efficiency,newinterfaces Broad,playedforfunandforstudy, asdesigner,producer,developer http://games.soe.ucsc.edu/ccs Grades • ProgrammingAssignments: – Assignment1:basicspriterenderingandfamiliaritywithdevelopment tools–10% – Assignment2:animaQon,interacQon(advanceddevelopmenttools– AptanaStudio,debugging,deployment,versioningsystem)–15% – Assignment3:parQclesystembasedgame:25% – Assignment4:Qleengine;basicphysics:25% – Assignment5:advancedphysics;userinterface;menusystem25% Schedule • DueDates: – – – – – Assignment1:Week2Fridayat5PM Assignment2:Week4Fridayat5PM Assignment3:Week6Fridayat5PM Assignment4:Week7Fridayat5PM Assignment5:Week8Fridayat5PM ReadingMaterial • Textbooks(Norequiredbooks) – ListwillbeprovidedintheResourcessecQonof thewebsite – EloquentJavascript(onlineinterac8vebook) – Libraryhasaccesstogoodebooks • ReferenceMaterials – ArQclesthatareuploadedonclasswebsite – Linkstodevelopmentforums,tutorials,etc. – CollaboraQvelearning:pleaseshareinteresQng thingsyoufindonthePiazzaforum Project Yourgamedesignforthisclassmustbebased onthefollowingtheme. – Ifitdoesn’tthenwewillaskyoutoresubmityour designdocumentwithmodificaQons. • Themes – Basedonanews-makingevent PersuasiveGameExamples BiographyGameExample ClimateSystems Threeaspectsofthisclass Design Mechanics Dynamics AestheQcs TargetTheme Development PlaZorms Algorithms ArtIntegraQon CollaboraQon User Experience Polishedproduct RigoroustesQng AudienceExperience PorZolioBuilding Design • • • • • MDAFramework Brainstorming WriQngadesigndocument UnderstandingtechnologylimitaQons Designunderconstraints Source:WIREDmag Game Development • Programming • So]wareDevelopment • GameDevelopment Computational Cinematics Studio http://games.soe.ucsc.edu/ccs UserExperience Thisweek:Yourtasks • Startformingteams(usePiazza) • Playgamesthatareshowninclassandlook forothergamesbasedonclassthemes(also postgamesyoufindonPiazza) • ReadfollowingarQcles – [R1]MDAFrameworkarQcle – [R2]Howtowriteadesigndocument – [R3]WIREDmagazinearQcleonDesignunder Constraints • StartbrushingupJavaScriptandplayaround withHTML5/CSSinJSFiddle GameProgramming XNAGameStudioArchitecture Authoringenvironments,LevelEditors,UIFrameworks,etc. Gamecode&content Coreenginelibraries Virtualmachines,CommonLanguageRunQme(CLR) OperaQngSystemAPIs,DirectX,OpenGL Youprovide Providedforyou VarietyofTools • • • • • • • • • • NaQve(C,C++) OpenGL,DirectX OpenSceneGraph,Blender Unreal,Source,Unity3D C#/XNA AcQonScript Processing/Java HTML5/CSS/WebGL/JavaScript Gamemaker,Gamesalad Alice,Touchstudio,Scratch History • • • • • • Browserwars Layoutengines Client-sidescripQng UsagepaHerns StandardizaQon NaQvesupport BasicGameLoop BaseGameClass #IniQalize() #Run() #Tick() Update(gameTime); Draw(gameTime); myGame -graphics:GraphicsContext -content:ContentManager +myGame() #IniQalize() #LoadContent(loadAllContent:bool) #UnloadContent(unloadAllContent:bool) #Update(gameTime:GameTime) #Draw(gameTime:GameTime) graphics = new GraphicsDeviceManager(this); Content.RootDirectory = “Content”; base.Initialize() Example • • • • • Programmingworkflow Basiclanguageconstructs Drawing Updates InteracQon • SnakeonCodePlayer Upcomingclassesandassignments • Discussdesign • StartquickintroducQontoJavascript/HTML5/CSS anddevelopmenttools • Labsnextweek – FacetheNamegame • Individualassignment – Developmentenvironmentsetupanddrawingsprites – Alchemygame – hHp://liHlealchemy.com • Teamassignment – TeamformaQondocument Beforewejumpin…
© Copyright 2026 Paperzz