CS 257: iOS Game Programming I

Citrus College Course Outline of Record

Citrus College Course Outline of Record
Heading Value
Effective Term: Fall 2021
Credits: 3
Total Contact Hours: 54
Lecture Hours : 54
Lab Hours: 0
Hours Arranged: 0
Outside of Class Hours: 108
Prerequisite: CS 157.
Transferable to CSU: Yes
Transferable to UC: Yes - Approved
Grading Method: Standard Letter

Catalog Course Description

This course deals with 2D game programming for the iOS platform. Students are expected to have Xcode and Swift programming experience. 54 lecture hours.

Course Objectives

  • Create objected oriented programs using the Swift programming language by implementing sound programming principles to create simple 2D games.
  • Understand game logic such as create a deck (i.e., platform), keeping score, displaying the score, creating start and game over state machines, and finally how to add an overlay.
  • Understand the usage of sprite animation tools such as SKNode, SKSpriteNode and SKActions in the Swift programming language. These tools are used to design the game physics used in the launching of projectiles or creating a side scrolling game.
  • Understand and implement simple collision detection and correction algorithms that will translate into Swift code. This skill will be used to create an appropriate reaction of two video game objects such as repulsion or attraction given the parameters determined by the user.
  • Understand how to use story boards and segues to display multiple screens based on the game play traversing from one layer to the next. This objective also includes the understanding of how to pass data between view controllers.
  • Understand how to save game state data on the iOS device via the usage of NSUserDefaults. This will allow the user to save crucial settings and parameters when the user receives a phone call on their iPhone, or turns off the device accidentally, or when the device shuts down because the battery has drained.

Major Course Content

  1. Sprites
  2. Manual movement
  3. Translation across the x-y plane
  4. Scenes
  5. Camera
  6. Labels
  7. Beginning tvOS
  8. Scene Editor
  9. Beginning physics
  10. Crop, video and shape nodes
  11. State machines
  12. Pathfinding
  13. Randomization

Suggested Reading Other Than Required Textbook

The student will visit several programming online websites in order to analyze documentation about object oriented programming languages.

Examples of Required Writing Assignments

The student will create an iOS xCode program that uses UITables allowing the user to select, enter and edit data. This data must be stored in an NSUserDefault for storage and later retrieval.

Examples of Outside Assignments

Students will be required to complete the following types of assignments outside of the regular class time:
- Create a side scrolling sprite
- Create an app using pan, pinch and double tap gestures
- Create an iOS app that moves a sprite across the screen using the Swift programming language.

Instruction Type(s)

Lecture, Online Education Lecture