Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Video Juegos en Android

Iniciado por firetonge, 29 de Abril de 2016, 09:52:32 PM

« anterior - próximo »

firetonge

Hola a todos,

Mi pregunta es la siguiente. Imaginemos un juego "profesional" de esos que hay en Google Play (por decir uno el Candy Crash que todos lo conoceis). Mi pregunta es si este tipo de juegos se programa con una librería en particular (oigo mucho hablar de Unity) o se tira de android puro y duro (por ejemplo, dibujando sobre una SurfaceView).

Estoy buscando ayuda/información sobre como hacer este tipo de juegos. Todos los masters que veo suelen llevar a Unity, pero me extraña que una empresa "grande" lo utilice. Así que si alguien pudiera informarme de que usar o de algún enlace, documento, pdf o similar se lo agradeceria.

Comentar que solo estoy interesado en como representar los gráficos en pantalla. No me interesa el como se hace ya que eso lo sabría hacer, es decir, no quiero saber como mover un sprite o detectar colisiones...ya que todo eso lo sé. Mi cuestión es muy directa, quiero poner un sprite en pantalla de modo profesional. ¿Se usa librería tipo Unity...se usa programación directa....como se hace?.

Un saludo y gracias a todos!

Fanakito

Candy Crush esta hecho con un motor interno hecho en C++, pero Unity lo usan muchos estudios y titulos "profesionales" de la app store: Monument Valley, Crossy Road, HearthStone, Alto's Adventure, Best Fiends, Threes, Tomb Raider Go, Subway Surfers, Temple Run 2, Bad Piggies o The Room, entre otros muchos.

Lo que diferencia el "modo profesional", del modo amateur no son las herramientas sino terminar el proyecto con la calidad necesaria.

EMHO, yo creo que es preferible estudiar en un master C++ y liarte la manta con la programación de un propio engine. Si dominas las bases, Unity lo puedes aprender haciendo un pequeño proyecto en las vacaciones de verano. No te convertirás en un experto, pero en mi experiencia personal la experiencia con un motor concreto nunca ha sido un factor para que me contraten. Especialmente porque, si una empresa tiene su propio engine, dificilmente lo vas a conocer  :D

firetonge

En primer lugar agradecerte tu respuesta.

La verdad es que todo esto es muy confuso para mí pues estoy acostumbrado a hacer tonterías por mi cuenta y programando mis propias clases. Todo esto de los engines me despista un poco y pensaba que en realidad no se utilizan sino que eran en plan mas amateur...como tu dices, para entretenerte un verano.

Dado que parece que tienes experiencia, (aunque me he instalado Unity para verlo), que me recomendarías como engine?. Yo estoy acostumbrado a las tipicas librerías que llamas desde tu programa y por lo poco que estoy viendo Unity no tiene nada que ver con esto...aunque como te digo, lo acabo de instalar y estoy toqueteando.

Gracias nuevamente y un saludo.

Fanakito

Hombre, motores se utilizan siempre. De hecho en producciones muy grandes es muy comun comprar lo que se conoce como middleware, que es software para resolver alguna parte del juego. Las más conocidas son el SpeedTree, Havok (para fisicas) o Bink (para los videos), pero incluso hay empresas que compran middleware de sonido como Wwise o de IA como AI.Implant. Que uses código externo no quita que alguien tenga que configurarlo y usarlo en el juego, solo te da una serie de clases probadas y muy versatiles que gestionan p.ej toda la problemática de ese problema. Problemática que, en muchos casos,  si no tienes experiencia desconoces.

La mejor forma de empezar es hacer un juego pequeño con lo que conozcas. Si ya sabes programar en algun lenguaje, busca alguna librería para hacer juegos en el lenguaje que tu conozcas y programate un Pong o un Space Invaders. Unity no es un mal motor para empezar, pero es bastante grande y, si ya dominas otro lenguaje, la curva de aprendizaje será menor.

Te aviso, por eso, que las librerías más conocidas cada vez son menos librería y más "framework". Montar el "Hola Mundo" para LibGdx (por decir una muy conocida de Java) o Cocos2d-x (para C++) es un poquito más laborioso que en las libererias que usabamos aqui antaño, sin embargo esta curva creo que paga con resultados porque te introduce en conceptos que son mucho mejores y que, si no, te va a tocar acabar reinventando por tu cuenta.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.