GameplayKit is an independent Apple framework that game developers may use to help them create better games, with less effort. In this session, the focus and emphasis will be placed on using GameplayKit to add artificial intelligence (AI) to your games.
raywenderlich.com is a website focused on developing high quality programming tutorials. Our goal is to take the coolest and most challenging topics and make them easy for everyone to learn – so we can all make amazing apps.
We are also focused on developing a strong community. Our goal is to help each other reach our dreams through friendship and cooperation. As you can see below, a bunch of us have joined forces to make this happen: authors, editors, subject matter experts, app reviewers, and most importantly our amazing readers!
From Apple GameplayKit Guide:
GameplayKit is a collection of foundational tools and technologies for building games in iOS, OS X, and tvOS. Building, evolving, and maintaining a sophisticated game requires a well-planned design—GameplayKit provides architectural tools to help you design modular, scalable game architecture with minimal effort. Creating great games also requires deploying complex algorithms to solve the problems underlying common game mechanics—GameplayKit also provides standard implementations of such algorithms, allowing you to spend more time on the features that make your gameplay unique.
Because GameplayKit is independent of high-level game engine technologies, you can combine it with any of those technologies to build a complete game: SpriteKit for 2D games, SceneKit for 3D games, or a custom or third-party game engine using Metal or OpenGL ES. For games with less demanding graphics needs, you can even use GameplayKit with UIKit (in iOS or tvOS) or AppKit (in OS X).
GameplayKit provides seven core areas of functionality, which you can combine or use independently to create your game:
Randomization. Use these robust, flexible implementations of standard algorithms as the building blocks for many kinds of game mechanics.
Entities and Components. Design more reusable gameplay code by building on this architecture.
State Machines. Use this architecture to untangle complex procedural code in your gameplay designs.
The Minmax Strategist. Create a model for your turn-based game and AI player objects that use the model to plan optimal moves.
Pathfinding. Describe a game world as a graph, allowing GameplayKit to plan optimal routes for game characters to follow.
Agents, Goals, and Behaviors. Use this simulation to let game characters move themselves based on high-level goals and react to their surroundings.
Rule Systems. Separate game design from executable code to speed up your gameplay development cycle, or implement fuzzy logic reasoning to add realistic behavior to your game.