Implementación de aplicaciones en Nintendo DS a partir de un fichero XML con una estructura...

Preview:

Citation preview

ETSI de TelecomunicaciónUniversidad de Málaga

Autor: Pablo González QuijanoTutora: Cristina Urdiales García

IntroducciónGuías turísticas sobre dispositivos portátiles

Prácticamente todo el mundo dispone de alguno

Fácilmente distribuibleAportan mayor interactividad con el usuarioPermite fomentar el interés de la cultura a

través de la tecnología

IntroducciónNintendo DS

Consola portátil más vendida

Desarrollo para Nintendo DSHomebrew (Software casero no oficial)Alta disponibilidad de librerías y código

abierto.

Problema: Necesidad de conocimientos de programación (C/C++)

IntroducciónHerramientas de desarrollo disponibles

Icarus Adventure System Carece de interfaz gráfico Muy orientado a aventuras gráficas Lenguaje de scripts no muy intuitivo Limitaciones de diseño Severas limitaciones de memoria

SCUMM No permite crear aplicacionespersonalizadas

ObjetivosUsuarios sin conocimientos de programación

puedan crear aplicaciones sobre Nintendo DSDescripción a partir de XML con estructura

predefinidaCompatible con herramienta de desarrollo visual

desarrollada en DTEAplicación lo más personalizable posible

Imágenes, texto y sonidoAventura gráfica

Generación de un ejecutable para Nintendo DS

1. Hardware del Sistema2. Herramientas de ayuda a la

programación3. Arquitectura del Sistema4. Análisis y estudio de los recursos

disponibles5. Pruebas y Resultados6. Conclusiones y trabajo futuro

1. Hardware del Sistema2. Herramientas de ayuda a la

programación3. Arquitectura del Sistema4. Análisis y estudio de los recursos

disponibles5. Pruebas y Resultados6. Conclusiones y trabajo futuro

Hardware del SistemaUnidades Centrales de Proceso

Procesador principal ARM9 Procesos principales del juego y el controlador de

videoProcesador secundario ARM7

Sonido, Wi-Fi y pantalla táctil

MemoriasMemoria Principal 4MBVRAM (Video RAM)

Hardware del SistemaControlador de Video

Un procesador 3D y dos 2DFondos de pantalla

Tipos: Framebuffer o tileados

Sprites Tamaños predefinidos Tipos: 16 colores/256 colores/ 16 bits Se permite un color transparente

Hardware del SistemaSonido

16 canales independientesFormato RAW

Dispositivos de entradaBotonesPantalla táctilMicrófono

Almacenamiento de datosRAM/Flash card

1. Hardware del Sistema2. Herramientas de ayuda a la

programación3. Arquitectura del Sistema4. Análisis y estudio de los recursos

disponibles5. Pruebas y Resultados6. Conclusiones y trabajo futuro

HerramientasDevkitARM

Preprocesador, compilador y enlazador de código en C/C++ para la Nintendo DS

Librerías de utilidadesLibnds

Librería para programar a bajo nivel sobre Nintendo DS

PAlib Librería construida sobre libnds para programar a

más alto nivel

HerramientasLibrerías de utilidades

Libefs Librería que almacena los recursos junto con la

ROM del juego y permite acceder a ellosLibfat

Librería que permite acceder a recursos almacenados en la flash card

XML (eXtensible Markup Language)Lenguaje de marcas sencillo y personalizableLibrería Mini-XML

HerramientasPAGfx

Aplicación para adecuar las imágenes a la Nintendo DS

Dos modos de uso: Formato texto/Interfaz gráfica

1. Hardware del Sistema2. Herramientas de ayuda a la

programación3. Arquitectura del Sistema4. Análisis y estudio de los recursos

disponibles5. Pruebas y Resultados6. Conclusiones y trabajo futuro

Arquitectura del Sistema

Código fuenteGenéricoRepetitivo

Arquitectura del Sistema

Código fuenteGenéricoRepetitivo

Sistema de páginas

Arquitectura del SistemaContenido de una página

Arquitectura del SistemaCambio de página

Arquitectura del SistemaCambio de pantalla superior

Arquitectura del SistemaComportamiento de aventura gráfica

Arquitectura del SistemaEstructura de la Arquitectura

Arquitectura del SistemaEstructura predefinida del XML

1. Hardware del Sistema2. Herramientas de ayuda a la

programación3. Arquitectura del Sistema4. Análisis y estudio de los recursos

disponibles5. Pruebas y Resultados6. Conclusiones y trabajo futuro

Recursos disponiblesTexto

LegibilidadEspacioColor de letra

Recursos disponiblesImágenes de fondo

256 colores o 8/16 bits JPEG 256 colores tileados 16 bits Bitmaps

Recursos disponiblesSprites

256 colores o 16 bitsMáximo 15 sprites por pantalla

SonidosMP3RAW

11025 Hz, 8 bits y monocanal 3MB Maximo Varios por página

1. Hardware del Sistema2. Herramientas de ayuda a la

programación3. Arquitectura del Sistema4. Análisis y estudio de los recursos

disponibles5. Pruebas y Resultados6. Conclusiones y trabajo futuro

Pruebas y ResultadosLista de pruebas

Stylus y botones Texto

Cuadros de texto Tipo y color de letra Desplazamiento del

texto Caracteres especiales

Imágenes de fondo JPEG 256 colores 16 bits Bitmap

Sprites

Sonidos MP3 RAW

Funcionalidades Cambiar página Cambiar pantalla

sup. Inventario Sección de Extras Guardar/Cargar

Aplicación Completa Todos

recursos/funcion. XML EFS

Pruebas y ResultadosCatedralNDS

Guía turística de la Catedral de MálagaDiseñada por Francisca Torres (Lcda. Historia

del Arte)35 páginas (27 del interior y 8 del exterior)

Pruebas y ResultadosAcceso rápido a Mapa

Pruebas y ResultadosInformación por página

Pruebas y ResultadosInventario y Sección de Extras

Pruebas y ResultadosVisita a la Catedral de Málaga

Pruebas y Resultados

Pruebas y ResultadosUsabilidad

Generación del ejecutable NDS: “Es francamente muy fácil. Desde que se genera el archivo XML hasta la carga en la tarjeta de la Nintendo, son apenas unos cuatro pasos que no revisten ninguna dificultad”

Observaciones En un principio, los usuarios se centran en la Nintendo Usuarios buscan en las pantallas aquellas piezas que despiertan

su interés Alguna dificultad de lectura debido al formato de la tipografía En ciertos puntos, usuarios comparten impresiones, dudas o

comentarios

Pruebas y ResultadosResultados de los tests

ConocimientosUsabilidad y satisfacción

1. Hardware del Sistema2. Herramientas de ayuda a la

programación3. Arquitectura del Sistema4. Análisis y estudio de los recursos

disponibles5. Pruebas y Resultados6. Conclusiones y trabajo futuro

Conclusiones

Principales ObjetivosUsuarios sin conocimientos de programación

puedan crear aplicaciones sobre Nintendo DSAplicación lo más personalizable e interactiva

posibleGeneración de un ejecutable para Nintendo DS

Líneas de trabajo futuroMejorar calidad de recursos utilizados

Texto, Sprites y sonidosAñadir nuevas funcionalidades

WiFiVideoMás funcionalidades de aventura gráfica

Compatibilidad con nuevos modelos de Nintendo DSNintendo DSiNintendo DSi XL