Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Swift 3 Game Development
Swift 3 Game Development

Swift 3 Game Development: Build iOS 10 Games with Swift 3.0 , Second Edition

eBook
€17.99 €26.99
Paperback
€32.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

Swift 3 Game Development

Chapter 1.  Designing Games with Swift

Apple's newest version of its flagship programming language, Swift 3, is the perfect choice for game developers. As it matures, Swift is realizing its opportunity to be something special, a revolutionary tool for app creators. Swift is the gateway for developers to create the next big game in the Apple ecosystem. We have only started to explore the wonderful potential of mobile gaming and Swift is the modernization we need for our toolset. Swift is fast, safe, current, and attractive to developers coming from other languages. Whether you are new to the Apple world, or a seasoned veteran of Objective-C, I think you will enjoy making games with Swift.

Apple's website states the following:

"Swift is a successor to the C and Objective-C languages."

My goal in this book is to guide you step-by-step through the creation of a 2D game for iPhones and iPads. We will start with installing the necessary software, working through each layer of game development, ultimately publishing our new game to the App Store.

We will also have some fun along the way! We aim to create an endless flyer game featuring a magnificent flying penguin named Pierre. What is an endless flyer? Picture hit games like iCopter, Flappy Bird, Whale Trail, Jetpack Joyride, and many more-the list is quite long.

Endless flyer games are popular on the App Store and the genre necessitates that we cover many reusable components of 2D game design. I will show you how to modify our mechanics to create many different game styles. My hope is that our demo project will serve as a template for your own creative works. Before you know it, you will be publishing your own game ideas using the techniques we explore together.

In this chapter, we will cover the following topics:

  • Why you will love Swift
  • What you will learn in this book
  • New in Swift 3
  • Setting up your development environment
  • Creating your first Swift game

Why you will love Swift

Swift, as a modern programming language, benefits from the collective experience of the programming community; it combines the best parts of other languages and avoids poor design decisions. Here are a few of my favorite Swift features:

  • Beautiful syntax: Swift's syntax is modern and approachable, regardless of your existing programming experience. Apple have balanced syntax with structure to make Swift concise and readable.
  • Interoperability: Swift can plug directly into your existing projects and run side by side with your Objective-C code.
  • Strong typing: Swift is a strongly typed language. This means the compiler will catch more bugs at compile time, instead of when your users are playing your game! The compiler will expect your variables to be of a certain type (int, string, and so on) and will throw a compile-time error if you try to assign a value of a different type. While this may seem rigid if you are coming from a weakly typed language, the added structure results in safer, more reliable code.
  • Smart type inference: To make things easier, type inference will automatically detect the types of your variables and constants based upon their initial value. You do not need to explicitly declare a type for your variables. Swift is smart enough to infer variable types in most expressions.
  • Automatic memory management: As the Apple Swift developer guide states, "memory management just works in Swift". Swift uses a method called Automatic Reference Counting (ARC) to manage your game's memory usage. Besides a few edge cases, you can rely on Swift to safely clean up and turn off the lights.
  • An even playing field: One of my favorite things about Swift is how quickly the language is gaining mainstream adoption. We are all learning and growing together and there is a tremendous opportunity to break new ground.
  • Open source: From version 2.2 onwards, Apple made Swift open source, curating it through the website www.swift.org, and launched a package manager with Swift 3. This is a welcome change, as it fosters greater community involvement and a larger ecosystem of third-party tools and add-ons. Eventually, we should see Swift migrate to new platforms.

Prerequisites

I will try to make this text easy to understand for all skill levels:

  • I will assume you are brand new to Swift as a language
  • This book requires no prior game development experience, though it will help
  • I will assume you have a fundamental understanding of common programming concepts

What you will learn in this book

By the end of this book, you will be capable of creating and publishing your own iOS games. You will know how to combine the techniques we learned to create your own style of game and you will be well prepared to dive into more advanced topics with a solid foundation in 2D game design.

Embracing SpriteKit

SpriteKit is Apple's 2D game development framework and your main tool for iOS game design. SpriteKit will handle the mechanics of our graphics rendering, physics, and sound playback. As far as game development frameworks go, SpriteKit is a terrific choice. It is built and supported by Apple and thus integrates perfectly with Xcode and iOS. You will learn to be highly proficient with SpriteKit as we will be using it exclusively in our demo game.

