¿Qué opináis de Unity?

Iniciado por Perro Seco, Diciembre 07, 2017, 08:36:31 PM

Tema anterior - Siguiente tema

Perro Seco

Pues eso, me gustaría saber vuestra opinión. No sólo de Unity, sino también de los juegos que se han creado con él. Viendo que es fácil de manejar estaba pensando en utilizarlo para hacer un juego por mi cuenta e intentar comercializarlo. Quizás la única pega que veo por ahora es que parece tirar demasiado del procesador, incluso para juegos simples en 2D.

Papamonos

Hola.
Yo hice un juego sencillo en 2D para Android ("Balls out of Control", publicado en la PlayStore) y algunos pinitos en 3D (FPS, plataformas...). Lo primero que tienes que tener en cuenta es que, si bien es cierto que te permite configurar y editar muchas cosas (incluido la creación de los escenarios), debes importar todos los recursos del juego (modelos 3D, texturas, sonidos...) realizados con programas externos. Por ejemplo 3D Studio, Photoshop, Fruityloops... Luego lo organizas, configuras y empaquetas dentro de Unity. Aparte de ésto tienes que saber programar (o cualquiera que quiera colaborar contigo en el juego), pudiendo desarrollar en Javascript ó C#, entre otros (puedes usar un editor propio que trae Unity o enlazarlo a un proyecto con Visual Studio).
En resumen, no se trata de algo tan sencillo como el viejo "GameMaker" y otros programas (que te permiten hacerlo todo mediante estructuras gráficas y controles predefinidos), sino que hay que manejar muchas disciplinas o tener un pequeño equipo de personas especializadas. Por otro lado se trata de un programa muy intuitivo, con mucha y buena documentación oficial y ayuda en internet, y un motor bastante potente. Además te permite exportar a muchas plataformas (PC, Android, XBox, PS4...). Quizás te interese también UDK (Unreal Development Kit), tengo entendido que ahora no es necesario saber programar, sino que mediante estructuras él mismo te genera todo el código. Además tenía un editor de mapas similar a GRadiant (Doom 3, Quake...).

P.D: el tema de comercializarlo ya es otro asunto, sobre todo si vives en España, donde te "obligan" a darte de alta como autónomo o empresa, y con un montón de baches (tanto económicos como burocráticos). Y no hablar de Steam, donde tendrás que hablar por teléfono (por supuesto en inglés) con un funcionario de los EE.UU al que dar tus datos de empresa, entre otras cosas (teniendo en cuenta las leyes del país donde la domicilies). Yo finalmente desistí...
"Duke forever. Doom forever.
The  true FPS reborn!"

Perro Seco

