ebook img

CSc 165 Computer CSc 165 – Computer Game Architecture & Implementation PDF

12 Pages·2009·0.2 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview CSc 165 Computer CSc 165 – Computer Game Architecture & Implementation

CCSScc 116655 – CCoommppuutteerr Game Architecture & Implementation Dr. John Clevenger Computer Science Dept. CSUS CSc 165 Lecture Note Slides Course Introduction Contacting Me Office: Riverside Hall 5018 Phone: (916) 278-6087 Hours: Mon 10-11, Wed 2-3, Th 6-7, and by appointment Email: [email protected] Webpage: http://gaia.ecs.csus.edu/~clevengr John Clevenger 2 CSc Dept, CSUS CSc 165 Lecture Note Slides Course Introduction Prerequisites • CSc 133 (Obj-Orient. Comp. Graphics Prog.) … whhiichh iimplliies: o CSc 15 (Programming Methodology I) o CSc 20 (Programming Methodology II) o CSc 28 (Discrete Structures) o CSc 130 (Algorithms and Data Structures) o CSc 131 (Introduction to Software Engineering) • Math 30 (Calculus I) • Physics 11A (Mechanics) John Clevenger 3 CSc Dept, CSUS CSc 165 Lecture Note Slides Course Introduction Departmental Policies • Prereqquisite Verification  Submit Transcript from MySacState  Deadline: END OF WEEK TWO  Transfers & people with a “story”: see me… • RRepeatts  May not repeat a course more than once  Can petition to be allowed to do so (see me) John Clevenger 4 CSc Dept, CSUS CSc 165 Lecture Note Slides Course Introduction Texts and References • Required Texts:  OOppeennGGLL – AA PPrriimmeerr,, 33rd EEdd..,, EEddwwaarrdd AAnnggeell,, Addison-Wesley, ISBN 978-0-321-39811-6  CSc 165 Lecture Note Slides, John Clevenger • References:  Core Techniques & Algorithms in Game PPrrooggrraammmmiinngg, DDaanniieell DDaallmmaauu, NNeeww RRiiddeerrss Publishing, ISBN 0-1310-2009-9  Pro Java 6 3D Game Development, Andrew Davison, Apress, ISBN 978-1-59059-817-7  See also: separate bibliography John Clevenger 5 CSc Dept, CSUS CSc 165 Lecture Note Slides Course Introduction Grading • Weighted Curve based on: o Programming Assignments ~35% o Midterm Exam ~30% o Final Exam ~30% • Additional Criteria o Must achieve passing scores in each of two areas:  Programming Assignments  Exams (Midterm + Final combined) John Clevenger 6 CSc Dept, CSUS CSc 165 Lecture Note Slides Course Introduction Grading (cont.) • Programming Assignments o Probablyy 5-7 total duringg semester  Not necessarily equally-weighted o Some individual; some may be in teams o Some will be cumulative: Game Project o Requirements:  Java (1.5+)  OpenGL (to be covered)  Sufficiently powerful graphics hardware Can use University Lab or Personal machines –  but must be tested and run on lab machines o Late penalty: 4% per school day up to 75% o Must keep a backup (machine-readable) copy John Clevenger 7 CSc Dept, CSUS CSc 165 Lecture Note Slides Course Introduction Grading (cont.) • Exams o MMiiddtterm SSchheddulle wiillll bbe announcedd o Final Exam as scheduled by University o Study Guides will be provided o Make-up Exams  Huh? • GGame PPartty o During Finals Week; day & time TBA o Final Project Demonstration John Clevenger 8 CSc Dept, CSUS CSc 165 Lecture Note Slides Course Introduction Communication • Subscribe to “csc165” Mailman class discussion list • Mail me your name and email address • CChheecckk yyoouurr eemmaaiill rreegguullaarrllyy John Clevenger 9 CSc Dept, CSUS CSc 165 Lecture Note Slides Course Introduction Workload • “Freshman Counseling”: o 1 unit = 1 hr/wk in class + 2-3 hrs/wk outside, on average, University-wide o 3 units = 9-12 hrs/wk, on average, University-wide o 12 units = 36-48 hrs/wk, on average, University-wide • Not all classes are “average”! • This is a programming-intensive course John Clevenger 10 CSc Dept, CSUS CSc 165 Lecture Note Slides Course Introduction Ethics • Submitting work constitutes an agreement tthhatt tthhe workk iis sollelly your own • Students who do not do their own work will be: Automatically Failed o Referred to the Dean of Students o • Detailed Ethics policies given in syllabus and posted online (see my web page) John Clevenger 11 CSc Dept, CSUS CSc 165 Lecture Note Slides Course Introduction What’s It All About ? • “Design” vs. “Architecture”:  GGame DDesiign: whhatt a game llookks lliikke andd how it is played  Game Architecture: how a game is built • Note the difference from general software industryy terms:  “Design” usually refers to the software structure (architecture) • This class is primarily about game architecture John Clevenger 12 CSc Dept, CSUS CSc 165 Lecture Note Slides Course Introduction What’s It All About ? (cont.) • Major game architecture topics:  3D virtual world construction and display  3D modeling and animation  Screen management  Player interfaces  SSoouunndd aanndd mmuussiicc  Artificial Intelligence (AI) in games  Networking and massively-multiplayer games  Physics models in games John Clevenger 13 CSc Dept, CSUS CSc 165 Lecture Note Slides Course Introduction Examples From Past Semesters “Son Of Mario” Run “Racer” Run John Clevenger 14 CSc Dept, CSUS CSc 165 Lecture Note Slides Course Introduction Examples (cont.) “Robot Overlords” Run “Freeball” Run John Clevenger 15 CSc Dept, CSUS CSc 165 Lecture Note Slides Course Introduction Examples (cont.) “Night Shift” Run John Clevenger 16 CSc Dept, CSUS CSc 165 Lecture Note Slides Course Introduction Examples (cont.) “Starball” Run John Clevenger 17 CSc Dept, CSUS CSc 165 Lecture Note Slides Course Introduction Prerequisites By Topic • Programming Experience  AAllgoriitthhms andd DDatta SSttructtures  Linear Lists, Stacks, Queues, Binary Trees, Recursion  OOP principles  Abstraction, Encapsulation, Inheritance, Polymorphism  Design Patterns  Java Interface Types  Basic GUI Creation  Menus, Buttons, Frames, Panels, other “widgets”  Event-Driven Programming  Interactive Operations  Mouse, Keyboard, and Timer Event Handling  Screen-based animation and repaint()operations John Clevenger 18 CSc Dept, CSUS CSc 165 Lecture Note Slides Course Introduction Prerequisites By Topic (cont.) • Linear Algebra  Matrix Concepts and Operations  MMaattrriixx aaddddiittiioonn && mmuullttiipplliiccaattiioonn bbyy ssccaallaarrss aanndd vveeccttoorrss Row-major vs. column-major representation; multiplication  “from the left” vs. “from the right”  Multiplication by another matrix; associativity (yes) and commutativity (no)  Transpose & Inverse  Vector Concepts and Operations  Definition of a vector; rep. as the difference of two points  Equivalency after translation  CCoommppuuttiinngg MMaaggnniittuuddee ((lleennggtthh))  Multiplication by a scalar value Effect of multiplying by a fractional and/or negative value   Definition and computation of Unit vectors  Vector Addition  Definition and Computation of the Dot Product  See CSc 133 Web Page “Handouts” Section documents John Clevenger 19 CSc Dept, CSUS CSc 165 Lecture Note Slides Course Introduction Prerequisites By Topic (cont.) • GRAPHICAL OPERATIONS  Homogeneous representation of 2D point (x,y) as [ x y 1 ]  CCoonnvveerrssiioonn ooff aa hhoommooggeenneeoouuss ppooiinntt [[ xx yy ww]], wwhheerree ww ≠≠ 00, ttoo aa real point [ x y 1 ] (“division by w”)  Matrix Representation for (2D) Translation, Scaling, and Rotation o Row vs. Column Forms  Application of Transformation Matrices to Homogeneous Points  Concatenation of Transformations o Combining multiple transformations into one oo UUssee ooff ttrraannssllaattiioonn pplluuss rroottaattiioonn aabboouutt tthhee oorriiggiinn ttoo aaccccoommpplliisshh arbitrary rotation  Coordinate Systems o Local, world, device  World Windows vs. Viewports, VTM  See CSc 133 Lecture Notes –“Transformations” & “Viewing” John Clevenger 20 CSc Dept, CSUS

Description:
Pro Java 6 3D Game Development, Andrew. Davison, Apress, ISBN 978-1-59059-817-7. ▫ See also: separate bibliography. CSc 165 Lecture Note
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.