SRJC Course Outlines

12/1/2020 4:03:56 PMCS 42 Course Outline as of Fall 2020

Changed Course
CATALOG INFORMATION

Discipline and Nbr:  CS 42Title:  INTRO TO GAME CODING  
Full Title:  Introduction to Game Coding
Last Reviewed:11/26/2018

UnitsCourse Hours per Week Nbr of WeeksCourse Hours Total
Maximum4.00Lecture Scheduled4.0017.5 max.Lecture Scheduled70.00
Minimum4.00Lab Scheduled08 min.Lab Scheduled0
 Contact DHR0 Contact DHR0
 Contact Total4.00 Contact Total70.00
 
 Non-contact DHR0 Non-contact DHR Total0

 Total Out of Class Hours:  140.00Total Student Learning Hours: 210.00 

Title 5 Category:  AA Degree Applicable
Grading:  Grade or P/NP
Repeatability:  00 - Two Repeats if Grade was D, F, NC, or NP
Also Listed As: 
Formerly:  CS 74.42

Catalog Description:
Untitled document
This course introduces students to the design, development, and coding of simple graphical computer-based games. During the course, students will be introduced to various game engines and development environments. Students will gain experience working individually and in a team environment. Emphasis is placed on engaging players through compelling application of game mechanics, dynamics, and aesthetics, as well as on playtesting and iterative development to ensure user-centered design goals are met.

Prerequisites/Corequisites:


Recommended Preparation:
Course completion of CS 110A and/or programming experience

Limits on Enrollment:

Schedule of Classes Information
Description: Untitled document
This course introduces students to the design, development, and coding of simple graphical computer-based games. During the course, students will be introduced to various game engines and development environments. Students will gain experience working individually and in a team environment. Emphasis is placed on engaging players through compelling application of game mechanics, dynamics, and aesthetics, as well as on playtesting and iterative development to ensure user-centered design goals are met.
(Grade or P/NP)

Prerequisites:
Recommended:Course completion of CS 110A and/or programming experience
Limits on Enrollment:
Transfer Credit:CSU;UC.
Repeatability:00 - Two Repeats if Grade was D, F, NC, or NP

ARTICULATION, MAJOR, and CERTIFICATION INFORMATION

Associate Degree:Effective:Inactive:
 Area:
 
CSU GE:Transfer Area Effective:Inactive:
 
IGETC:Transfer Area Effective:Inactive:
 
CSU Transfer:TransferableEffective:Spring 2011Inactive:
 
UC Transfer:TransferableEffective:Fall 2020Inactive:
 
C-ID:

Certificate/Major Applicable: Both Certificate and Major Applicable



COURSE CONTENT

Student Learning Outcomes:
Upon completion of the course, students will be able to:
Untitled document
1.  Understand and apply systems-level thinking and game development methodology best
    practices to the design and development of simple graphical computer-based games.
2.  Develop team-based game creation skills that cover game logic sequencing; storyboarding;
    artistic and technical coordination; and understanding of technical requirements and
    limitations.

Objectives: Untitled document
Upon completion of the course, students will be able to:
1. Explain factors that motivate game players and apply those to the design of games that satisfy
    the needs of players. This includes the design of a logical sequence of game rules, play flow,
    and interaction opportunities.
2. Develop game coding skills to implement simple versions of games they design. Desired
    functions include: graphical, interactive user interface; sprite creation, collision detection,
    applied simulation of physical forces; classes, object instantiation; and modular
    implementation.
3. Determine that games are of measurable high quality and error-free through playtesting,
    iterative development, and an adherence to best practices in quality assurance, including a
    proper and documented testing process.
4. Work independently and in teams using an iterative process to prepare and create Game
    Design Documents, storyboards, game assets and scripting to create game simulations.
5. Utilize the concepts of game mechanics, dynamics, and aesthetics to discuss game play of
    games of different genres on varied platforms.

