¿En cuál debo invertir más tiempo, Sprite Kit y Swift para desarrollo de juegos, o Unity3D?

Hay varias categorías en las que compararé y contrastaré las dos.

Aprendiendo

SpriteKit se centra en el desarrollo 2D, por lo que puede ser más fácil de aprender y más rápido de usar al principio. Sin embargo, Unity ha estado en este espacio durante mucho más tiempo, por lo que es capaz de crear mecánicas de juego más únicas y avanzadas. También hay más tutoriales que puedes encontrar para Unity, para que puedas aprender mucho más.

Comunidad / Tutoriales

Hay tutoriales para ambos, pero Unity tiene una gran selección de tutoriales para aprender. Es difícil aprender cómo hacer cosas complejas con SpriteKit, mientras que hay un tutorial sobre cómo hacer prácticamente cualquier cosa en Unity. Hubo muchas ocasiones en las que no pude encontrar la manera de hacer algo en SpriteKit, pero pude resolverlo fácilmente en Unity con una búsqueda rápida en Google. Un ejemplo fue crear agua 2D. No pude encontrar una solución real con SpriteKit, pero con Unity pude encontrar instantáneamente un video tutorial en YouTube, ¡y también descubrí que la función estaba integrada en Unity! Una comunidad más grande también significa un tiempo de respuesta más rápido al hacer preguntas. Incluso si no puede encontrar la respuesta a una pregunta en línea, puede preguntarla fácilmente en un foro de Unity y obtener una respuesta, simplemente porque hay muchas más personas que conocen Unity que SpriteKit que pueden ayudarlo.

Capacidades

Como se mencionó anteriormente, puede hacer mucho más con Unity a largo plazo. Si bien puede ser más rápido construir cosas simples en SpriteKit, tratar de hacer algo más allá será difícil o incluso imposible. Mientras tanto, Unity tiene muchas características complejas ya integradas para una fácil integración en su juego (como mi ejemplo anterior de agua).

Precios

SpriteKit es completamente gratis para siempre. Sin embargo, la suscripción gratuita de Unity tiene un límite de $ 100,000 en ingresos, pero seamos honestos. Si ya has ganado tanto dinero con tu juego, ¡puedes permitirte fácilmente el siguiente nivel de suscripción!

Con Unity, también puede escalar fácilmente. Si más tarde decidió portar el juego a otras plataformas además de iOS, como Android, PC, Playstation, etc., puede hacerlo rápidamente compatible.

Escalada

¿Qué pasaría si quisieras transferir tu juego a diferentes plataformas más adelante? Bueno, con Unity, puede transportarlo fácilmente a casi todas las plataformas existentes.

Veredicto

Parece que Unity es el claro ganador. Podrás crear juegos mucho más únicos e interesantes con soporte si lo necesitas.

Sprite kit y swift: herramienta de desarrollo de juegos 2D solo para dispositivos iOS, comunidad más pequeña como bastante nueva.

Unity3D: herramienta de desarrollo de juegos en 2D, pero más tarde se puede usar para 3D, es compatible con iOS, pero también con muchos otros, como Android, Windows Phone … ¡etc., gran comunicación y muchos tutoriales en línea!

Mi elección es Unity3D , ahora la elección es tuya.

Gracias por A2A.

Unity3D es el único de estos tres que tengo experiencia (3.5 años para ser exactos). Ni siquiera he probado las otras alternativas.

Para mí y para nosotros, Unity ha sido una gran opción porque, incluso si hicimos un juego en 2D, todavía tenemos la capacidad de realizar proyectos en 3D o elegir entre 2D y “2.5D”.

Hemos podido financiar a nuestra empresa en gran parte con contratos secundarios, como la creación de un distrito de ciudad virtual 3D FPS. Si tuviéramos una herramienta más enfocada en sprites y 2D, esa no sería una opción o tendríamos que usar 2 tecnologías diferentes en lugar de trabajar con un solo sistema como lo estamos haciendo ahora.

Desde la perspectiva de la programación, la diferencia entre 2D y 3D a menudo es principalmente la adición / exclusión de una dimensión, z. De lo contrario, el juego en sí tiene más impacto que la elección entre 2D o 3D. Entonces, ya sea que se esté haciendo 2D o 3D, al menos con un sistema que admita ambos, es fácil cambiar entre esas opciones entre proyectos sin tener que dominar la nueva tecnología.

He invertido miles de horas en escribir mi propio motor.
Usando OpenGL, Objective-C y así sucesivamente.

Aprendí mucho Pero no he enviado ningún juego real.
Creo que una inversión similar en Unity podría haber resultado en la producción de algo.

No veo el beneficio de invertir mucho tiempo en un proveedor bloqueado de una sola plataforma, solución única en 2D.

Mi respuesta es la unidad.

Para mí, diría Cocos2d-x en este punto. La unidad tiene sus usos, pero el ciclo de desarrollo es demasiado lento. Si está apuntando a dispositivos móviles, los tiempos de compilación para obtener contenido real en un dispositivo son extremadamente lentos. Incluso en una Macbook Pro bastante nueva, puede pasar entre 15 y 30 minutos solo para obtener algo en un dispositivo. Por esta razón, si desea obtener un ciclo de desarrollo rápido en funcionamiento (que es lo que recomiendo), use cocos2d-x con bibliotecas preconstruidas (ya que compilar el enorme cocs2d-x C ++ también puede llevar mucho tiempo). También debo enfatizar que Unity no se creó para juegos / aplicaciones 2D y, aunque ha mejorado, todavía está muy por detrás de Cocos2D.

Gracias por el A2A.

Unity puede manejar bien el 2D; Lo hemos usado aquí para proyectos 2D y 3D.