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 (property generation)
  • 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
    • Hardware Game Controllers
  • 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
    • ...