Topics and Scope
Untitled document
I. Game Development Fundamentals
    A. Introduction to systems thinking
         1. Flow control and diagramming
         2. Visual scripting systems
    B. Introduction to scripting
         1. Variables and data types
         2. Expressions and operators
         3. Control structures
         4. Functions
         5. Objects and classes
         6. Events and triggers
    C. Mathematics and physics fundamentals
         1. Cartesian coordinate systems
         2. World space, object space, camera space
         3. Vectors, forces and physics simulations
    D. Development methodologies
         1. Unified and agile processes
          2. Iterative design
         3. Human-centered design
         4. Design patterns
         5. Project management and quality assurance
II. Considerations of Game Creation
     A. Types of games
    B. Game mechanics, dynamics, and aesthetics
         1. Mechanics of gameplay
         2. Dynamics of gameplay
         3. Aesthetics of gameplay
    C. Motivational and emotional aspects of playing games
    D. Generic game design rules
    E. Technologies, platforms, tools
    F. Game development frameworks and engines
III. Game Development Process
    A. Setting goals for the game
    B. Developing a storyboard and designing gameplay
    C. Drafting a Game Design Document (GDD)
    D. Iterative prototyping
    E. Stakeholder feedback loop and playtesting
    F. Features, functions, and program components
         1. Game loop
         2. Assets
         3. User input
         4. Sprites and collisions
         5. Audio representation
    G. Game rules
    H. Navigation and wayfinding
    I. Graphical user interfaces
IV. Supporting Disciplines
    A. Game playtesting and validation
         1. Quality assurance testing plan
         2. Bug tracking and resolution
    B. Working as a team
    C. Productization and packaging
    D. Art work

Assignments:
Untitled document
1. Read approximately 25-30 pages a week
2. Prepare 1-2 written Game Design Document(s) (GDD) that closely mirror the documentation
    process used in the field. (3-7 pages each)
3. Regular group discussion contributions (0 - 12) such as:
    A. Play logic and navigation design
    B. Storyboarding, player motivation
    C. Theories of game development
    D. Design and implementation of game logic (rules and programmatic navigation)
    E. Use of design patterns
    F. Graphical user interface design
    G. Implementation technologies and validation
4. Game creation and scripting assignments that solve particular technical challenges (6 - 12)
5. Midterm and final examinations that evaluate critical thinking skills such as:
    A. Game requirements analysis and validation
    B. Game storyboard design and implementation
    C. Software games, techniques, and technologies
    D. Tools and techniques used in the software industry
6. A final class project that includes topics such as:
    A. Selection of a viable, realistic project
    B. Interviews with players and project stakeholders to collect requirements and risks
    C. Creation of a comprehensive software-based game
    D. Summary of playtesting findings and suggested improvements for future versions

Methods of Evaluation/Basis of Grade.
Writing: Assessment tools that demonstrate writing skill and/or require students to select, organize and explain ideas in writing.Writing
10 - 30%
Game design document(s)
Problem solving: Assessment tools, other than exams, that demonstrate competence in computational or non-computational problem solving skills.Problem Solving
20 - 40%
Game creation and scripting assignments
Skill Demonstrations: All skill-based and physical demonstrations used for assessment purposes including skill performance exams.Skill Demonstrations
30 - 60%
Final project
Exams: All forms of formal testing, other than skill performance exams.Exams
10 - 30%
Midterm and final exams
Other: Includes any assessment tools that do not logically fit into the above categories.Other Category
0 - 10%
Attendance and participation, discussion contributions


Representative Textbooks and Materials:
Untitled document
An Introduction to HTML5 Game Development with Phaser.js. Faas, Travis. CRC Press. 2017
 
Blueprints Visual Scripting for Unreal Engine. Sewell, Brenden. Packt Publishing. 2015
 
Unity in Action: Multiplatform Game Development. Hocking, Joe. Manning Publications. 2015
 
Introduction to Game Design, Prototyping, and Development. Bond, Jeremy Gibson. Addison-Wesley Professional. 2014 (classic)
 
Invent Your Own Computer Games with Python. 4th ed. Sweigart, Al. No Starch Press. 2016

Print PDF