[MUSIC] Okay, welcome to the third course in this series on iOS programming. This one's about games, media, and sensors. And we've got a lot in store for you. This was pretty exciting class to put together. We have a lot of new technology we want to introduce. And the thing is, is this course is a little bit different because it requires a lot of work on the design side. So all the technology that we're going to introduce really needs a lot of design before you start working with it. So that you can come up with a user experience that's really interesting and that's effective. So some of the things that we are going to be covering, starting off on the sensor side, we're going working with the location systems. We're going to talk about how to figure out where you are on the planet, using geo-coding and reverse geo-coding. That's the process of identifying an address, when you've got a latitude and longitude, which is usually something you get when you're working with a location system. With that, we're going to introduce the idea of geofences, which is the ability to have your phone do things when you enter certain geographic locations. All those sorts of sensors and those approaches to working with the device are really about bringing your device out into the world. Into the greater, all the places that we live outside of the office so that you can develop games and experiences at leveraged location and being out in the world. So after location we're going to introduce accelerometers, the compass and the gyroscope, and what that does is that gives you the ability to reason about what sort of position the phone is in physically so that you can do things that relate to how the phone is oriented within the world. So those things are going to give you the ability to leverage your phone's position so that you can take it outside, move it around, like here, outside in Santa Barbara. After that, what we're going to do is we're going to introduce some of the ability to make games. So one of the central pieces about making games is the ability to do audio. And so we're going to introduce to you how you do sound effects, how you play media files, for example MP3s, and how you do that within the context of not even necessarily a game but just any time you wanted to play an audio file. The last part of the game is really centered on games themselves. So we're going to be working with Sprite Kit and the Sprite Kit interface. Sprite Kit is designed for primarily 2D games, side scroller kind of games, or physics based games. And so some of the things that we're going to introduce in that part, are going to be a Pong game, so we're going to start teaching you how to make Pong, the real classic hello world of games. That requires talking to you about the physics engine, and how you do, bouncing objects, and gravity, and vortex fields, and things like that within your game. Part of that is about collisions and contacts. How do you decide whether two things have come into contact with one another? And if they do come into contact, what are you going to do about it? How are you going to get reports of that? How are you going to trigger your game? What sort of things are going to happen in your game when things come in contact or come into collision? One of the things you might have happen is you might have an explosion happen and so a particle emitter is a topic that we're going to cover as well. How do you make realistic explosions using the particle system and if you don't want explosions what about just magic effects, or fire flies, smoke, or sparks. Those are all things that you can do with particle emitters, if you have designed it well into your system. And you know when you want to use it and why. That makes it even better. We're going to talk about animating textures. So if you have hand-drawn animations that you want to flip through and show like a flip book style animation, we'll show you how to do that with SK actions. And then we'll put it all together in a sample application of Breakout, which is also another classic game that you can follow along as well. The last thing that we're going to cover is how to integrate it all into game center. So, if you want to have elements of your game that cause, give you achievements, give your users achievements or if you want to have a leaderboard, so you can introduce more social activity in your game that's something that you can do as well. So all these things are part of our course on games, media, and sensors that we are introducing. Sam and I have been working really hard on it trying to come up with a course that is easy to work with, easy to understand, introduces a lot of good stuff, but doesn't make it too complicated for you. So I hope you enjoy it. I'm looking forward to getting your feedback. Thank you very much. >> Hi guys, I'm Sam Kaufman, a partner at Gradient. Welcome to course four, where we're going to learn about games, sensors, and location. I'm excited about this course so let's get to it. [MUSIC]