Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

De Desktop a Android

Iniciado por lightbug, Marzo 14, 2017, 12:49:14 AM

Tema anterior - Siguiente tema
Hola gente, hace un tiempo que se me ocurrio hacer un juego (platformer) para PC pero tambien queria adaptarlo a Android sin modificar demasiado el tema de los controles. Actualmente está (el prototipo) para PC. Lo que mas me intriga del asunto es que la mayoria de los juegos android que he visto/jugado son los tipicos infinite runner o platform runner... basicamente hacer tap hasta ganar, o los de desplazar el cursor con el dedo para realizar distintas acciones. Les pregunto, ya que soy bastante nuevo en el mundo android:
 
1 - existen platformers controlados por joystics, o por directamente "teclas" (osea un joystick Raw (1,0,-1)) en moviles? ya sea movimiento y/o acciones (imaginarse un joystick de NES viejo dibujado en la pantalla del movil)
 
2 - existe algun juego/s que su gameplay sea transferible de PC a Movil y viceversa (hasta ahora no he visto ninguno), o toda aplicacion para estos tiene que ser planificada previamente, me refiero sobre todo a los controles (Se que los graficos se deben considerar tambien)
 
Es un gran paso, por que si no todo el juego debe ser repensado de principio, lo cual no me gustaria para nada.
 
Un Saludo!

Yo te diria que echaras un vistazo al remake de Castle of Ilusion, la versión de Android la veo excelente para venir de la Xbox, aunque a nivel de programación no te puedo ayudar :P
 
 

Mira este juego, el control está muy logrado:
 
https://play.google.com/store/apps/details?id=com.Alper.SwordOfXolan&hl=es_419
 
Básicamente pintan botones encima de la pantalla y andando (nada revolucionario). Nunca vas a tener todo el control del PC pero bueno, en este ejemplo que te digo la verdad es que jugar se hace muy intuitivo.
 
 
 
 

Marzo 14, 2017, 09:47:14 AM #3 Ultima modificación: Marzo 14, 2017, 09:53:31 AM por pioj
Es más bien un debate de Diseño, sobre qué tipo de control implementar en base a lo que hay en la PlayStore y lo que gusta.
 
Habrá un grupo importante de gente que te recomiende que hagas un virtual joypad en la pantalla, porque a ellos les gusta así. En la Playstore, muchos juegos son de joystick virtual, cuando necesitan controlar el personaje y sus acciones.
 
Por otra parte, la gracia del Diseño de un control es que busques la innovación o la facilidad de uso. Abundan los runners porque su control es sencillo, rápido y adictivo, y pueden jugarlo en casi cualquier situación que no requiera estar tan pendiente de la pantalla como con los otros tipos de control.
 
Tu segunda pregunta es algo ambigua. Cualquier juego que sea "transferible" PC <--> Móvil, antes habrá tenido que ser planeado, diseñado y programado teniendo en cuenta esa idea. por tanto, deberán haber programado uno o varios métodos de control, y resoluciones de pantalla, dependiendo de la plataforma... 
 
 
 
Yo lo que sí que haría es unificar controles, de tal forma que puedas jugar a la vez tanto desde la pantalla (virtual joypad) como desde un mando.
 
Básicamente, sólo has de hacer que la llamada del virtual "mande" sobre la llamada del joypad físico. De esta forma, permites que los jugadores puedan también usar un mando Bluetooth, si les apetece...

Para ampliar mas tu pregunta a las respuestas que ya te han dado te diré que si no quieres utilizar los controles que ya vienen en Unity definidos para Android, siempre puedes crearlos tu. Tan solo tienes que crear botones en el canvas y darles el evento Event Trigger, creando en Pointer Down y un Pointer Up. Luego llamas a la función con True o False y en el Update le das el movimiento. El teclado se lo puedes quitar dependiendo de la plataforma si es Pc o Movil. Algo así te valdría:
 

public void BotonDerechaPulsa()
    {
        valor = true;
        TiempoInicio = Time.time;
    }
