SPRITE KIT: NOVEDADES EN IOS8

El motor de juegos de Apple, Sprite Kit, ha sido actualizado en iOS8 con la inclusión de cinco nuevas características:

  • Shaders
  • Iluminación y sombras
  • Nuevas físicas
  • Integración con SceneKit
  • Nuevas herramientas

Shaders

Esta característica permite a los desarrolladores añadir nuevos efectos a los nodos como por ejemplo desenfoques personalizados.

Shaders permite tener control completo sobre cómo se dibuja cada nodo en la escena y hace más fácil añadir nuevos efectos a juegos existentes ya que sólo hay que añadir una simple línea de código. Además, da acceso total a las propiedades de los sprites en la escena.

SKShaders es la nueva clase que da soporte a dichos efectos y tiene dos propiedades:

  • source: Es el archivo o cadena de texto desde donde el shader ha sido creado.
  • uniform (SKUniform): Una lista de atributos.

Iluminación y sombras

Los nodos de luz (SKLightNode) permite a los desarrolladores añadir y colocar luces en la escena e incluso iluminar un existente sprite con hasta ocho luces independientes. También se puede controlar el color de dichas luces, las sombras que proyecta y su atenuación (falloff) para conseguir el efecto deseado.

SKLightNode deriva de SKNode lo cual significa que podemos tratar cada luz como un nodo en si mismo (ejecutar acciones, movimientos, seguir caminos) y sus atributos son:

  • lightColor
  • shadowColor
  • ambientColor
  • falloff

Una importante característica de las luces es que pueden intentare con normalTexture, el nuevo atributo de SKSpriteNode para crear sombras personalizadas.

Nuevas físicas

Sprite Kit incluye las siguientes nuevas físicas:

  • Per-pixel physics: Nos permite especificar el comportamiento físico a nivel de pixel dando más precisión para tareas como control de colisiones.
  • Constraints: SKConstraint ayuda a simplificar la lógica del juego por ejemplo al orientar un nodo en función de la posición de otro nodo: Nos permite constreñir posiciones, orientación y distancia sin necesidad de añadir grandes bloques de código.
  • Inverse kinematics: Facilita el trabajo con joints (uniones) al permitir definir una jerarquía padre-hijo entre dichas uniones.
  • Physics fields: Nos permite definir fuerzas físicas como la gravedad o velocidad a nodos que hará muy sencillo desarrollar juegos de tipo espacial.

Integración con SceneKit

Ahora podemos incluir objetos 3D en  juegos de Sprite Kit y tratarlos como nodos comunes con la nueva clase SK3DNode. Además podemos enlazar texturas y sonidos con objetos de SceneKit.

Tools

Hay un nuevo editor para Sprite Kit integrado en Xcode donde podemos manipular y dar valores a los atributos de nuestros nodos, configurar cuerpos de físicas, nodos 3D, crear luces, sombras e inverse kinematics sin necesidad de escribir una línea de código. Incluye también un editor de shaders y una variedad de plantillas de proyectos de juegos. Sólo puedo decir que este editor es asombroso.

Estas nuevas características dan a Sprite Kit un gran potencial cercano a editores de efectos de nivel profesional permitiéndonos añadir más y más efectos realistas que harán que nuestros juegos parezca casi súper producciones.

Apple parece muy interesada en crear un framework que pueda competir con Cocos2d y Unity3d, facilitándonos cualquier cosa que necesitemos para crear juegos increíbles. Aquellos que habéis trabajado con Sprite Kit, Cocos2d o Unity3d: ¿Creéis que Sprite Kit va a superar el potencial de Unity3D o Cocos2d o creéis que aún está demasiado lejos?

Este artículo fue originalmente publicado por Jorge Jordán en Chupamobile.com.

@jjordanarenas

 

This post was initially published in http://insaneplatypusgames.com/2014/12/03/ios-8-sprite-kit-cambios/

Leave a Reply

Your email address will not be published. Required fields are marked *