We will learn to use SpriteKit to power the mechanics of our game in the following ways:

  • Animating our player, enemies, and power-ups
  • Painting and moving side-scrolling environments
  • Playing sounds and music
  • Applying physics such as gravity and impulses for movement
  • Handling collisions between game objects

Reacting to player input

The control schemes in mobile games must be inventive. Mobile hardware forces us to simulate traditional controller inputs, such as directional pads and multiple buttons, on the screen. This takes up valuable visible area and provides less precision and feedback than with physical devices. Many games operate with only a single input method: a single tap anywhere on the screen. We will learn how to make the best of mobile input and explore new forms of control by sensing device motion and tilt.

Structuring your game code

It is important to write well-structured code that is easy to re-use and modify as your game design inevitably changes. You will often find mechanical improvements as you develop and test your games and you will thank yourself for a clean working environment. Though there are many ways to approach this topic, we will explore some best practices to build an organized system with classes, protocols, inheritance, and composition.

Building UI/menus/levels

We will learn to switch between scenes in our game with a menu screen. We will cover the basics of user experience design and menu layout as we build our demo game.

Integrating with Game Center

Game Center is Apple's built-in social gaming network. Your game can tie into Game Center to store and share high scores and achievements. We will learn how to register for Game Center, tie it into our code, and create a fun achievement system.

Maximizing fun

If you are like me, you will have dozens of ideas for games floating around your head. Ideas come easily, but designing fun gameplay is difficult! It is common to find that your ideas need gameplay enhancements once you see your design in action. We will look at how to avoid dead-ends and see your project through to the finish line. Plus, I will share my tips and tricks to ensure your game will bring joy to your players.

Crossing the finish line

Creating a game is an experience you will treasure. Sharing your hard work will only sweeten the satisfaction. Once our game is polished and ready for public consumption, we will navigate the App Store submission process together. You will end up feeling confident in your ability to create games with Swift and bring them to market in the App Store.

Monetizing your work

Game development is a fun and rewarding process, even without compensation, but the potential exists to start a career, or side job, selling games on the App Store. Successfully promoting and marketing your game is an important task. I will outline your options and start you down the path to monetization.

New in Swift 3

The biggest feature in Swift 3 is syntax compatibility and stability. Apple is trying to refine its young, shifting language into its final foundational shape. Each successive update of Swift has introduced breaking syntax changes that made older code incompatible with the newest version of Swift; this is very inconvenient for developers. Going forward, Swift 3 aims to reach maturity and maintain source compatibility with future releases of the language. Swift 3 also features the following:

  • A package manager that will help grow the ecosystem
  • A more consistent, readable API and API guidelines that often result in less code for the same result
  • Improved tooling and bug fixes in the IDE, Xcode
  • Many small syntax improvements in consistency and clarity

Swift has already made tremendous steps forward as a powerful, young language. Now Apple is working on polishing Swift into a mature, production-ready tool. The overall developer experience improves with Swift 3.

Setting up your development environment

Learning a new development environment can be a roadblock. Luckily, Apple provides some excellent tools for iOS developers. We will start our journey by installing Xcode.

Introducing and installing Xcode

Xcode is Apple's Integrated Development Environment (IDE). You will need Xcode to create your game projects, write and debug your code, and build your project for the App Store. Xcode also comes bundled with an iOS simulator to test your game on virtualized iPhones and iPads on your computer.

Apple praises Xcode as "an incredibly productive environment for building amazing apps for Mac, iPhone, and iPad" .

To install Xcode, search for Xcode in the AppStore, or visit http://developer.apple.com and select Developer and then Xcode.

Note

Swift is continually evolving and each new Xcode release brings changes to Swift. If you run into errors because Swift has changed, you can always use Xcode's built-in syntax update tool. Simply use Xcode's Edit | Convert to Latest Syntax option to update your code.

Xcode performs common IDE features to help you write better, faster code. If you have used IDEs in the past, then you are probably familiar with autocompletion, live error highlighting, running and debugging a project, and using a project manager pane to create and organize your files. However, any new program can seem overwhelming at first. We will walk through some common interface functions over the next few pages. I have also found tutorial videos on YouTube to be particularly helpful if you are stuck. Most common search queries result in helpful videos.

Creating our first Swift game

Do you have Xcode installed? Let's see some game code in action in the simulator!

We will start by creating a new project in Xcode. For our demo game, we will create a side-scrolling endless flyer featuring an astonishing flying penguin named Pierre. I am going to name this project Pierre Penguin Escapes the Antarctic, but feel free to name your project whatever you like. Follow these steps to create a new project in Xcode:

  1. Launch Xcode and navigate to File | New | Project.
  2. You will see a screen asking you to select a template for your new project. Select iOS | Application in the left pane, and Game in the right pane. It should look like this:

    Creating our first Swift game

  3. Once you have selected Game, click Next. The following screen asks us to enter some basic information about our project. Don't worry; we are almost at the fun bit. Fill in the Product Name field with the name of your game.
  4. Let's fill in the Team field. Do you have an active Apple developer account? If not, you can skip over the Team field for now. If you do, your Team is your developer account. Click Add Team and Xcode will open the accounts screen where you can log in. Enter your developer credentials, as shown in the following screenshot:

    Creating our first Swift game

  5. Once you're authenticated, you can close the accounts screen. Your developer account should appear in the Team dropdown.
  6. You will want to pick a meaningful Organization Name and Organization Identifier when you create your own games for publication. Your Organization Name is the name of your game development studio. For me, that is Joyful Games. By convention, your Organization Identifier should follow a reverse domain name style. I will use io.JoyfulGames since my website is JoyfulGames.io.
  7. After you filled out the name fields, be sure to select Swift for the Language, SpriteKit for Game Technology, and Universal for Devices.
  8. For now, uncheck Integrate GameplayKit, uncheck Include Unit Tests, and uncheck Include UI Tests. We will not use these features in our demo game. Here are my final project settings:

    Creating our first Swift game

  9. Click Next and you will see the final dialog box. Save your new project. Pick a location on your computer and click Next. And we are in! Xcode has pre-populated our project with a basic SpriteKit template.

Navigating our project

Now that we have created our project, you will see the project navigator on the left-hand side of Xcode. You will use the project navigator to add, remove, and rename files and generally organize your project. You might notice that Xcode has created quite a few files in our new project. We will take it slow; don't feel that you have to know what each file does yet, but feel free to explore them if you are curious:

Navigating our project

Exploring the SpriteKit demo

Use the project navigator to open up the file named GameScene.swift. Xcode created GameScene.swift to store the default scene of our new game.

What is a scene? SpriteKit uses the concept of scenes to encapsulate each unique area of a game. Think of the scenes in a movie; we will create a scene for the main menu, a scene for the Game Over screen, a scene for each level in our game, and so on. If you are on the main menu of a game and you tap Play, you move from the menu scene to the Level 1 scene.

Tip

SpriteKit prepends its class names with the letters "SK"; consequently, the scene class is SKScene.

You will see there is already some code in this scene. The SpriteKit project template comes with a very small demo. Let's take a quick look at this demo code and use it to test the iOS simulator.

Note

Please do not be concerned with understanding the demo code at this point. Your focus should be on learning the development environment.

Look for the run toolbar at the top of the Xcode window. It should look something like the following:

Exploring the SpriteKit demo

Select the iOS device of your choice to simulate using the dropdown on the far right. Which iOS device should you simulate? You are free to use the device of your choice. I will be using an iPhone SE for the screenshots in this book, so choose iPhone SE if you want your results to match my images perfectly.

Note

Unfortunately, expect your game to play poorly in the simulator. SpriteKit suffers from poor FPS in the iOS simulator. Once our game becomes relatively complex, we will see our FPS drop, even on high-end computers. The simulator will get you through, but it is best if you can plug in a physical device to test.

It is time for our first glimpse of SpriteKit in action! Press the gray play arrow in the toolbar (handy keyboard shortcut: command + r). Xcode will build the project and launch the simulator. The simulator starts in a new window, so make sure you bring it to the front. You should see a gray background with white text: Hello, World. Click around on the gray background. You will see colorful, spinning boxes spawning wherever you click:

Exploring the SpriteKit demo

If you have made it this far, congratulations! You have successfully installed and configured everything you need to make your first Swift game.

Once you have finished playing with the spinning squares, you can close the simulator down and return to Xcode. Note: you can use the keyboard command command + q to exit the simulator or press the stop button inside Xcode. If you use the stop button, the simulator will remain open and launch your next build faster.

