ouya android para consolascore.ugr.es/jornadas-android/data/tallerouya23_05_2014.pdf · android...

29
OUYA Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero

Upload: others

Post on 15-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

OUYAAndroid para consolas

Jesús Luis Muros Cobos

Manuel José Baena Toquero

Page 2: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

Indice

� Videojuegos y Android

� OUYA

� Comenzando el desarrollo

� Ejemplos con ECLIPSE

Página � 2

� Ejemplos con ECLIPSE

� Motores para el desarrollo con OUYA

� Ejemplos con Unity

Page 3: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

Videojuegos y Android

Página � 3

Page 4: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

Videojuegos y Android

Página � 4

Page 5: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

Videojuegos y Android

Página � 5

Page 6: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

Videojuegos y Android

Nvidia Shield Project MOJO Archos Gamepad 2

Página � 6

ZTE FUN BOX Game Stick eSfere

Page 7: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

OUYA

Página � 7

Page 8: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

OUYA

System on a Chip Nvidia Tegra 3 T33-P-A3

CPU

Quad-core 1.7 GHz ARM Cortex-A9 MPCore (arquitectura ARMv7-A)con

extensiones NEON Advanced SIMD y unidad de punto flotante VFPv3

GPU

Nvidia GeForce ULP @ 520 MHz (12.48 GFLOPS)1080p por

Hardware MPEG-4 AVC/h.264 40 Mbit/s High-Profile, VC1-AP, y

decodificación de video DivX 5/6

Memoria RAM 1 GiB DDR3-1600 SDRAM (compartidos para CPU y GPU)

Entrada USB 1 USB 2.0, 1 microUSB

Salida de Video:

HDMI 1.4; resolución de 1080p o 720p. soporte para Stereoscopic

3D.

Página � 8

Salida de Video:

3D.

Salidas de Audio: HDMI (ARC), 5.1 or 2.0 canals

Almacenamiento: Memoria flash de 8 GB eMMC

Conectividad: 10/100 Ethernet (8P8C),WiFi 802.11 b/g/n, Bluetooth LE 4.0

Consumo de energí a: 4.5 watt, 1 watt (standby)

Alimentación eléctrica:

12 volt DC via conector coaxial (OD 5.50 mm, ID 2.50 mm, center

positive)

Tamaño: 75×75×82 mm (2.95×2.95×3.23 in)

Peso: 300 g (10,582383858337 oz)

Sistema Operativo: Android 4.1 (Jellybean) con un launcher personalizado de Ouya.

Page 9: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

OUYA

788 Juegos y contando…

Página � 9

Page 10: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

Comenzando el desarrollo

�¿Qué necesitamos?

Página � 10

ADT + NDK ODK

Page 11: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

Configurar ADT

Página � 11

Page 12: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

ODK

�Ouya Developer Kit puede descargarse de:

https://gamers.ouya.tv/developers/odk

�Requiere registro gratuito.

Página � 12

Page 13: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

Página � 13

Page 14: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

Configurar nuestra OUYA

Página � 14

Page 15: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

Configurar nuestra OUYA (II)

Página � 15

• Tras esto conectamos usando adb

Page 16: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

¡No tengo una OUYA!

�Usa un emulador

– Resolución: 1920x1080

– Botones hardware (Back y Home)

– Soporte para D-PAD

Página � 16

– Soporte para D-PAD

– Nivel de API 16

– Dispositivo a emular: Intel Atom x86

– RAM: 1GB

Page 17: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

Vamos a programar

Página � 17

Page 18: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

Usando la biblioteca de OUYA

�Para trabajar con las funciones de OUYA es necesario incluir el jar que se encuentra en el ODK.

Página � 18

Page 19: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

Primer ejemplo

12345678910

