Acceder

Ver la Versión Completa : [GUIA] Gamestreaming usando Kainy


Deen0X
13/01/14, 14:34:17
Streaming: Del PC a tu consola Android

http://4.bp.blogspot.com/-f8bbCD9PoxA/Ur9S5Ke5epI/AAAAAAAAMTQ/hg1rqeSSgGI/s320/pc-overview.png (http://4.bp.blogspot.com/-f8bbCD9PoxA/Ur9S5Ke5epI/AAAAAAAAMTQ/hg1rqeSSgGI/s1600/pc-overview.png)

Nota: Este es un resumen del artículo original que está en mi blog.

Uso de este artículo

Se permite utilizar este artículo, ya sea copiando entero el artículo o partes de el, o referenciándola mediante un link, a cualquiera que lo desee, con la única condición de que se mantenga el autor y un enlace a la fuente original del artículo, y que se encuentra en%%%%c13%%%%mi blog (http://manguiro.blogspot.com/2014/01/guia-streaming-del-pc-tu-consola-android.html).

Para actualizaciones sobre este artículo, sugiero visitar el enlace mencionado anteriormente

¿Splashtop o Kainy?

Y aquí es donde llegamos a una de las primeras cosas que debemos analizar.

Splashtop

http://3.bp.blogspot.com/y5nRPttJ_JA1aNwUFZ7A9OM4O8oI5VTgjHNAGGw6a934k2b8Pt bG2cG43X3GskAEjeQ=w150-rw (http://3.bp.blogspot.com/y5nRPttJ_JA1aNwUFZ7A9OM4O8oI5VTgjHNAGGw6a934k2b8Pt bG2cG43X3GskAEjeQ=w150-rw)

Splashtop tiene una suite de programas que ofrecen distintos tipos de soluciones para streaming, aunque en todas ellas se utiliza el mismo "motor" o "protocolo" para transmitir audio/video y recibir interacciones desde android (ratón, teclado)

Por mencionar algunas de las alternativas que nos ofrecen tenemos:

Splashtop 2 (https://play.google.com/store/apps/details?id=com.splashtop.remote.pad.v2). Gratuíto. Para probar que tal nos va esta alternativa, es buena idea instalar este programa que nos permitirá hacer streaming sin mayores problemas. El receptor solo podrá recibir los eventos de teclado y mouse (pantalla táctil) desde el cliente, por lo que el mapeado debe ser realizado con alguna herramienta externa como GameKeyboard o similar, si queremos mapear los botones, sticks o dpad (para "transformar" los controles y botones en teclas normales de un teclado).

En sus ultimas versioes pide comprar un tipo de suscripción, por lo que no se si será por mi cuenta android que no me permite seguir utilizandolo mas de forma gratuíta, así que sugiero probar a instalarlo y ver si os permite ejecutarlo sin problemas. Requiere Android 2.2 hacia arriba
Splashtop Remote Desktop (https://play.google.com/store/apps/details?id=com.splashtop.remote). De pago (en oferta al 50% de descuento, quedando en 3.75€ al momento de escribir este artículo). En teoría es el mismo programa que Splasthtop 2, con algunas ventajas extra (que entiendo son mas bien de facilidad de uso, como busqueda automática por la red, inicio sin hacer login en la propia aplicación, etc), además de estar desarrollado para plataformas de android mas antiguas (2.2, hacia arriba)
Splashtop HD (https://play.google.com/store/apps/details?id=com.splashtop.remote.pad) (oferta 50% al momento de escribir este artículo, quedando en 7.39€). Es el mismo programa que Splasthop Remote Desktop, pero optimizado para android 3.x y 4x. Requiere android 3.1 para arriba
Splashtop Remote PC Gaming THD (https://play.google.com/store/apps/details?id=com.splashtop.remote.pad.thd)(oferta 50% al momento de escribir este artículo, quedando en 7.51€). Esta versión del programa es como la Splashtop HD, pero en un principio estaba diseñada para dispositivos Tegra, pero que luego se ha ampliado su abanico de dispositivos compatibles, pudiendo ser instalado en muchos otros también. Además, incluye una funcionalidad extra, y es que permite realizar mapeos en pantalla para controles (digitales) y teclados, pudiendo reproducir estos controles en windows y, por tanto, poder mapearlos dentro de juegos.


De estas alternativas, creo que la que mejor va es la Splashtop Remote PC Gaming THD, por que a nivel de streaming todas ofrecen mas o menos el mismo resultado (bastante bueno), pero esta alternativa en concreto ofrece mas opciones para poder configurar e interactuar con nuestros juegos en PC.

Aún así, he hecho algunas pruebas para mostrar algunos ejemplos de su ejecución en distintos dispositivos.

http://www.youtube.com/watch?v=8fS7sXvjEDY

Blades of Time, en streaming con Splashtop (Primeras pruebas)

En general el resultado del streaming es bastante bueno, sin necesidad de toquetear mucho para lograr conectar el dispositivo (tampoco existen muchas opciones que configurar)

Como se puede apreciar en el vídeo, existe cierto lag entre la pantalla y la consola, pero que en este caso no impiden jugar este título, ni otros que tampoco son tan estrictos con el input timing.

http://www.youtube.com/watch?v=BBlTZPtYTM4

Gameplay de Crysis 2

Evidentemente, el problema de tener controles digitales puede suponer un problema a la hora de jugar ciertos títulos, que requieren un control mas preciso que sólo puede ofrecer un ratón (el control ideal), o un stick analógico correctamente configurado y calibrado (y que sea cómodo de utilizar)

En el gameplay de Crisys 2, además de mi nulo conocimiento del juego (es la primera vez que lo jugaba, aunque algo conozco de FPS), es evidente que la falta de un control analógico de precisón afecta el gameplay, ya queno puedo realizar movimientos precisos.

Nota: Este es uno de los primeros gampelays que he capturado, y estoy utilizando un sistema de mapeado de teclas en el juego.

Kainy (http://www.kainy.com/)

http://3.bp.blogspot.com/pk_HaHUXSBJq2j-EbYcNZv_RbxlBJo0nughP9ONMBxLiuqDbrnq6cwahaPA7yfh-3Q=w150-rw (http://3.bp.blogspot.com/pk_HaHUXSBJq2j-EbYcNZv_RbxlBJo0nughP9ONMBxLiuqDbrnq6cwahaPA7yfh-3Q=w150-rw)

Por su parte, Kainy nos ofrece 3 versiones de su producto.

Kainy (Demo). Gratuíto. Este programa tiene las mismas funciones que su alternativa de pago, con la única limitante que muestra toda la imagen en un tono azulado (todo se presenta en gamas de azules). Antes de adquirir el programa de pago, es buena idea intentar realizar streaming desde el PC utilizando este programa, por que así podremos tener una idea bastante aproximada del resultado final que obtendremos.
Kainy HD. De pago (al momento de escribir este artículo, está en un precio promocional de 2.03€)- Esa versión es igual que la Demo, pero que nos mostrará la imagen a todo color, sin restricciones de ningún tipo.
Kainy (Steam Version), es la versión que se ha puesto en Greenlight para poder incorporar Kainy en los programas ofrecidos por Steam. Esta versión corresopnde a una versión previa de Kainy HD, y que debe ejecutarse con el propio servidor del PC de esta versión. Si se ejecuta con una versión posterior, funcionará como la versión Demo (todo azul). Nota: Esta versión está desfasada con respecto a la de android, pero ofrece la funcionalidad completa junto con su servidor windows.
Para este programa, antes que todo mis sugerencias son las siguientes:

Instalar la versión Steam, y descargar e instalar la versión del servidor de windows para esta versión. Una vez los tengas instalados, realizar una copia de seguridad del APK en android y del servidor en windows. Esta versión en teoría seguirá funcionando sinlimitaciones en el futuro, aunque claro está, que será una versión muy desactualizada con respecto a la oficial.
Una vez guardada la copia de la versión Steam (que de momento es gratuíta), podemos probar la última versión de Kainy con su Demo. Como he dicho, se verá todo en azul, pero nos servirá para ver que tanta diferencia podemos encontrar entre la versión gratis (Steam) y la versión actualizada de pago, pero desde ya puedo comentar que me he visto gratamente sorprendido por el avance que ha tenido estos últimos 2 meses, que he mos pasado de una versión que se caía constantemente y que no me daba ni para hacer una captura de un vídeo demostrativo en condiciones, pasando por las ultimas versiones que soy capaz de jugar sin problemas incluso con una baja señal wifi, como en los siguientes casos:


http://www.youtube.com/watch?v=UjoCYE6qOOIBurnout Paradise. En este vídeo se ve que el streaming se corta, congela o incluso se pierde la conexión. Es de las primeras pruebas con las que empecé a probar streaming hacia consolas.

http://www.youtube.com/watch?v=OJ0f-FAW2wk

Insane 2, donde se puede ver la evolución de Kainy, ya que el streaming ya no presenta problemas de cortes/desconexiones, ni mayores problemas gráficos.

Nota: A lo largo de este artículo, he realizado varias pruebas con distintos dispositivos, principalmente para no centrar el contenido de esta guía en un solo dispositivo (en teoría, es una guía genérica). Asimismo, he utilizado muchas veces los mismos juegos en distintos dispositivos, para poder hacer comparativas y poder apreciar si existen diferencias entre las ejecuciones.

También es cierto que a medida que he estado haciendo pruebas, he modificado algunos parámetros, consiguiendo en algunos casos algunas mejoras en el streaming.

Entender que lo anterior es una forma de lograr hacer comparativas (en mi caso por lo menos) para ver si las pruebas dan mejores resultados o no con ciertos parámetros.

En todo caso, voy a omitir la mayoría de pruebas y parámetros que no considere trascendentales y que lo único que harían es liar mas que ayudar a lograr el propósito final de realizar streaming de juegos desde el PC.

Otra característica a destacar de Kainy es que actualmente cuenta con un cliente PC (windows), y un cliente Chrome, lo que extiende muchísimo el abanico de posibilidades de este programa.

Con el cliente PC, podemos "replicar" un ordenador en otro ordenador para poder jugar (lo mismo que hacemos con android, pero directamente con el PC).

Con el cliente Chrome, podemos jugar a nuestros juegos de PC, directamente desde el navegadro Chrome (sin necesidad de cargar un programa windows aparte)

Lo anterior acompañado de una buena conexión internet (con una buena subida, sobre todo) podría ser una combinación muy interesante para poder ofrecernos a nosostros mismos el servicio de streaming a través de internet, y poder jugar a nuestros títulos en nuestro ordenador, desde casi cualquier dispositivo Android, ordenador con Windows, o incluso desde cualquier ordenador con Chrome instalado y que soporte plugins.

Manos a la obra

Aunque es una versión mas "de andar por casa" que NVidia Shield, tenemos unos requerimientos mínimos que intentaremos cumplir.

También hay que considerar que la emulación basada en la solución de Kainy, tiene bastante uso de CPU, por lo que el desarrollo de algún juego se puede ver afectado en su rendimiento.

¿Que necesitamos?

Para la infraestructura:

PC "aceptable", que permita ejecutar los juegos que queremos ejecutar (no es lo mismo el requerimiento para ejecutar Doom, que para ejecutar Batman Arkham City). Considerar que cuando se realiza streaming, hay mas uso de CPU, por lo que si tienes un juego que va muy justo de procesador, al hacer streaming irá relentizado. En mi caso para las pruebas de este artículo utilizo un%%%%c13%%%%Samsung%%%%c13%%%%NP300V5AH Core i7 (http://www.samsung.com/ae/consumer/computers-peripherals/notebook/high-performance/NP300V5A-S0AAE)%%%%c13%%%%(que es de mi mujer en realidad, jejeje)
Puerto de red por cable (de preferencia Gigabit). He probado con algún adaptador de red USB, y también funciona sin mayores problemas.
Router con buena antena Wifi. En mi caso utilizo el TP-Link TD-W8970 (http://www.tp-link.es/products/details/?model=TD-W8970)%%%%c13%%%%(su precio oscila entre 50 y 55€ en tienda española. es cuestión de buscar)
Consola/Dispositivo Android


Software requerido (Estos son los programas que he utilizado. Mas abajo pondré enlaces a los ficheros de configuración que tengo y que he utilizado en las capturas de vídeo):

Kainy (http://www.kainy.com/) (Version Demo (http://play.google.com/store/apps/details?id=com.kainy.clientdemo)o Completa (http://play.google.com/store/apps/details?id=com.kainy.client)de Android y servidor Windows (http://www.kainy.com/KainySetup.exe))
VJoy (http://headsoft.com.au/index.php?category=vjoy), para transformar de Teclado a Joystick Standard (usar la versión completa (http://headsoft.com.au/download/pc/VJoySetup.exe))%%%%c13%%%%
X360ce (https://code.google.com/p/x360ce/downloads/list), para transofrmar de Joystick Standard a mando de X360 (Aplicacion (https://x360ce.googlecode.com/files/x360ce.App-2.1.2.191.zip)y drivers 32 (https://x360ce.googlecode.com/files/x360ce_lib32_r848_VS2010.zip)/64 (https://x360ce.googlecode.com/files/x360ce_lib64_r848_VS2010.zip)bits)
Titanium Backup (https://play.google.com/store/apps/details?id=com.keramidas.TitaniumBackup&hl=es) para importar los datos de Kainy en Android.


Ficheros de Deen0X

Kainy Titanium Backup (https://mega.co.nz/#!TR9XWRKR!K4Gf3hfRa6yHsWZbmacpnST_dSQ49zcB80O7zM2 DYw0) (solo datos, es un directorio donde guardaré actualizaciones de las configuraciones de Kainy). En este fichero se encuentran la mayoría de configuraciones de teclado y layouts de pantalla que podamos necesitar.
VJoy (https://mega.co.nz/#!vFdj1DLR!HV3mJy1FUiom31HiYex5J3QgeuRzgo09aUgiimz Qjmg) fichero de configuración. Este fichero funciona en conjunto con la configuracion de Kainy, y permite el mapeado directo de 2 players a los joysticks emulados en Windows
X360ce (https://mega.co.nz/#!nAskjAhB!MO6j4EnRJKYmYv6UN_VvTwp3JftqmHpXGKr27Fr axWQ)ficheros de configuración. Copiar estos ficheros en cada juego que necesitemos soporte de mando de X360. Esta configuración esta preparada para trabajar con el fichero de configuración de VJoy (los joysticks virtuales)


El fichero de Kainy contiene preconfiguraciones de layouts y teclados, en 3 variantes cada uno:

Player 1
Player 2
Player 1 var: Esta configuración es una altenrativa de uso para el Player 1, dependiendo del dispositivo donde se utiliza.


se incluyen estos layouts Genéricos (no son específicos para los dispositivos, sino que se toma como base la máquina. Usar el que mejor se acomode con el dispositivo que vamos a utilizar):

JXDS7800B
IBEN-L1
Much i5
Tablet Genérica (7")
OUYA
GPD-G5A
GPD-G7


http://1.bp.blogspot.com/-meMFg4nKFFA/UtLrQuJrfII/AAAAAAAAMlw/eAcMLF_z2hY/s320/Screenshot_2014-01-13-03-14-02.png (http://1.bp.blogspot.com/-meMFg4nKFFA/UtLrQuJrfII/AAAAAAAAMlw/eAcMLF_z2hY/s1600/Screenshot_2014-01-13-03-14-02.png)

http://4.bp.blogspot.com/-72ZplWWsoZk/UtLrPdn4f4I/AAAAAAAAMlo/iAwQWSerAZA/s320/Screenshot_2014-01-13-03-14-14.png (http://4.bp.blogspot.com/-72ZplWWsoZk/UtLrPdn4f4I/AAAAAAAAMlo/iAwQWSerAZA/s1600/Screenshot_2014-01-13-03-14-14.png)

http://1.bp.blogspot.com/-F4AYU4pgOnE/UtLrOVrrAYI/AAAAAAAAMlg/SliYKmNUlsk/s320/Screenshot_2014-01-13-03-14-23.png (http://1.bp.blogspot.com/-F4AYU4pgOnE/UtLrOVrrAYI/AAAAAAAAMlg/SliYKmNUlsk/s1600/Screenshot_2014-01-13-03-14-23.png)

También están las configuraciones de los botones para los mapeos de teclas

http://1.bp.blogspot.com/-CmT623XWJHw/UtLrM2fgQWI/AAAAAAAAMlY/MlQ8sD-jaZc/s320/Screenshot_2014-01-13-03-14-35.png (http://1.bp.blogspot.com/-CmT623XWJHw/UtLrM2fgQWI/AAAAAAAAMlY/MlQ8sD-jaZc/s1600/Screenshot_2014-01-13-03-14-35.png)

Ficheros de VJoy

El fichero .rar de configuraciones VJoy, contiene 5 ficheros:

VJoy XYAB_L1R1L2R2.ini
VJoy XYAB_L2R2L1R1.ini
VJoy YXBA_L1R1L2R2.ini
VJoy YXBA_L2R2L1R1.ini
VJoy.ini (idéntico a VJoy XYAB_L1R1L2R2.ini)


En general, un orden de botones standard es, hablando en nomenclatura de X360, es la que denominaremos XYAB (por que están en ese orden, de izquierda a derecha y de arriba hacia abajo):

http://3.bp.blogspot.com/-g0rowyXjCEo/UtL9oz7IehI/AAAAAAAAMmA/B4-ztPooNRc/s320/XYAB.png (http://3.bp.blogspot.com/-g0rowyXjCEo/UtL9oz7IehI/AAAAAAAAMmA/B4-ztPooNRc/s1600/XYAB.png)

Pero algunos dispositivos tienen cambiados estos valores. La principal variante de este orden es este (YXBA):

http://4.bp.blogspot.com/-pbeMWA7_QsM/UtL9pOYe1FI/AAAAAAAAMmI/WgJjL6aKvgc/s320/YXBA.png (http://4.bp.blogspot.com/-pbeMWA7_QsM/UtL9pOYe1FI/AAAAAAAAMmI/WgJjL6aKvgc/s1600/YXBA.png)

Tomaremos como normal la XYAB, pero si ves que los botones están intercambiados, prueba a cargar alguna de las variantes YXBA que he puesto en el fichero (YXBA_L1R1L2R2 debería ser la forma "normal")

Ahora, dentro de estas variantes he puesto 2 extra, que son con los gatillos intercambiados.

Si miramos una consola como la JXDS7800B, veremos que el orden de los gatillos es (de externo hacia interno):

http://1.bp.blogspot.com/-a61fux3ho1o/UtMD7FUh9II/AAAAAAAAMmc/s8N7-YY7yWc/s320/JXDS7800B+Top.png (http://1.bp.blogspot.com/-a61fux3ho1o/UtMD7FUh9II/AAAAAAAAMmc/s8N7-YY7yWc/s1600/JXDS7800B+Top.png)

L1, R1, L2, R2


Hay algunos dispositivos como la consola GPD-G18 que tienen intercambiados estos gatillos, y los presentan como:

http://1.bp.blogspot.com/-1Vv96KVMBW8/UfrD4tft_vI/AAAAAAAAIew/cZhkxTuPx2A/s320/CIMG3319.JPG (http://1.bp.blogspot.com/-1Vv96KVMBW8/UfrD4tft_vI/AAAAAAAAIew/cZhkxTuPx2A/s1600/CIMG3319.JPG)

L2, R2, L1, R1


Los ficheros que he puesto en la configuración tienen estas variantes, de los botones y de los gatillos, para adecuar fácilmente los botones a nuestro dispositivo, sin tener que cambiar nada en las configuraciones. Simplemente vamos a VJoy y le damos a "Load" para cargar alguno de estos ficheros.

El mapeo que normalmente haríamos para enlazar de un control standard a un mando de X360 sería algo como esto:

http://4.bp.blogspot.com/-3jJrFzW55C0/UtMD9S8UrAI/AAAAAAAAMm4/lEb94uukVsg/s320/Mandos+y+Gatillos+v1.png (http://4.bp.blogspot.com/-3jJrFzW55C0/UtMD9S8UrAI/AAAAAAAAMm4/lEb94uukVsg/s1600/Mandos+y+Gatillos+v1.png)

Como dato, en general utilizo la variante de L2R2L1R1 (los gatillos invertidos) por que me resulta mucho mas cómodo utilizar los gatillos externos como gatillos (LT y RT en nomenclatura X360), y los internos como pulsadores (LB y RB)

http://2.bp.blogspot.com/-nZO010GNX34/UtMD7xdnGaI/AAAAAAAAMmo/Dr-fjfrO96g/s320/Inverted.png (http://2.bp.blogspot.com/-nZO010GNX34/UtMD7xdnGaI/AAAAAAAAMmo/Dr-fjfrO96g/s1600/Inverted.png)

Incluso en consolas con solo L1 y R2, utilizo esta configuración cambiada, por que generalmente los gatillos tienen mucho mas uso que los pulsadores. Por ejemplo, en Batman Arkham City, el gatillo derecho del mando de X360 se utiliza mucho para el gancho (para subir a los edificios) y el gatillo izquierdo para activar los gadgets, mientras que el pulsador derecho se utiliza con menos frecuencia al igual que el izquierdo.

En los juegos de coches, generalmente el gatillo derecho se utiliza para acelerar y el izquierdo para frenar, por lo tanto, prefiero utilizar los gatillos L1 y R1 de cualquier consola, como L2 y R2 (los gatillos de un mando X360), y L2 con R2, que están mas complicados de utilizar al estar mas hacia adentro en el diseño de las consolas, los dejo para los pulsadores L1 y R1 (LB y RB)

Ficheros X360ce

Estos ficheros contienen la configuración para el emulador del mando X360ce. Basicamente hay que copiar estos ficheros en cada directorio con los ejecutables de los juegos que necesitan un mando de X360 para unfionar (como el Batman Arkham City, por poner un ejemplo)

Instalando programas

La parte mas complicada de todo el tema de streaming es configurar todo para que funcionen los joysticks, y eso ya lo tenemos con los ficheros anteriores.

Ahora, instalamos Kainy en Android, y NO ABRIRLO todavía. (si lo has abierto, puedes ir a detalles de la aplicación y eliminar el caché y los datos del programa, y forzar a que se detenga)

Descargamos el fichero del backup de Kainy, y lo importamos con Titanium Backup, dando a restaurar los Datos.

Una vez importados, en android solo nos faltará configurar la información del Servidor Kainy para poder conectarnos.

VJoy

http://2.bp.blogspot.com/-uh_zxvqtVKY/UtHPRPiGn5I/AAAAAAAAMkM/27z-baelyT8/s320/vjoy002.jpg (http://2.bp.blogspot.com/-uh_zxvqtVKY/UtHPRPiGn5I/AAAAAAAAMkM/27z-baelyT8/s1600/vjoy002.jpg)

Instalamos VJoy. La instalación es muy sencilla y no debería complicarnos. Una vez instalado, copiamos el fichero de configuración que hemos descargado (VJoy.ini) en el directorio donde está VJoy, y lo dejamos con ese nombre para que lo cargue automáticamente al arrancar el programa.

http://4.bp.blogspot.com/-OMypYvetDJc/UtHP67mEezI/AAAAAAAAMkU/Jbi4o0NnkxE/s320/Kainy.jpg (http://4.bp.blogspot.com/-OMypYvetDJc/UtHP67mEezI/AAAAAAAAMkU/Jbi4o0NnkxE/s1600/Kainy.jpg)

Instalamos Kainy Server en nuestro PC donde ejecutaremos los juegos (que llamaremos PC-Gamer). Una vez instalado, ejecutamos el programa y al abrir la interfaz, nos vamos a "Settings" y luego a "Network"

http://1.bp.blogspot.com/-3hKezA79ml8/UtHMPFjbzaI/AAAAAAAAMi8/JB4pTzHfWzM/s320/HowToConnect.png (http://1.bp.blogspot.com/-3hKezA79ml8/UtHMPFjbzaI/AAAAAAAAMi8/JB4pTzHfWzM/s1600/HowToConnect.png)

Para conectarnos sólo nos hará falta la ip Local (que en el ejemplo es 10.0.0.10) y la password de Kainy, pero para una correcta implementación de la interfaz de conexión en Android, pondremos los 4 datos marcados con rojo.

Nota: La IP Local es la IP de nuestro PC (es la ip del adaptador de red que estamos utilizando)

http://4.bp.blogspot.com/-K32REhacPXE/UtHN55YWRHI/AAAAAAAAMkA/00EXWr-QlyU/s320/2014.01.11-17.59.42.jpeg (http://4.bp.blogspot.com/-K32REhacPXE/UtHN55YWRHI/AAAAAAAAMkA/00EXWr-QlyU/s1600/2014.01.11-17.59.42.jpeg)

Abrimos Kainy en Android, y nos saldrá una página con varias opciones vacías. Cada una de estas opciones es un slot, y nos permitirá conectarnos a un servidor.

http://3.bp.blogspot.com/-LjodKAvoD78/UtHN3rQUS0I/AAAAAAAAMj4/-FGMzADpoZc/s320/2014.01.11-17.59.49.jpeg (http://3.bp.blogspot.com/-LjodKAvoD78/UtHN3rQUS0I/AAAAAAAAMj4/-FGMzADpoZc/s1600/2014.01.11-17.59.49.jpeg)

Seleccionamos una y nos dará las opciones de conectar (que todavía no hemos configurado la conexión) y editar el slot. Editamos.

http://3.bp.blogspot.com/-EBypFWCxWGU/UtHNy3iVHgI/AAAAAAAAMjg/d3Krv3FU8sQ/s320/2014.01.11-18.00.14.jpeg (http://3.bp.blogspot.com/-EBypFWCxWGU/UtHNy3iVHgI/AAAAAAAAMjg/d3Krv3FU8sQ/s1600/2014.01.11-18.00.14.jpeg)

En esta pantalla llenamos los datos que necesitamos. El nombre del servidor es un nombre que le daremos al slot, el resto, son datos que sacaremos de la pantalla de settings de Kainy en el PC

http://2.bp.blogspot.com/-SUUmzf1Weqs/UtHNxkF9MOI/AAAAAAAAMjY/IA9mEC8JNL0/s320/2014.01.11-18.02.25.jpeg (http://2.bp.blogspot.com/-SUUmzf1Weqs/UtHNxkF9MOI/AAAAAAAAMjY/IA9mEC8JNL0/s1600/2014.01.11-18.02.25.jpeg)

Damos al botón "Atrás" para guardar, y ya nos sale el slot disponible para conectar.

http://1.bp.blogspot.com/-uFKZtVZgo_A/UtHNvqd0kBI/AAAAAAAAMjQ/NcUlF4il74w/s320/2014.01.11-18.02.47.jpeg (http://1.bp.blogspot.com/-uFKZtVZgo_A/UtHNvqd0kBI/AAAAAAAAMjQ/NcUlF4il74w/s1600/2014.01.11-18.02.47.jpeg)

http://2.bp.blogspot.com/-3NhmIa7IDQY/UtHNuF4bTZI/AAAAAAAAMjI/UKRkH1Ptcgw/s320/2014.01.11-18.02.51.jpeg (http://2.bp.blogspot.com/-3NhmIa7IDQY/UtHNuF4bTZI/AAAAAAAAMjI/UKRkH1Ptcgw/s1600/2014.01.11-18.02.51.jpeg)

Verificar que en Windows no nos salta el firewall solicitando permisos, de ser así, concederle los necesarios para que Kainy se conecte sin problemas al PC. (Aquí hay una guía (http://www.kainy.com/firewall.html) para conceder permisos a Kainy con el firewall de windows)

X360ce

http://1.bp.blogspot.com/-S8cvF2LcnBQ/UtHQrX2fNSI/AAAAAAAAMkc/fMe31ativGU/s320/X360+Controller+Emulator.png (http://1.bp.blogspot.com/-S8cvF2LcnBQ/UtHQrX2fNSI/AAAAAAAAMkc/fMe31ativGU/s1600/X360+Controller+Emulator.png)

Finalmente, copiamos los ficheros que he puesto para X360ce, en la carpeta de binarios de cada juego que necesitemos un mando de X360

Por ejemplo, para Batman Arkham City, el directorio de binarios de mi instalación es:

D:\SteamApps\common\Batman Arkham City GOTY\Binaries\Win32\

Hay que copiarlos donde está el .exe de cada juego.

Si lo hemos hecho bien, cuando lancemos el juego oiremos un "beep" (o algún sonido del sistema) que nos indica que la emulación del mando de X360 ha iniciado.

Prueba general

Abriremos VJoy, habilitaremos la emulación (el check superior izquierdo que pone "Enabled"), nos aseguramos que "Block Keys" y "Auto center" están marcados.

Nota: Cuando "Block Keys" está seleccionado, cuando presionemos teclas que están mapeadas en el programa, windows no las mostrará como teclas, sino que se comportarán como el botón o control del joystick al que han sido asignadas, por lo tanto mientras está activa la emulación, no se podrá escribir con el teclado.

Conectamos Kainy desde Android, Seleccionamos el layout que mas nos acomode para nuestro dispositivo, y seleccionamos el mapeo de teclado que nos resulte cómodo. En este caso, voy a utilizar una consola JXDS7800B y he elegido el mapeo "Player 1", junto con el layout "JXDS7800B Player 1"

http://1.bp.blogspot.com/-meMFg4nKFFA/UtLrQuJrfII/AAAAAAAAMlw/eAcMLF_z2hY/s320/Screenshot_2014-01-13-03-14-02.png (http://1.bp.blogspot.com/-meMFg4nKFFA/UtLrQuJrfII/AAAAAAAAMlw/eAcMLF_z2hY/s1600/Screenshot_2014-01-13-03-14-02.png)

En Kainy, damos al botón , y en el menú que nos aparece le damos a "Ajustes"

http://2.bp.blogspot.com/-itDa_HgrwPY/Uss-_vwIogI/AAAAAAAAMV8/U-L-n4jVacA/s320/MUCH_20140107_003824.jpg (http://2.bp.blogspot.com/-itDa_HgrwPY/Uss-_vwIogI/AAAAAAAAMV8/U-L-n4jVacA/s1600/MUCH_20140107_003824.jpg)

Seleccionamos en la "Ranuras de Hardware" la configuración "Player 1" (que he creado para Kainy), y seleccionamos "Atrás"

A continuación vamos a Windows, ejecutamos VJoy y lo activamos (Enabled debe estar marcado)

A continuación abrimos las propiedades de joystick (ejecutar "%windir%\system32\control joy.cpl") y vamos al joystick 1, y en la pantalla de pruebas, movemos los controles de nuestro dispositivo.

http://www.youtube.com/watch?v=zk-ItlirRho

Finalmente, vamos al juego que queremos ejecutar, por ejemplo Batman Arkham City, y en el directorio de los binarios (.exe) ejecutamos x360ce.exe, y movemos los mandos y botones de nuestro dispositivo

http://www.youtube.com/watch?v=Oxqp8axjrc8

[B]Cambio de resolución de pantalla

Una vez configurado todo correctamente, vamos a las propiedades de pantalla y cambiamos la resolución de windows por una que sea %%%%c13%%%%lo mas cercana a la configuración de pantalla de nuestro dispositivo Android, y la profundidad de color a 16 bits.

por ejemplo, para la JXDS7800B, que tiene una resolución de 1280x800 pixels. Windows nos permite una resolución de 1280x720, por lo que usaremos esta como resolución base.

Cambiar la resolución de Windows es en el caso de que ejecutemos juegos a pantalla completa. Si vamos a ejecutar juegos en ventana, no es necesario cambiar la resolución de pantalla de windows, pero si es aconsejable bajar la profundidad de color a 16bits

Nota: Si vemos que aún así tenemos un streaming poco fluído, podemos intentar otro "truco". En android instalamos "Resolution Changer Pro" o alguno similar, que nos permita cambiar la resolución de la pantalla en Android. Vamos a bajar la resolución de la pantalla en android para ganar en fluidez en el streaming. Por poner un ejemplo, podemos bajar a 1024x600 o a 800x600. Ya es cuestión de "jugar" con algunos valores mas o menos similares a los de windows, y encontrar alguno que nos vaya bien. Ojo, según que programa utilicemos algunos valores podrían colgar el dispositivo. Hay que asegurarse de que estos valores no son permanentes (que no se apliquen cuando reiniciamos android)

¿Player 2?En las configuraciones he puesto énfasis en establecer una configuración funcional para el player 2, pero para que nos puede servir esto?

Existen varios usos en realidad. Empezando por el mas simple, que es utilizar una consola como mando en windows (sin el streaming de vídeo)

http://www.youtube.com/watch?v=FvcA5dbCq1o

(En este vídeo utilizo Droidmote como mando, pero es exactamente lo mismo para Kainy)

Pero el uso mas interesante (creo yo) es la posibilidad que tiene Kainy de mandar streamings de partes de una pantalla, y poder conectar mas de un dispositivo al mismo servidor.

http://2.bp.blogspot.com/-aYQy7sza39k/Us3jXcZQueI/AAAAAAAAMdI/NF9giiRQH8E/s320/Screenshot_2014-01-09-00-30-36.png (http://2.bp.blogspot.com/-aYQy7sza39k/Us3jXcZQueI/AAAAAAAAMdI/NF9giiRQH8E/s1600/Screenshot_2014-01-09-00-30-36.png)

Con esta característica, se pueden conseguir cosas interesantes como en este vídeo

http://www.youtube.com/watch?v=kZ7yF144xZQ

Donde básicamente he cargado un emulador de GameCube en el ordenador, he cargado un juego que permite jugar 2 players a pantalla dividida, y aprovechando esto mismo, he enviado la mitad superior del juego a una consola, y la parte inferior a otra consola, obteniendo 2 juegos "separados" en 2 consolas, y que se comportan como juegos independientes en cada una (como si fuese un juego en red)

Para esto basicamente he cargado un layout Player 1 en una consola, con su slot de hardware en "Player 1", y en el otro dispositivo un layout y slot de hardware "Player 2"

http://2.bp.blogspot.com/-C1wsVqI_YB4/UsL9LjIhIPI/AAAAAAAAMTw/sYwtHlMC_zw/s320/CIMG4379.JPG (http://2.bp.blogspot.com/-C1wsVqI_YB4/UsL9LjIhIPI/AAAAAAAAMTw/sYwtHlMC_zw/s1600/CIMG4379.JPG)

Como VJoy (y x360CE) ya están configurados con los 2 mandos, es muy fácil mapearlos en el emulador (o en un juego) y obtener 2 "pantallas independientes" con mandos independientes para cada una.

Cambio en prioridades

con el juego en ejecución, abrimos el administrador de tareas y seleccionamos "kainy.exe *32" (el proceso de Kainy) y le establecemos la prioridad a "por encima de lo normal". Buscamos el proceso de nuestro juego que tenemos en ejecución, y establecemos la prioridad a la misma "por encima de lo normal"

Se puede probar con esta prioridad y establecerla a "alta" en ambos casos, pero nunca ponerla a "tiempo real", por que ya no tendremos control sobre windows. Se aconseja tener siempre ambos procesos con la misma prioridad.

Ultimas notas

Tal como se ha comentado en el artículo, evitar IPs dinámicas, y conexiones WIFI. Usar siempre conexiones por cable.

En android evitar cualquier programa que pueda estar trabajando en segundo plano (actualizaciones automáticas de google, por ejemplo) y que nos quiten ancho de banda para nuestro streaming.

Y sobre todo aplear al ingenio y al uso del sentido común.

¿Y que viene ahora?

Esta guía la he publicado con las versiones actuales de cada programa, poniendo todo mi empeño en simplificar el proceso para aquellos usuarios que no tienen los conocimientos o destreza necesarios para lograr llegar a realizar un streaming con un control sobre los juegos. He visto muchos comentarios en la web donde indican que configurar Kainy o Splashtop es muy complicado, y dejan de intentarlo por lo mismo.

No es complicado, solo basta hacerse un poco a la idea de como trabajan.

También la he publicado antes de lo previsto. En principio quería hacer pruebas de conectividad y uso de gamestreaming por internet, pero la conexión que esperaba (Fibra) no ha llegado a tiempo, y no he logrado dar con alguien que me ayude a realizar pruebas.

Además he logrado ponerme en contacto con el desarrollador de Kainy, y me ha comentado cosas muy interesantes para la próxima "versión grande", que será la 1.75, y que incluye varias mejoras, modificaciones, y nuevas características que harán el proceso mucho mas simple de lo que he explicado aquí.

Cuando tengamos esta versión, publicaré una guía rápida para hacer streaming (tranquilos, será algo mucho mas resumido), con las correspondientes actualizaciones en los métodos y configuraciones.

Me he extendido en esta guía, por que la primera parte es algo como un "libro de ruta", pasando por varias etapas e investigaciones que hice, con la idea de que alguien que se lo lea se le ocurran nuevas cosas para investigar y proponer.

Espero que no haya resultado muy pesado leer este ladrillo, y espero vuestras opiniones, colaboraciones y comentarios al respecto.

Para quien quiera ver mas vídeos de streaming, he generado una lista de reroducción en mi canal de youtube.

Galería Youtube

http://1.bp.blogspot.com/-e20vzEBUBvk/UtMoG5wWkfI/AAAAAAAAE2M/JPXTHrgyYGU/s200/Youtube+Deen0X.png (http://www.youtube.com/watch?v=Ruls9VWenC8&list=PLXPqQ3mj-_IdzvyjxQFpM0kGjEhmEYXNj)

http://www.youtube.com/watch?v=ixRrACEIDhk

http://www.youtube.com/watch?v=BBlTZPtYTM4

http://www.youtube.com/watch?v=zsLcPJxjlpk

http://www.youtube.com/watch?v=DJWhajYXrWY

http://www.youtube.com/watch?v=zsLcPJxjlpk

http://www.youtube.com/watch?v=30fB5KGnMoI

http://www.youtube.com/watch?v=NUYlnyIKHGE

http://www.youtube.com/watch?v=kZ7yF144xZQ

Zalu2!

Deen0X

chetis1990
12/03/15, 23:21:50
Muy currado, tengo una pregunta uso splashtop thd y no consigo que se vea el juego, solo se ve el escritorio y no a pantalla completa se escucha puedo controlarlo con el móvil pero no se ve por cierto tengo un experia z2 gracias por tu tiempo

Deen0X
12/03/15, 23:29:02
Buenas.

Antes que todo, esta guía está algo desfasada.
hace algun tiempo publiqué una guía V2
http://manguiro.blogspot.com/p/guia-de-gamestreaming.html

sobre lo que me comentas, Splashtop tiene un problema con las aplicaciones en pantalla completa.
para poder jugar en pantalla completa, solo podrás hacerlo con los juegos que tienen la opción de ventana maximizada sin bordes.
que juego estás intentando jugar?
ponlo en ventana, y prueba.

como alternativa, no puedes utilizar limelight? te irá mucho mejor que splashtop en general.

Zalu2!

chetis1990
13/03/15, 11:17:04
Estoy jugando al most wanted y he pobrado los sims 3 y tampoco y jugando al principio no lo tenia a pantalla completa los juegos y nada muchas gracias por tu contestación por cierto no soy root voy a probar ese que me has dicho

Deen0X
13/03/15, 11:27:25
espera...

tienes gráfica integrada o gráfica dedicada?

y por cierto, para Limelight, necesitas una gráfica nvidia compatible (GTX650 para arriba)

chetis1990
13/03/15, 12:46:24
Limelight es solo compatible con g force mi tarjeta gráfica es ati

chetis1990
13/03/15, 12:47:07
Es un portátil con la tarjeta integrada

Deen0X
13/03/15, 13:00:20
pues eso es lo que te estaba diciendo.

nada, no podrás utilizar limelight.
también puedes probar kainy o kinoconsole

chetis1990
13/03/15, 16:56:46
ya lo vi despues de dejar el comentario xd, he usado kainy el cual va super lageado en el movil y los controles ni funcionan , he usado kinoconsole pero los controles ni me funcionan pero funciona bastante fluido, hay algun programa para combertir el need ford speed most wanted o cualquier juego compatiple con gamepad, tengo una gamepad mad cazt que lo controlo con el movil mediante Bluetooth , no puedo conectarlo al ordenador muchas gracias por tus respuestas