iOS & tvOS Game Development

IGME-590

Topics and Outcomes

Course Outline by Topic

  • Course Pre-requisites
    • Be here! Every day we will cover something important, and attendance will be taken.
    • Engage! Make something portfolio quality you can show to an employer.
    • Be curious, not incurious.
    • Build a game for others, not just yourself.
    • Work independently. This is the first time this seminar has run, this seminar is not for the passive, waiting to sponge up everything they need to know, I'm putting quite a bit of the work "on you".
  • Tools
    • Xcode
      • Adding new targets and X-platform development
    • Playgrounds
    • Scene Editor
  • References and Resources
  • Debugging
    • Regular Breakpoints
    • Exception Breakpoints
    • Conditional Breakpoints
    • Step In/Step Over/Continue
    • Stack Trace
    • Profiling
    • Throwing Exceptions
  • Swift Language Features and Concepts
    • Immutability
    • Type Inference
    • Type Safety
    • upcasts and downcasts
    • Optionals
    • guard
    • Do/Try/Catch
    • Designated Initializers and Convenience Initializers
  • Introduction to SpriteKit
    • Nodes
    • SKNode/SKSpriteNode
    • SKLabelNode/SKEmitterNode
    • Movement
      • Actions
      • Update
      • Physics
    • Game Control
      • Touches
      • Gestures
      • Accelerometer
      • MFI Hardware Controllers
      • Keyboard & Mouse
    • Game Architecture
      • Game Scenes
      • Layers
      • Subclassing
      • Composition
    • SKLightNode
      • Normal Maps
      • Bump Maps
      • Height Maps
      • Lighting and Shadows
  • More SpriteKit
    • SKTransition
    • GameplayKit
      • Randomization
      • Entity/Component System
      • State Machines
      • GKMinmaxStrategist class
      • Pathfinding
      • Agents, Goals, Behaviors
      • Rule Systems
  • Introduction to SceneKit
    • SCNView
    • SCNScene
    • SCNCamera
    • SCNFloor,SCNPlane,SCNCylinder,SCNSphere, ...
    • Lighting
    • Animation
    • Game Loop
  • Software Design Patterns
    • Target-Action
    • MVC
    • Notifications
    • Delegation and Protocols (Dynamic Dispatch)
    • Inheritance
    • Composition
    • Separation of Concern
    • Singleton
    • MVP
  • Game Design Process
    • Prototyping
    • Application Definition Statement
  • Foundation Classes
    • NSString & NSMutableString
    • NSArray & NSMutableArray
    • NSDictionary & NSMutableDictionary
    • NSData
    • NSDate
  • Cocoa Touch
    • Application Delegate - application lifecycle
  • Other iOS Frameworks
  • Other
    • Pausing
    • Saving State in NSUserDefaults
  • Profiling with Instruments
    • Core Animation Tool
    • Leaks Tool
  • Case Studies