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
- 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