Cita de: Papamonos en Diciembre 08, 2017, 02:08:42 PMYo finalmente desistí...
Desanima oír eso. :(

Pero muchas gracias por la respuesta y los consejos. Intenté buscar a alguien que me ayudase como dices, pero nadie quiso, así que aquí estoy solo ante el peligro... Por suerte puedo decir que ya tengo algo de experiencia con C#, y que la geometría la construyo con Worldcraft, el editor de mapas de Quake, que mediante una herramienta para Blender se puede importar después en Unity con texturas incluidas.

Gracias a ello hice un juego de prueba (un poco cutre y con errores) para dos jugadores conectados a través de TCP/IP, y ambientado en mi antiguo instituto:



Cita de: Papamonos en Diciembre 08, 2017, 02:08:42 PMP.D: el tema de comercializarlo ya es otro asunto, sobre todo si vives en España, donde te "obligan" a darte de alta como autónomo o empresa, y con un montón de baches (tanto económicos como burocráticos). Y no hablar de Steam, donde tendrás que hablar por teléfono (por supuesto en inglés) con un funcionario de los EE.UU al que dar tus datos de empresa, entre otras cosas (teniendo en cuenta las leyes del país donde la domicilies).
Suena complicado, pero si consigo montar algún juego decente, intentaré hacer todo lo posible por sacarlo adelante. Mi pronuncieixon en inglés es pura basura, pero si no queda más remedio habrá que poner los huevos sobre el teléfono. ;D

Por cierto, ¿es necesario algo más aparte de Unity para hacer juegos en Android? La verdad es que me encantaría probar tu juego, y también otro que vi que hizo Arrovf, pero mi móvil es bastante antiguo y casi no puede ni con WhatsApp, que es la única aplicación que tiene instalada.

Papamonos

Cita de: Perro Seco en Diciembre 08, 2017, 04:57:07 PM
Cita de: Papamonos en Diciembre 08, 2017, 02:08:42 PMYo finalmente desistí...
Desanima oír eso. :(

Bueno, lo de desistir me refería a lo de comercializarlo, si algún dia hago algo lo publicaría gratis :P. Pero la verdad a dia de hoy prefiero no meterme en berenjenales (sobre todo por tiempo) y dejarlo solo a crear mapas y modelos 3D esporádicos.

Cita de: Perro Seco en Diciembre 08, 2017, 04:57:07 PM
Por cierto, ¿es necesario algo más aparte de Unity para hacer juegos en Android?
Pues necesitarás descargar e instalar ADT (Android development tools) y una serie de librerías para instalar y configurar en Unity. Luego tienes que adaptar el código del juego para que funcione correctamente (y probarlo en un dispositivo Android, por supuesto). A mi me resultó bastante tedioso hasta que conseguí que compilase, y a la hora de publicar en la Play Store también tiene lo suyo (mucho cuidado con el nombre y versión de la app a la hora de generar y subir el fichero), pero eso ya es otra historia.
"Duke forever. Doom forever.
The  true FPS reborn!"

Arrovf

#4
Cita de: Perro Seco en Diciembre 08, 2017, 04:57:07 PM
Por cierto, ¿es necesario algo más aparte de Unity para hacer juegos en Android? La verdad es que me encantaría probar tu juego, y también otro que vi que hizo Arrovf, pero mi móvil es bastante antiguo y casi no puede ni con WhatsApp, que es la única aplicación que tiene instalada.
Necesitas descargar el SDK de Android y luego desde Unity indicar su ruta.

Mi móvil es una castaña pero gracias a ello logré optimizar bastante bien mi primer juego Unity para Android: To The North.

Mi segundo juego, Spam Game, también lo llevaba muy optimizado pero al agregar los servicios de Google (anuncios, logros, etc) el rendimiento en mi dispositivo de gama baja se resintió un poco, por lo que al final hice la mayoria de tests con un emulador Android para PC llamado BlueStacks.

BlueStacks funciona como una especie de dispositivo virtual y además Unity me lo detectaba como si fuese un móvil conectado por usb (al menos en las versiones anteriores, ha cambiado un poco este emulador en sus últimas versiones, tengo que investigar) por lo que puedo exportar/instalar directamente la apk en BlueStacks desde el editor.

Perro Seco

Muchas gracias por vuestra ayuda, lo tendré en cuenta si decido meterme con Android. Ahora mismo estaba pensando en hacer un FPS, pero creo que es un tipo de juego pensado más bien para PC.

Crearé un hilo nuevo para mostrar avances cuando tenga algo consistente.

Sami

Sin tener mucha idea de C# (conocimientos teóricos, pero llevando programando en Orientación a Objetos más de 6 años) y poca experiencia en las demás ramas de desarrollo de videojuegos (música, modelado, arte, etc) con qué recomendáis ponerse, ¿con Unity o con el Unreal Engine? Programar no me da ningún miedo, pero todo lo que tenga que ver con gráficos es como un pozo oscuro e insondable
Soy el mayor de los frikis!

Papamonos

Cita de: Sami en Diciembre 10, 2017, 06:06:26 PM
Sin tener mucha idea de C# (conocimientos teóricos, pero llevando programando en Orientación a Objetos más de 6 años) y poca experiencia en las demás ramas de desarrollo de videojuegos (música, modelado, arte, etc) con qué recomendáis ponerse, ¿con Unity o con el Unreal Engine? Programar no me da ningún miedo, pero todo lo que tenga que ver con gráficos es como un pozo oscuro e insondable

A ver, en ambos programas son necesarias muchas disciplinas (siempre puedes importar recursos ajenos o crear gráficos 2D con Paint, por supuesto), pero sobre todo te van a exigir tiempo y paciencia, dependiendo de tus ambiciones. Por mi experiencia te recomiendo Unity, hace años que probé UDK y me pareció mucho más complejo, poca documentación y más exigente con los recursos del equipo. Además creo recordar que solo se puede programar en c++, pero de eso no estoy seguro. Aunque como ya comenté, con la última versión ha cambiado bastante.
Ten también en cuenta las condiciones para comercializar los juegos (si deseas hacerlo), ya que por ejemplo con Unity no debes darles ni un duro a no ser que ganes más de 100.000€ al año (yo por ese dinero les pago lo que sea). Imagino que con UDK las condiciones serán semejantes, míralo bien.
"Duke forever. Doom forever.
The  true FPS reborn!"

Arrovf

#8
Cita de: Sami en Diciembre 10, 2017, 06:06:26 PM
Sin tener mucha idea de C# (conocimientos teóricos, pero llevando programando en Orientación a Objetos más de 6 años) y poca experiencia en las demás ramas de desarrollo de videojuegos (música, modelado, arte, etc) con qué recomendáis ponerse, ¿con Unity o con el Unreal Engine? Programar no me da ningún miedo, pero todo lo que tenga que ver con gráficos es como un pozo oscuro e insondable
Realmente yo aprendí C# con Unity y no fué nada complicado, aunque eso si yo ya sabía programar de antes (PHP, Javascript, Java), por lo que si ya sabes programar no te será complicado adaptarte.

En cuanto a los gráficos mi consejo es que aprendas como manejarlos dentro del editor (controlar animaciones, texturas, modelos 3d, etc) pero que busques a algún diseñador/ilustrador que se encargue de crear el arte del juego.

En mi caso tengo delegado todo el tema artístico a un colega diseñador, gracias a esto hemos podido terminar 2 juegos y tenemos un tercero en marcha, si hubiese tenido que crear yo todo aun estaría con el primero a medias.