@Overridepublic boolean onKeyDown(final int keyCode, KeyEvent event){

// Nos indica el número de jugador que pulsó el botónint player = OuyaController.getPlayerNumByDeviceId(event.getDeviceId());// Booleano para controlar la pulsación de los botonesboolean handled = false;

// Manejamos la entrada dependiendo del código del botón con el que se realizó la pulsación

switch(keyCode){// Comprobamos si se trata del botón O

Página � 19

1112131415161718192021

// Comprobamos si se trata del botón Ocase OuyaController.BUTTON_O:

// Aquí gestionaremos la pulsación del botón Ohandled = true;break;

case OuyaController.BUTTON_DPAD_LEFT:// Aquí gestionaremos la pulsación del botón izquierda de la crucetahandled = true;break;

}return handled || super.onKeyDown(keyCode, event);

}

Page 20: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

Ejemplos con Eclipse123456789101112

@Overridepublic boolean onGenericMotionEvent(final MotionEvent event) {

//Obtiene el número de jugadorint player = OuyaController.getPlayerNumByDeviceId(event.getDeviceId());

//Tomamos los valores del joystick izquierdo// Valor en el eje X del joystickfloat LS_X = event.getAxisValue(OuyaController.AXIS_LS_X);// Valor en el eje Y del joystickfloat LS_Y = event.getAxisValue(OuyaController.AXIS_LS_Y);

// Ajustamos la salida para los valores X e Y del joystick izquierdo

Página � 20

12131415161718192021222324

// Ajustamos la salida para los valores X e Y del joystick izquierdotv_joyLeft.setText("X: " + LS_X + " Y: " + LS_Y);

// Tomamos los valores del joystick derecho// Valor en el eje Xfloat RS_X = event.getAxisValue(OuyaController.AXIS_RS_X);// Valor en el eje Yfloat RS_Y = event.getAxisValue(OuyaController.AXIS_RS_Y);// Ajustamos la salida para los valores X e Y del joystick derechotv_joyRight.setText("X: " + RS_X + " Y: " + RS_Y);

return true;}

Page 21: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

Mis juegos están Google Play

https://play.google.com/store/apps/details?id=com.murosapps.damas

Página � 21

Page 22: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

Y en OUYA también

Página � 22

Page 23: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

Adaptación12345678910111213141516

switch (move) {case OuyaController.BUTTON_DPAD_DOWN:

if(posSelected.first+1<Tablero.rowPositions)posSelected=new Pair<Integer,Integer> (posSelected.first+1, posSelected.second);

handled= true;break;

case OuyaController.BUTTON_DPAD_UP:if(posSelected.first-1>=0)

posSelected=new Pair<Integer,Integer> (posSelected.first-1, posSelected.second);handled = true;

break;case OuyaController.BUTTON_DPAD_LEFT:

if(posSelected.second-1>=0)posSelected=new Pair<Integer,Integer> (posSelected.first, posSelected.second-1);

Página � 23

1617181920212223242526272829303132

posSelected=new Pair<Integer,Integer> (posSelected.first, posSelected.second-1);handled = true;break;

case OuyaController.BUTTON_DPAD_RIGHT:if(posSelected.second+1<Tablero.rowPositions)

posSelected=new Pair<Integer,Integer> (posSelected.first, posSelected.second+1);handled = true;break;

case OuyaController.BUTTON_O:tryMove(posSelected);handled = true;break;

case OuyaController.BUTTON_Y:surrender();handled = true;break;

}

Page 24: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

¿Estoy ejecutando el código en una OUYA?

1234

if (Build.MODEL.contains("OUYA")){b.setVisibility(View.GONE);((TextView)findViewById(R.id.TextSurrender)).setVisibility(View.VISIBLE);

}

Página � 24

Page 25: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

¿Puedo usar un motor gráfico?

Los motores gráficos actuales nos pueden ayudar a desarrollar mejores juegos en menos tiempo.

Página � 25

Page 26: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

Motores para el desarrollo con OUYA

Página � 26

Page 27: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

Motores para el desarrollo con OUYA

Página � 27

Page 28: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

Ejemplos con Unity

Página � 28

Código para PC y OUYA disponible en core.ugr.es/beyondandroid

Page 29: OUYA Android para consolascore.ugr.es/jornadas-android/data/tallerOuya23_05_2014.pdf · Android para consolas Jesús Luis Muros Cobos Manuel José Baena Toquero. Indice Videojuegos

Gracias por su atención

Página � 29

¿Alguna pregunta?