Examining the demo code

Let's quickly explore the demo code. Do not worry about understanding everything just yet; we will cover each element in depth later. At this point, I am hoping you will acclimatize to the development environment and pick up a few things along the way. If you are stuck, keep going! Things will actually get simpler in the next chapter, once we clear away the SpriteKit demo and start on our own game.

Make sure you have GameScene.swift open in Xcode.

The demo GameScene class implements some functions you will use in your games. Let's examine these functions. Feel free to read the code inside each function, but I do not expect you to understand the specific code just yet.

  • The game invokes the didMove function whenever it switches to the GameScene. You can think of it a bit like an initialize, or main, function for the scene. The SpriteKit demo uses it to draw the Hello, World text to the screen and set up the spinning square shape that shows up when we tap.
  • There are seven functions involving touch which handle the user's touch input to the iOS device screen. The SpriteKit demo uses these functions to spawn the spinning square wherever we touch the screen. Do not worry about understanding these functions at this time.
  • The update function runs once for every frame drawn to the screen. The SpriteKit demo does not use this function, but we may have reason to implement it later.

Cleaning up

I hope that you have absorbed some Swift syntax and gained an overview of Swift and SpriteKit. It is time to make room for our own game; let's clear all of that demo code out! We want to keep a little bit of the boilerplate, but we can delete most of what is inside the functions. To be clear, I do not expect you to understand this code yet. This is simply a necessary step towards the start of our journey.

Firstly, we will remove the Hello, World text from the demo. Open the file GameScene.sks from the project navigator in Xcode. You will see a gray layout view with Hello, World written in the middle. Simply click anywhere on the Hello, World text and press your delete key to remove it. Make sure you save your file before moving on.

Secondly, please replace all of the code from your GameScene.swift with the following code:

import SpriteKit 
 
class GameScene: SKScene { 
    override func didMove(to view: SKView) { 
    } 
} 

Once your GameScene.swift looks like the preceding code, you are ready to move on to Chapter 2, Sprites, Camera, Actions! The real fun begins now!

Summary

You have already accomplished a lot. You have had your first experience with Swift, installed and configured your development environment, launched code successfully into the iOS simulator, and prepared your project for the first steps towards your own game. Great work!

We have seen enough of the "Hello World" demo; are you ready to draw your own graphics to the game screen? We will make use of sprites, textures, colors, and animation in Chapter 2, Sprites, Camera, Action!

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Create and design games for iPhone and iPad using SpriteKit and Swift 3.0
  • Learn the core fundamentals of SpriteKit game development and mix and match techniques to customize your game
  • This step-by-step practical guide will teach you to build games from scratch using little-known tips and strategies for maximum fun

Description

Swift is the perfect choice for game development. Developers are intrigued by Swift 3.0 and want to make use of new features to develop their best games yet. Packed with best practices and easy-to-use examples, this book leads you step by step through the development of your first Swift game. This book starts by introducing SpriteKit and Swift's new features that can be used for game development. After setting up your first Swift project, you will build your first custom class, learn how to draw and animate your game, and add physics simulations. Then, you will add the player character, NPCs, and powerups. To make your game more fun and engaging, you will learn how to set up scenes and backgrounds, build fun menus, and integrate with Apple Game Center to add leaderboards and achievements. You will then make your game stand out by adding animations when game objects collide, and incorporate proven techniques such as the advanced particle system and graphics. Finally, you will explore the various options available to start down the path towards monetization and publish your finished games to the App Store. By the end of this book, you will be able to create your own iOS games using Swift and SpriteKit.

Who is this book for?

If you wish to create and publish fun iOS games using Swift, then this book is for you. You should be familiar with basic programming concepts. However, no prior game development or Apple ecosystem experience is required.

What you will learn

  • Deliver powerful graphics, physics, and sound in your game by using SpriteKit
  • Set up the scene using the new capabilities of the scene editor and custom classes
  • Maximize gameplay with little-known tips and strategies for fun and repeatable action
  • Make use of animations, graphics, and particles to polish your game
  • Understand the current mobile monetization landscape to choose the best option for your own situation
  • Integrate your game with Game Center so that your players can share their high scores and achievements
  • Publish your game to the App Store and enjoy people playing your games

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Feb 07, 2017
Length: 258 pages
Edition : 2nd
Language : English
ISBN-13 : 9781787127753
Vendor :
Apple
Languages :
Tools :

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Feb 07, 2017
Length: 258 pages
Edition : 2nd
Language : English
ISBN-13 : 9781787127753
Vendor :
Apple
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 102.97
Swift 4 Programming Cookbook
€36.99
Swift 3 Object-Oriented Programming
€32.99
Swift 3 Game Development
€32.99
Total 102.97 Stars icon

