Curso de videojuegos para iOS - Flappy Bird

Aprende a crear un videojuego en una hora utilizando SpriteKit y Swift, el lenguaje mas sencillo de Apple para iOS
4.7 (21 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.
246 students enrolled
$19
$80
76% off
Take This Course
  • Lectures 29
  • Length 2.5 hours
  • Skill Level All Levels
  • Languages Spanish
  • 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 11/2015 Spanish

Course Description

En este curso veremos completamente desde cero como crear una versión de Flappy Bird para iOS utilizando la suite de desarrollo de Swift de Apple junto con la tecnología SpriteKit, ideal para crear juegos de forma rápida y divertida.

El juego incluirá pequeñas variantes de juego, como por ejemplo, aumentar la dificultad al estrechar el espacio entre tubos a medida que transcurre el juego.

Nos centraremos en temas e ideas importantes en el mundo de los videojuegos para dispositivos móviles como por ejemplo:

  • Nodos
  • Sprites
  • Animaciones
  • Movimiento
  • Gravedad
  • Velocidad
  • Impulso
  • Colisiones
  • y mucho más

Aprende a crear este juego en línea en poco más de una hora, centrándote en los aspectos clave del mundo de la creación de videojuegos y diviértete aprendiendo y jugando!

What are the requirements?

  • Tener un Mac con la versión Mavericks o posterior con Xcode instalado

What am I going to get from this course?

  • Comprender las bases de programación para iOS en Swift
  • Conocer el SDK de Sprite Kit con sus funcionalidades básicas
  • Conocer el uso de nodos y texturas para la creación de un videojuego
  • Tener un videojuego completo, realizado íntegramente a base de programación en Swift con Sprite Kit
  • Conocer cómo funciona un ordenador por dentro y saber dar instrucciones, una tras otras
  • Saber como funcionan los patrones de delegación en iOS
  • Conocer un poco sobre conceptos de Game Design para saber como configurar los parámetros de un videojuego y aumentar o disminuir su dificultad

What is the target audience?

  • Conocimientos mínimos de programación. No son del todo necesarios pero si son recomendables
  • Gusto o pasión por los videojuegos! Si te gusta jugarlos, te encantará aún más programarlos!

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: Flappy Bird - Crea un videojuego en una hora
Tu instructor: Juan Gabriel Gomila
Preview
01:39
Bienvenido al curso
Article
02:23

Hola a todos y bienvenidos! Me llamo Juan Gabriel Gomila y soy licenciado en Matemáticas por la Universidad de las Islas Baleares. En este curso os voy a enseñar a crear el Flappy Bird desde cero con SpriteKit y Swift para vuestro dispositivo de iOS. El juego será totalmente responsive tanto para iPhone, iPod e iPad. Veréis conceptos muy útiles como los nodos, las texturas las animaciones y las colisiones.

Espero que el curso sea de vuestro interés y nos vemos en clase!!

Cómo hacer el curso si tengo Windows - Mac In Cloud
Preview
08:33
Preguntas frecuentes
1 page
05:54

En esta clase aprenderás a crear el proyecto de Xcode en Swift y utilizando la tecnología de Sprite Kit. Con él, dejaremos configurado los requisitos básicos para proceder a empezar nuestro videojuego en una hora: el Flappy Bird

01:51

En esta clase añadiremos las imágenes que conformarán la parte visual de nuestro videojuegos del Flappy Bird en Xcode. Para ello simplemente las arrastraremos a la zona de trabajo de Xcode para que cuando lo programemos utilizando Swift y Sprite Kit, el propio programa las encuentre fácilmente.

01:59

Suscríbete en la web del curso a través de http://cursoprogramacionios.juangabrielgomila.com

Section 2: El Escenario - Crea un videojuego en una hora
10:33

En esta clase crearemos nuestro Flappy Bird, el pájaro y lo añadiremos a la pantalla. En esta clase aprenderás entre otras cosas a:

  1. Crear un objeto de tipo SKSpriteNode
  2. Crear una textura de pájaro
  3. Asignar la textura del pájaro al nodo del Flappy Bird
  4. Añadir el pájaro a la pantalla de la aplicación
  5. Crear una animación de aleteo a partir de dos texturas diferentes
  6. Repetir una animación indefinidamente en pantalla
  7. Asignar una animación al nodo del pájaro que ya habremos creado

Con todo esto, tendrás un pajarito en pantalla que mueve las alas arriba y abajo.

07:40

En esta clase aprendemos a añadir un nodo que forme parte del fondo del videojuego. El proceso no será muy diferente a como hemos añadido el propio Flappy Bird en la clase anterior, pero jugaremos con la profundidad para mandarlo al final de la pantalla. En esta clase aprenderás a:

  1. Crear una textura de fondo a partir de una imagen
  2. Utilizar bucles para rellenar los elementos del fondo a partir de fragmentos
  3. El concepto de zPosition y la profundidad en pantalla
06:51

En base a lo aprendido en la clase anterior, vamos a aprender a añadir el suelo del videojuego de forma similar a como lo hemos hecho anteriormente. En esta clase aprenderás a:

  1. Crear una textura a partir de una imagen
  2. Utilizar bucles para rellenar los elementos del fondo a partir de fragmentos
  3. El concepto de zPosition y la profundidad en pantalla
  4. Los colores con SKColor
  5. Cambiar el color de fondo
07:32

En esta clase aprenderás a animar el Sprite del cielo del juego del Flappy Bird para conseguir un movimiento indefinido de los nodos de fondo. Además, en esta clase aprenderás a:

  1. Consolidar los conceptos de animación y de movimiento con sprites
  2. Crear translaciones en la dirección del eje horizontal X, para simular el movimento
  3. Programar movimientos de reset para volver a colocar el nodo al inicio de la animación
  4. Las secuencias de animaciones
  5. Las animaciones indefinidas
03:10

En base a lo aprendido en la clase anterior, en esta clase aprenderás a animar el Sprite del suelo del juego del Flappy Bird para conseguir un movimiento indefinido de los nodos de fondo. Además, en esta clase aprenderás a:

  1. Consolidar los conceptos de animación y de movimiento con sprites
  2. Crear translaciones en la dirección del eje horizontal X, para simular el movimento
  3. Programar movimientos de reset para volver a colocar el nodo al inicio de la animación
  4. Las secuencias de animaciones
  5. Las animaciones indefinidas
3 questions

Vamos a repasar los conceptos básicos de los nodos

¿Que te parece este curso?
02:16
Section 3: El Movimiento y la física - Crea un videojuego en una hora
09:23

Esta clase está enfocada íntegramente a conceptos de la física clásica que conviene repasar antes de entrar en la programación de la física que gobierna el mundo del Flappy Bird. Aprenderemos a añadir la física al mundo y a que el pájaro se someta a sus leyes con una forma circular, que es la que más se asemeja a la forma del mismo. En esta clase aprenderás conceptos sobre:

  1. La física del videojuego
  2. Aplicar la gravedad al mundo
  3. Someter el pájaro a la gravedad del juego
  4. Añadir un tope del suelo
  5. El concepto de dinámico y no dinámico
10:32

En esta clase veremos como hacer que el pájaro suba cuando tocamos la pantalla. Para ello habrá que darle un impulso pero también habrá que frenar su velocidad si no queremos que salga disparado hacia el infinito. Al final de la clase habrás visto:

  1. El método touchesBegan
  2. La velocidad
  3. El impulso
  4. La rotación
  5. Actualización a cada frame
16:06

En esta clase aprenderemos a crear los tubos en el centro de la pantalla para que aparezcan aleatoriamente en una posición diferente cada vez. Los dos tubos los reuniremos en un único SKNode que se encargará de mover todo el bloque de golpe, en lugar de uno en uno. Además, crearemos varias animaciones para gestionar su posición en pantalla. En esta clase veremos temas como:

  1. Anidación de nodos
  2. La aleatoriedad de la posición de los nodos
  3. Animaciones de inclusion, movimiento y eliminación de nodos.
07:30

En esta clase aprenderemos a animar los nodos de los tubos del Flappy Bird de derecha a izquierda de la pantalla. Además crearemos funciones adicionales con SpriteKit y Swift que nos ayudarán a mover los nodos por la pantalla y a crear nuevos tubos de forma muy sencilla. En esta clase veremos:

  1. Creación indefinida de tubos
  2. La separación entre tubos
  3. El gestionador de la lógica los tubos
2 questions

Vamos a repasar los contenidos básicos de animación

Section 4: La partida - Crea un videojuego en una hora
08:48

En esta clase aprenderemos como gestionar las colisiones entre los elementos de la pantalla con un nuevo delegado: el SKPhysicsContactDelegate. Junto con él, asignaremos una categoría a cada uno de los elementos en pantalla para proceder a detectar las colisiones en el método func didBeginContact(contact: SKPhysicsContact) de Sprite Kit. Además, en esta clase aprenderás más acerca de:

  1. El delegado del contacto del mundo
  2. Las categorías de contacto
  3. El concepto de category bit mask
  4. El concepto de collision bit mask
  5. El concepto de contact bit mask
06:48

Daremos un pequeño repaso a cómo tenemos los nodos anidados en pantalla para ver qué podemos hacer para detener el movimiento en pantalla una vez que nuestro Flappy Bird contacte con un elemento y muera en su aventura por el videojuego. En esta clase aprenderás:

  1. El nodo que aglutina los movimientos
  2. Detectar el movimiento
  3. Anular el movimiento
05:20

En la clase aprenderemos a resetar el juego y que este vuelva a empezar desde cero. Para ello nos hará falta una variable adicional y redefinir los parámetros para que se encuentren tal y como estaban al inicio del juego. En la clase veremos:

  1. La variable de reset
  2. Las acciones que reinician el juego
02:53

El juego ya se reinicia correctamente, pero los tubos se quedan en pantalla de la partida anterior. Esto complica mucho la visualización y el juego, así que vamos a corregirlo añadiendo un administrador de tubos que nos ayude a tal efecto. En esta clase veremos los conceptos de:

  1. El administrador de tubos
  2. Reiniciar la lógica de los tubos
2 questions

Vamos a repasar algunos conceptos relativos a la partida

Section 5: La puntuación - Crea un videojuego en una hora
04:53

Vamos a crear un sistema de puntuaciones que me sume un punto cada vez que pase entre dos tubos. Para ello crearemos un nuevo nodo de tipo SKNode que nos ayude a saber cuando el jugador ha pasado por entre los dos nodos. Además, añadiremos en pantalla el contador de puntos que llevamos acumulados hasta el momento para que el jugador sepa por donde va.

11:56

Ya tenemos un contador en pantalla, solamente nos hace falta actualizarlo! Para ello, cuando nuestro Flappy Bird pase por entre los dos tubos, añadiremos un SKNode adicional, totalmente invisible entre los tubos para que contabilice las colisiones del pájaro con él. Gracias a este nodo podremos incrementar la variable puntuación en una unidad y actualizar el valor de la puntuación que mostramos en pantalla.

Section 6: Game Design - Crea un videojuego en una hora
03:57

En esta clase veremos como configurar el ancho entre los tubos para incrementar la dificultad de juego paulatinamente. Como cada vez habrá menos espacio entre los SKSpriteNode de tubos, será cada vez más complicado pasar entre ellos. ¿Hasta donde podrás llegar?

09:51

Ahora mismo debes tener frescas las variables del juego: cual es la gravedad del mundo, el impulso del Flappy Bird, el tamaño de la puntuación en pantalla,... En general no será sencillo acordarte de qué era cada uno de esos números que pusiste en medio del código, por lo tanto lo mejor es declararlos fuera del código por si en el futuro te apetece modificarlos a tu antojo.

Section 7: Bonus
01:00

Descarga en esta clase el código fuente del proyecto que hemos aprendido a hacer en este curso: el Flappy Bird con Swift y SpriteKit. Espero que te haya gustado!

Nos vemos en la próxima
00:36
Bonus - Aprende a hacer apps y videojuegos para iOS
Article

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

D. Juan Gabriel Gomila Salas, Licenciado en Matemáticas, Data Scientist & Game Designer

Juan Gabriel Gomila “Stay hungry, stay foolish“ - ¡Siempre he creído que el cielo es el límite en todos los aspectos!

Como Licenciado en Matemáticas, he estado en contacto con gran variedad de escenarios y casos atípicos, donde se plantea una situación y debe resolverse de una forma óptima y eficiente.


Mi CV:

Artículos y publicaciones:

Decenas de artículos y publicaciones relacionadas con el mundo de las matemáticas, el tratamiento de imágenes junto con la revista internacional IPOL, las lógica detrás de las máquinas tragaperras, el diseño lógico de videojuegos y el análisis de datos. Conoce más acerca de estos y otros temas en mi web personal o en la web de mi estudio Frogames.

Docencia Universitaria:

Desde 2015 soy profesor en dos asignaturas de matemáticas del Grado de Telemática impartido por la Universidad de las Islas Baleares y en el HND de Desarrollo de Videojuegos impartido por la Escuela de Diseño de las Islas Baleares. Así mismo, los cursos en Udemy me ayudan a mejorar para convertirme en un instructor no solamente presencial y en grupos reducidos de alumnos si no también haciendo uso de las nuevas tecnologías y a grupos más homogéneos de alumnos.

Desarrollo de Videojuegos en PlaySpace SL:

Desde 2012, trabajo en la empresa de desarrollo de videojuegos española PlaySpace SL, desarrollando juegos clásicos de mesa y social casino como el Parchís, Bingo, Juegos de Cartas o máquinas de Slots. Empecé llevando a cabo las funciones de Game Designer y Data Scientist, definiendo las nuevas funcionalidades a partir de los datos existentes y mejorando el contenido a cada etapa. Desde 2014 dirigiendo el producto como Product Manager y Game Producer coordinando las labores de lanzamiento de nuevos juegos y funcionalidades.

Desarrollo de Apps:

Cuento con experiencia laboral en crear y lanzar de 30 apps y videojuegos lanzados por mi estudio Frogames y en más de 5 proyectos con empresas reconocidas internacionalmente incluyendo Audición Plena, Medical Alert, Plaiout o Pillapartida entre otros. En este aspecto soy publisher de aplicaciones en diferentes países y mercados online incluidos los de Google Play, Amazon Store y Apple App Store. En la web corporativa de Frogames y en mi propio blog encontrarás mi portfolio de proyectos lanzados para que valores su calidad y estilo.

Online Marketing / SEO:

Tengo experiencia en la creación de KPIs y realización de predicciones a medio y largo plazo basada en los datos clave de un negocio. Así mismo, tengo experiencia en optimizar tanto el SEO como el ASO de los artículos y apps que elaboro para conseguir el mayor número de descargas orgánicas sin invertir dinero en marketing. Así mismo, he coordinado varias campañas de Google Adwords y Facebook Ads para acelerar las descargas y visitas de los productos que he lanzado, como estos mismos cursos en Udemy.

Si quieres más información gratuita sobre este tema, en el blog de mi página web tienes varios artículos acerca de esta y otras temáticas interesantes relacionadas con el mundo del marketing.

Desarrollo Web:

He elaborado las páginas webs de mi propio estudio y blog creando plantillas Wordpress en HTML 5 haciendo uso de Bootstrap 5.

Data Mining y Business Intelligence

Con la experiencia en el análisis de datos en PlaySpace, me he especializado en bases de datos relacionales con MySQL y los algoritmos de Slice & Dice para tratar y organizar los datos en dashboards con sentido y usables para sacar conclusiones acertadas en los proyectos que he trabajado. En el blog de mi web personal encontrarás más artículos relacionados con el Data Mining y Business Intelligence con el que he trabajado en el area de los videojuegos y apps móviles.



Ready to start learning?
Take This Course