Mobile Game Development IGME-590

Course Topics and Learning Outcomes

  1. Course Learning Outcomes
  2. Course Topics

Course Outline by Topic

  • Software Design Patterns
    • Interface v. Implementation
    • Target-Action
    • MVC
    • Notifications
    • Delegation and Protocols (Dynamic Dispatch)
    • Inheritance
    • Composition
    • Separation of Concern
    • Singleton
    • Categories
    • Message Sending - receiver/message/arguments
    • Call-by-prefix
    • Key-Value Coding
    • @property - @synthesize
    • Second Chance Dispatch Mechanism
    • Higher Order Messaging
  • Mobile App Design
    • Design Process
    • Application Definition Statement
    • Game Controls
      • Virtual Joysticks (Wreck-it Ralph)
      • Virtual Trackpad (touch and drag)
      • Buttons
      • Tap
      • Touch and Hold
      • Pinch, Rotate, Slide
      • Accelerometer
  • C Language Features and Concepts
    • Main Method
    • Variables, Scope, and Data Types
    • C arrays
    • C structs
    • Writing C Functions
    • Compiler Build Phases
    • Pre-processor
    • linking
    • Heap and Stack
    • Pointers
    • Passing By Reference v. By Value
    • Math Functions
    • stdlib.h
    • pre-defined macros: __FUNCTION__ , __FILE__
    • #include, #import, #pragma, #define
    • functions v. macros v. inline C functions
  • Objective-C Language Features and Concepts
    • Classes
    • Initializers
    • ivars
    • Properties
    • Methods
    • Delegates and Protocols
    • Categories
    • Class Continuations
    • C Blocks
  • Foundation Classes
    • NSString & NSMutableString
    • NSArray & NSMutableArray
    • NSDictionary & NSMutableDictionary
    • NSDate
    • Objective-C Literals
    • Objective-C 2.0 Enumeration
  • Cocoa Touch
    • Application Delegate - application lifecycle
    • UIView and its subclasses
  • Debugging
  • Testing - Unit Testing - SenTestKit Framework
  • Profiling with Instruments
    • Core Animation Tool
    • Leaks Tool
  • Written Assignments
    1. Game Analysis
    2. Project 1 Design Doc and Write up
    3. Project 2 Design Doc and Write up
  • Case Studies
    • CountR & Technobabble Generator
      Concepts explored:
      • Interface Builder
      • Target-Action
      • View Controllers
      • Writing Methods
      • Calling Methods on Foundation classes
    • Acey Ducey
      Concepts explored:
      • Custom Classes
      • Images
    • Pong
      Concepts explored:
      • Multi-touch done right
      • Basic Sound
    • Air Hockey
      Concepts explored:
      • Realistic motion, sound
      • CoreAudio Sound
    • Reversi
      Concepts explored:
      • MVC
      • UIKit Board Game
    • Sprite Shooter
      Concepts explored:
      • CoreGraphics API
      • On screen controls
    • Cocos2D Game Template
    • OpenGL Experience
      Concepts explored:
      • GLKit
      • Vertex and Fragment Shaders
  • Game Related iOS Frameworks (we will cover some, not all):
    • GameKit
    • CoreGraphics
    • GLKit
    • AVFoundation
    • OpenAL
    • Social
    • Twitter