Table of Contents

13 Chapters
1. Designing Games with Swift Chevron down icon Chevron up icon
2. Sprites, Camera, Action! Chevron down icon Chevron up icon
3. Mix in the Physics Chevron down icon Chevron up icon
4. Adding Controls Chevron down icon Chevron up icon
5. Spawning Enemies, Coins, and Power-ups Chevron down icon Chevron up icon
6. Generating a Never-Ending World Chevron down icon Chevron up icon
7. Implementing Collision Events Chevron down icon Chevron up icon
8. Polishing to a Shine - HUD, Parallax Backgrounds, Particles, and More Chevron down icon Chevron up icon
9. Adding Menus and Sounds Chevron down icon Chevron up icon
10. Standing Out in the Crowd with Advanced Features Chevron down icon Chevron up icon
11. Choosing a Monetization Strategy Chevron down icon Chevron up icon
12. Integrating with Game Center Chevron down icon Chevron up icon
13. Ship It! Preparing for the App Store and Publication Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.5
(6 Ratings)
5 star 50%
4 star 50%
3 star 0%
2 star 0%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




Alexander Key Mar 03, 2017
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I'm still not finished with the book, but after skimming through as a semi intermediate Swift programmer It's a great introduction into Spritekit and writing a basic game, it's tailored to beginners so don't feel discouraged if you're new to Swift, Stephen's approach is slow and makes sure to explain things thoroughly which is great.Looking forward to finishing and will update my review when I do so
Amazon Verified review Amazon
Jan Schee Apr 09, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
The book clearly guides reader step by step to develop a simple game o iOS.
Amazon Verified review Amazon
CrescendoLife Apr 20, 2017
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I highly recommend this book/author.My background going into this book:Very basic understanding of Xcode--able to set up project and work on sample code and playgrounds using free Apple Education books 1) Intro to App Development with Swift 2) The Swift Programming Language (Swift 3.1)Other somewhat limited previous experience setting up Cordova for iPhone app/programs in Xcode.The reason for giving background: knowing how to set up Xcode did not refer to the guidance in this book regarding setting up a programming environment.That said, this book was as close as I've seen in technical books to an "A" were it to receive a grade.1) The incorporating assets from online was a seamless experience.2) The code from the book was explained and/or written lucidly so as to permit understanding and be able to apply the concepts in personal projects with confidence.3) Also the instructions for adding code to the ongoing project were done in such a way that out of 100+/- code additions to be copy/pasted or typed I had to check against the repo twice which was easily done.4) The code just worked with no tinkering--which translates to truly being able to finish the project as written.PLEASE NOTE: I only needed to complete through Chapter 11 for my purposes. So you will need to rely on others for a review of Chapters 11 (Integrating with Game Center) and 12 (Ship it...)
Amazon Verified review Amazon
PocketTim May 05, 2017
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
Good Points:- Spritekit, nodes and children and the accompanying logic is explained very clearly, this is the first learning resource that has made it all click for me.- Very quick results after only a few pages and the code snippets provided are reusable as many ways as your imagination can see fit.- Even if you're completely new to programming and Xcode, as long as you've got a Mac you'll be able to recreate the example game with no trouble and have some confidence in editing it slightly.Bad Points:- The Swift syntax and language is not explained at all. The author explains what the code is doing, but not how the code works. This is not a resource for learning swift. There's nothing really wrong with this as it's not what the book is for but it's worth keeping in mind before buying.- Many images are pretty much useless and although links to the full colour variants are provided, I don't like to break away from a book like this when I've already got enough to do.Definitely worth a buy if you have some programming knowledge and you want to take a step into the world of 2D Swift Game Development.
Amazon Verified review Amazon
The Man Apr 12, 2017
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
Good book, not for a total beginner to programming or to Swift. Book gets confusing near the end and the support email never responded when I emailed them for clarity. On the whole a good book.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.