...
...
void Update () {
if (valor == true || Input.GetKey(KeyCode.RightArrow))
...

 
 El método funciona bien, lo tengo más que probado y la respuesta de los controles es excelente.
 
 
 
Ahora bien, si lo que quieres es hacer un Joystick desde 0, y de nuevo te digo que no quieres utilizar el que ya está programado en Unity puedes seguir estos tutoriales.
 


   
eature=oembed" width="480">

 
 
 
 
 


   
eature=oembed" width="480">

 
 
 
Un saludo, y espero que te haya ayudado.
 
 

Marzo 14, 2017, 05:40:36 PM #5 Ultima modificación: Marzo 14, 2017, 05:41:13 PM por lightbug
Cita de: Challenger date=1489470390Yo te diria que echaras un vistazo al remake de Castle of Ilusion, la versión de Android la veo excelente para venir de la Xbox, aunque a nivel de programación no te puedo ayudar :P
   


Ok gracias @Challenger lo voy a revisar. parece exactamente el tipo de juego que estaba buscando para movil jajaj.
 
Cita de: musaranya date=1489480464Mira este juego, el control está muy logrado:
   
   
      https://play.google.com/store/apps/details?id=com.Alper.SwordOfXolan&hl=es_419
   
   
      Básicamente pintan botones encima de la pantalla y andando (nada revolucionario). Nunca vas a tener todo el control del PC pero bueno, en este ejemplo que te digo la verdad es que jugar se hace muy intuitivo.
   


Gracias http://www.unityspain.com/profile/24492-musaranya/?do=hovercard" data-mentionid="24492" href="<___base_url___>/profile/24492-musaranya/" id="ips_uid_1120_8" rel="" style="">@musaranya, lo revisare, claro la idea no es tener todo el control de la PC y pasarlo al dispositivo, prefiero los juegos que tiene pocos controles (estilo NES) ya que son mas divertidos e intuitivos que esos juegos que estas media hora configurando las teclas en las opciones .
 
Cita de: pioj date=1489481234Es más bien un debate de Diseño, sobre qué tipo de control implementar en base a lo que hay en la PlayStore y lo que gusta.
   
   
      Habrá un grupo importante de gente que te recomiende que hagas un virtual joypad en la pantalla, porque a ellos les gusta así. En la Playstore, muchos juegos son de joystick virtual, cuando necesitan controlar el personaje y sus acciones.
   
   
      Por otra parte, la gracia del Diseño de un control es que busques la innovación o la facilidad de uso. Abundan los runners porque su control es sencillo, rápido y adictivo, y pueden jugarlo en casi cualquier situación que no requiera estar tan pendiente de la pantalla como con los otros tipos de control.
   
   
      Tu segunda pregunta es algo ambigua. Cualquier juego que sea "transferible" PC <--> Móvil, antes habrá tenido que ser planeado, diseñado y programado teniendo en cuenta esa idea. por tanto, deberán haber programado uno o varios métodos de control, y resoluciones de pantalla, dependiendo de la plataforma... 
   
   
       
   
   
      Yo lo que sí que haría es unificar controles, de tal forma que puedas jugar a la vez tanto desde la pantalla (virtual joypad) como desde un mando.
   
   
      Básicamente, sólo has de hacer que la llamada del virtual "mande" sobre la llamada del joypad físico. De esta forma, permites que los jugadores puedan también usar un mando Bluetooth, si les apetece...
   


Estuve a un pelito de ponerlo en Diseño jajaj si queres movelo al tema.
 
Seguramente hay muchos juegos en la PlayStorede este tipo, es mas me parece haber visto uno de esos juegos en el celu de un amigo una vez, (por eso la pregunta) pero de los juegos que me recomendaron ninguno lo tenia.
 
Claro, unificar controles es el santo grial de los juegos multiplataforma, aunque tengo muy pocas entradas, no creo que resulte en algo dificultoso. Lo de agregar un Joypad fisico lo tendre en cuenta mas adelante ya que ni sabia que existian . Gracias @pioj
 
Cita de: J_L date=1489484456Para ampliar mas tu pregunta a las respuestas que ya te han dado te diré que si no quieres utilizar los controles que ya vienen en Unity definidos para Android, siempre puedes crearlos tu. Tan solo tienes que crear botones en el canvas y darles el evento Event Trigger, creando en Pointer Down y un Pointer Up. Luego llamas a la función con True o False y en el Update le das el movimiento. El teclado se lo puedes quitar dependiendo de la plataforma si es Pc o Movil. Algo así te valdría:
   
   

public void BotonDerechaPulsa()
    {
        valor = true;
        TiempoInicio = Time.time;
    }
...
...
void Update () {
if (valor == true || Input.GetKey(KeyCode.RightArrow))
...

   
       El método funciona bien, lo tengo más que probado y la respuesta de los controles es excelente.
   
   
       
   
   
      Ahora bien, si lo que quieres es hacer un Joystick desde 0, y de nuevo te digo que no quieres utilizar el que ya está programado en Unity puedes seguir estos tutoriales.
   
   
       
   
   
      Un saludo, y espero que te haya ayudado.
   
   
       
   


Hola @J_L muchas gracias por el dato y el codigo, no sabia que podias crear tus propias funcionalidades, todavia tengo que adentrarme en el mundo Android muchisimo, es mas no sabia que Unity traia uno por defecto... es mas no se nada de joysticks jajaja. Despues le dare una probadita para ver que sale.
 
 
 
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
Una pregunta mas ya que me sacaron todas las dudas, cuando Debuguean un juego para movil, como lo realizan? Realizan el build y lo pasan o existe alguna otra forma?
 
Gracias a todos de nuevo!

Yo lo hago así Lighbug 
 
https://unity3d.com/es/learn/tutorials/topics/mobile-touch/building-your-unity-game-android-device-testing
 
Hay otros métodos como Unity Remote, pero no te lo recomiendo ya que no es lo mismo que probarlo directamente en el movil.
 
 

Cita de: Challenger date=1489514394Yo lo hago así Lighbug 
   
   
      https://unity3d.com/es/learn/tutorials/topics/mobile-touch/building-your-unity-game-android-device-testing
   
   
      Hay otros métodos como Unity Remote, pero no te lo recomiendo ya que no es lo mismo que probarlo directamente en el movil.
   
   
       
   


Android Monitor es estupendo para ver todo lo que ocurre, una vez has compilado tu apk y la ejecutas en el dispositivo Android...

Cita de: Challenger date=1489514394Yo lo hago así Lighbug 
   
   
      https://unity3d.com/es/learn/tutorials/topics/mobile-touch/building-your-unity-game-android-device-testing
   
   
      Hay otros métodos como Unity Remote, pero no te lo recomiendo ya que no es lo mismo que probarlo directamente en el movil.
   
   
       
   


No conocía esto, gracias!

Cita de: Challenger date=1489514394Yo lo hago así Lighbug 
   
   
      https://unity3d.com/es/learn/tutorials/topics/mobile-touch/building-your-unity-game-android-device-testing
   
   
      Hay otros métodos como Unity Remote, pero no te lo recomiendo ya que no es lo mismo que probarlo directamente en el movil.
   
   
       
   


 
 
Cita de: pioj date=1489516284Android Monitor es estupendo para ver todo lo que ocurre, una vez has compilado tu apk y la ejecutas en el dispositivo Android...
   


Ok gracias a todos! , todavia no investigué nada pero estaba case seguro que existia algun tutorial al respecto en Unity oficial. Como todos han aportado no se que poner de respuesta jajaj asi que no pongo nada.
 
Un saludo!

Cita de: Challenger date=1489514394Yo lo hago así Lighbug 
   
   
      https://unity3d.com/es/learn/tutorials/topics/mobile-touch/building-your-unity-game-android-device-testing
   
   
      Hay otros métodos como Unity Remote, pero no te lo recomiendo ya que no es lo mismo que probarlo directamente en el movil.
   
   
       
   


Como anillo al dedo me quedo Jajaja.., lo que me faltó  era crear la build en la carpeta raíz.

Yo utilizo el Unity Remote 5 instalado en el móvil para correrlo pero la opción de Challenger o Pioj me parecen mejores. Si nunca has probado nada en Android, te recomiendo este video el cual a mi me ayudo muchísimo. Son 24 minutos de tu vida que te harán ver las cosas de otra manera .
 


   
eature=oembed" width="480">

 
 

Etiquetas: