Build your first mobile game for iPhone Swift/iOS having fun

Learn Swift, iOS and SpriteKit while having fun, learn programing from the ground up every and learn while playing games
4.8 (11 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
103 students enrolled
$19
$200
90% off
Take This Course
  • Lectures 27
  • Length 4 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 4/2016 English

Course Description

Have you ever imagine yourself as a spy, breaking codes, picking locks? In this game you will have to crack the secret code to pop the lock, and more you will have to build this game from scratch if you want to play it and learn a lot about Swift, SpriteKit and iOS while doing so.

The game is fun to play and watch others playing, however it is just a fun way for me to teach you all you need to know to be a excellent Swift/iOS developer.

Trougth the course of this course we will learn about:

  • SpriteKit Framework and its boiled plate code
  • Extensions, what is and how to use
  • How to encapsulate our code and use private variables, getters and setter and why
  • How to refectory your code as you go, what is refectory and why you should always do it
  • Loops, different kinds of loops, with one to use for different scenarios and why
  • Inheritance, including initializers, convenience, required, overriden how to do it right
  • Properties, including property observers and computed properties, what it is and how to use
  • Protocols, I know you hear about it before, but do you really understand what it is and how to use?

In this course we will cover one topic at the time as we need we will discuss itm examine the options and add to our game to make it more and more awesome

What are the requirements?

  • Students must have XCode installed and working
  • Basic knowledge about XCode and programming

What am I going to get from this course?

  • Create a fully functional game
  • Have a deeper understand of the problems that can happen while coding and how to solve it
  • Student will be able to create code easy to understand, test and scale

What is the target audience?

  • Anyone looking to learn or deeper it's knowledged in Swift, iOS or SpriteKit
  • Anyone that want to learn while having fun making a game
  • Anyone open minded that want to be leading and not following

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Start Here
02:26

Find out a little bit about me in this video

Article

Post here your ideas for new BONUS sections so we can vote and together decide what new features we can implement in this already amazing game

Introduction to the course
Preview
Article
Section 2: Introduction to SpriteKit
09:16

When we create a new project in XCode it give us a lot of boiled plate code that most of people take for granted it is very important to understand what it does and why it is there before we start put our own code in.

In this lecture we will learn:

  • How to create a new SpriteKit project
  • Understand the Boiled Plate code that it generates
  • Delete the unnecessary code for our project
Section 3: Creating Extensions
07:47

Sometimes we can change our mind, in this case we can code our game all in one color to decide to change it later on, if we color been create all over the place will be very difficult and time consume to find the right place to change, this is why Extensions are so important

In this lectures we will learn:

  • Why and when we should use Extensions
  • How to create a new Extension
  • How to name a Extension
  • How to use the Extension 
Section 4: Starting the game, initializers and new classes
Creating PadLoackSKShapeNode class
16:16
Using PadLoackSKShapeNode class
Preview
05:20
Adding a pin class to the PadLockSKShape
17:09
Section 5: Add animation to our game
Add rotatition to the pin
15:30
Section 6: Add helper functions
A little maths in the getNewTarget function
10:46
Section 7: Creating a target and make it fun
05:33

It is very important to know when to create setup functions as it can make our code much clean and easy to read and understand.

In this lecture we will learn:
  • How to create a setup function that store values for future use by another function
14:06

Once we store the values we need in the setup function we need to use this values on demand as we need.

In this lecture we will learn:

  • How to use stored values to create new targets as we need
  • Refectory code to easy readability and understanding 



Setup the target first and just call the getNewTarget function later
05:09
06:56

Some times two random numbers can be two close together what does not work very well to our game, we need to find a way to create a space between the targets to make the game more enjoyable, and we never know if we will need to create one, two or ten random number to have this new position.

In this lecture we will learn

  • Repeat while loop, how to drawn new random values until a valid value in draw
Section 8: Lets see now how easily we can change your game
Minute of appreciation for what we build so far
05:02
Section 9: The game cycle
Creating some space between the targets
12:34
Create a SKNode to keep our target as children
09:18
Collision detection setting up PhysicsBody
08:11
Using booleans to create a "switch" in part of the expressions
19:17
Section 10: Making the code more useful, more reliable and expandable
11:55

Sometimes many ideas come to mind and we don't know were is the "correct" or more appropriate place to put the code, even because we don't know the full picture yet, this is why refactoring is so important. When refactoring we shouldn't be changing any of the functionality of the application just rearranging the current functionality to the correct place.

In this lecture we will learn:

  • How to properly refectory our pop the lock game
Section 11: More enhancements
16:13

A player can die for many different reasons however the final result is always one, for that reason we should have only and just only one piece of code handling what is the faith of each player for all level of the game of all times.

In this lecture we will learn:

  • How to use one GameController to control the events of one GameScene
07:59

How do we decide from what class to inherit from, we always should start from NSObject the basic class from were all the other classes inherit from however sometimes we need some special functionality. 

In this lecture we will learn:

  • Check for the most appropriate inheritance for an class
  • How to change the inheritance of an existent class 
Add new features and improving the game
11:15
Section 12: Working with Physics
06:27

Use of variables to keep tacking of states is very common sometimes we need to set a variable when a event happen and unset when another event happen so we know what do to in response to different events.

In this lectures we will learn:

  • How to create a variable to keep track of the event (pin enter in contact with target)
  • How to check if the contact (pin enter in contact with target) is valid when the player tap the screen   
Section 13: Adding a HUD (heads up display)
Creating a HUD - Head up Display
17:41
Making use of our new HUD Class
05:32
Section 14: Have fun playing a Q&A game to see what you learned now
Swift
1 question
SpriteKit
1 question
Section 15: Students deals
Visit our website and check out the latest deals
Article

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Icaro Lavrador, Swift Expert|Senior iOS Developer|Udemy Premium Instructor

  • I am an "eternal student", I start programing when I was just 10 years old and to this day I still learning new things every day.
  • Because of my passion in learn new things I developed a passion to teach as well, I start helping people at Stackoverflow where I am ranked as the top 10% Developer Help for Swift and top 20% Developer Help for iOS.
  • You will not see my name in many app as I am the go to guy to fix problems, I offer my work mainly as a contractor solving problem that the others professional cannot solve.
  • I start develop software and consultancy when I was 15 years old and never stop, today I want to help people because I read every day the code produced by the professionals in the field and I can honest say they are mostly JUNK.
  • One of my clients try to use an Udemy iOS course to argue about some strategies he took in his code. After see so many WRONG explanations, so many BAD advice I decide to create my own courses. I watch over 15 top rated courses at udemy and out before decide to take action
  • My courses are create to make YOU the best in the field, I can guarantee that if you take my courses you will drop jaws in interviews, companies are desperate looking for good developers and they will pay you over $100k/year to work for them.
  • But you have just one shot to impress, so make it the right one, learn right, learn it once, make money forever.

Ready to start learning?
Take This Course