• No se han encontrado resultados

Gestion de los perfiles de usuario en el videojuego de conduccion de automoviles

N/A
N/A
Protected

Academic year: 2023

Share "Gestion de los perfiles de usuario en el videojuego de conduccion de automoviles"

Copied!
108
0
0

Texto completo

(1)

Facultad 5 Realidad Virtual

Gestión de los perfiles de usuario en el videojuego de conducción de automóviles

“Rápido y Curioso”

.

Trabajo de Diploma para optar por el título de Ingeniero en Ciencias Informáticas

Autor(es): Juan Leandro Asin Vera.

Orlando Fernández Cremé.

Tutor(es): Ing. Marvyn Márquez Rodríguez.

Ing. Andy Trujillo Rivero.

(2)

Autores:

El tutor del presente Trabajo de Diploma considera que durante su ejecución el estudiante mostró l as cualidades que a continuación se detallan.

.

Por todo lo anteriormente expresado considero que el estudiante está apto para ejercer como Ingeniero en Ciencias Informática; y propongo que se le otorgue al Trabajo de Diploma la calificación de:

___________

Ing. Marvyn Márquez Rodríguez Ing. Andy Trujillo Rivero Firma ______________ Firma ______________

Fecha

(3)

realización constituye la culminación del sacrificio de muchos años de estudio. Quisiera comenzar agradeciendo a mi madre sin la que indudablemente no habría podido alcanzar este sueño de convertirme en un profesional y de quién además siento un gran amor, cariño, respeto y una profunda admiración por haberme criado con tanto sacrificio y siempre estar para mí.

Además quiero agradecer:

A mis abuelos por brindarme apoyo en todo momento y ser sabios consejeros.

A Freddy por ser guía de mis estudios y ejemplo a seguir en cuanto inteligencia y determinación en la vida.

A mis hermanos por ser las personas que me inspiran a superarme para brindar un buen ejemplo que puedan asumir luego en su joven vida.

A mi padre y a mi tía Magda por aconsejarme y apoyarme cuando tienen la oportunidad de estar cerca de mí.

A mi primos Raulito y Robertico por ser compañeros de batalla.

A mi compañero de tesis Chepa por su amistad, su aporte de conocimientos y por luchar junto a mí para lograr nuestro sueño de ser ingenieros.

A mis tutores Andy y Marvyn que se han portado como familia, han aportando sus consejos y experiencias para la realización de este trabajo sin considerarlo molestia alguna.

A toda mi familia por alentarme, ayudarme y brindarme la mano protectora en todos estos años de estudio.

A todos mis amigos que a lo largo de estos años hemos compartido alegrías y momentos difíciles, pero siempre nos hemos mantenido juntos y como dice el buen cubano tirando pa’lante.

Orlando Fernández Cremé.

(4)

A mi queridísima hermana que voy a estar a su lado por siempre y la quiero muchísimo.

A mi novia que me ha acompañado en momentos difíciles y me hace muy feliz

A mis amigos de siempre, sin orden de privilegios, Raciel, Miralles, Raudel, Eurlis y Ernesto que me brindan su amistad incondicionalmente.

A mi compañero de tesis (Orlando) por aguantarme en estos largos meses de trabajo A los socios y amistades de la UCI.

A los tutores (Andy y Marvyn) por siempre encontrar un tiempo para atendernos y evacuar nuestras dudas.

A familia enterita, para que no se quede nadie sin mencionar y no se pongan celosos .

En fin a todos aquellos que han hecho posible este preciado sueño, les agradezco de corazón.

Juan Leandro Asin Vera.

(5)

A m i hermanito el chico super s uper.

A Freddy y a mis abuelos, verdaderos fam iliares.

A todos mis familiares que me han ayudado en la vi da.

Orlando Fernández Cremé.

A mis padres con todo el amor de mi corazón por toda su confianza y dedicación!!!!

A mi hermana por ser tan especial.

A mi novia (Lanny) que la quiero muchísimo A mi familia A todos mis amigos por su apoyo incondicional Juan Leandro Asin Vera.

(6)

videojuegos de prestigio y calidad actualmente, enfocada a la personalización del ambiente y a la comodidad de los usuarios. La presente investigación propone un método para gestionar dichos perfiles en el videojuego de conducción de automóviles “Rápido y Curioso”, que se desarrolla en la Facultad de Entornos Virtuales de la Universidad de las Ciencias Informáticas. Se describen diferentes estrategias empleadas para almacenar la información relativa a los jugadores o al juego en general, haciendo énfasis en la seleccionada para la realización de este trabajo, que es la creación de ficheros binarios. En la investigación se describe además la estructura del modelo de persistencia propuesto para el videojuego en cuestión. Se realizó un diseño de clases que modela computacionalmente el problema. Dicho modelo fue implementado, obteniéndose un módulo capaz de administrar el perfil de cada jugador.

Palabras clave:

Videojuegos, videojuego de conducción de automóviles, perfiles de usuario, fichero binario.

(7)

DEDI CATORI A ... III RESUMEN ... IV

INTRODUCCIÓN... 1

CAPÍTULO 1: FUNDAMENTACIÓN TEÓRICA ... 6

1.1 PROC ESO DE DESA RROLLO DE VIDEOJUEGOS ... 7

1.2DIFERENT ES MÓDULOS QUE CONFORMAN UN VIDEOJUEGO DE CONDUCCIÓN DE AUTOMÓVILES ... 8

1.2.1MÓDULO GRÁFICO ... 8

1.2.2MÓDULO SONIDO ... 8

1.2.3MÓDULO RED ... 9

1.2.4MÓDULO INTELIGENCIA ARTIFICIAL ... 9

1.2.5MÓDULO FÍSICO-MATEMÁTICO... 10

1.2.6MÓDULO GESTIÓN DE PERFILES DE USUARIO... 10

1.3VENTAJAS DE GESTIONAR LOS PERFILES DE USUARIO EN UN VIDEOJUEGO... 11

1.4PERSIST ENCIA DE LA INFORMACIÓN DIGITAL ... 12

1.4.1GESTORES DE BASE DE DATOS ... 13

1.4.2FICHEROS XML... 13

1.4.3FICHEROS DE TEXTO ... 14

1.4.4FICHEROS BINARIOS ... 14

1.5GESTIÓN DE LOS PERFILES DE USUARIOS EN DIFERENT ES GÉNEROS DE VIDEOJUEGOS ... 15

1.5.1VIDEOJUEGOS TIRADOR... 15

1.5.2VIDEOJUEGOS DE ROL ... 17

1.5.3VIDEOJUEGOS DEPORTIVOS ... 18

1.5.4VIDEOJUEGOS DE CARRERAS ... 19

1.6EXPERIENCIAS SIMILARES EN PROYECTOS DEL POLO DE REALIDAD VIRT UAL DE LA FACULTAD 5 ... 20

1.7METODOLOGÍA Y HERRAMIENTAS DE DESARROLLO ... 21

(8)

Y CURIOSO”... 25

2.2SOLUCIÓN TÉC NICA ... 25

2.3DESC RIPCIÓN DE LAS FUNCIONALIDA DES POR INTERFAZ... 26

2.4DATOS PERSIST ENT ES ... 28

2.4.1SELECCIÓN DE LOS DATOS QUE SE SALVAN DEL JUGADOR ... 28

2.4.2ESPECIFICACIÓN DE LA ESTRUCTURA INTERNA DEL FICHERO ... 29

2.5APA RIENCIA DEL FICHERO ... 33

2.6ANÁLISIS DEL DOMINIO ... 34

2.6.1MODELO DEL DOMINIO ... 35

2.6.2CONCEPTOS DEL MODELO DE DOMINIO ... 36

2.7REQUISITOS DEL SOFTWARE ... 36

2.7.1REQUISITOS FUNCIONALES ... 37

2.7.2REQUISITOS NO FUNCIONALES ... 37

2.8MODELO DE CASOS DE USOS DEL SISTEMA ... 38

2.8.1ACTOR DEL SISTEMA ... 38

2.8.2CASOS DE USO DEL SISTEMA ... 38

2.8.3DIAGRAMA DE CASOS DE USO DEL SISTEMA ... 40

2.8.4EXPANSIÓN DE LOS CASOS DE USO DEL SISTEMA ... 41

2.9ANÁLISIS ... 45

2.9.1DIAGRAMAS DE CLASE DE ANÁLISIS ... 46

CONCLUSIONES... 49

CAPÍTULO 3: DIS EÑO E IMPLEMENTACIÓN DEL SISTEMA ... 50

3.1PATRONES ... 51

3.2DISEÑO DE LOS PAQUETES ... 52

3.2.1PAQUETE MÓDULO GESTIÓN DE LOS PERFILES DE USUARIO... 53

(9)

3.5DIAGRAMA DE COMPONENTES ... 59

CONCLUSIONES... 60

CAPÍTULO 4: PRUEBAS ... 61

4.1ESPECIFICACIONES DE HARDWARE Y SOFTWARE ... 62

4.2DISEÑO DE CASOS DE PRUEBA POR CADA CASO DE USO ... 62

4.2.1CASO DE USO CREAR PERFIL ... 62

4.2.2CASO DE USO ELIMINAR PERFIL... 66

4.2.3CASO DE USO CARGAR PERFIL ... 68

4.2.4CASO DE USO EDITAR PERFIL ... 70

CONCLUSIONES... 81

CONCLUSIONES ... 82

RECOMENDACIONES ... 83

BIBLIOGRAFÍA... 84

GLOSARIO ... 88

ANEXOS ... 91

ANEXO IDIAGRAMA DE COMPONENTES... 91

ANEXO IIDIAGRAMA DE SECUENCIA CUCREAR PERFIL ... 92

ANEXO IIIDIAGRAMAS DE SECUENCIAS CUEDITAR PERFIL ... 93

ANEXO IVDIAGRAMA DE SECUENCIA CUCARGAR PERFIL... 98

ANEXO VDIAGRAMA DE SECUENCIA CUELIMINAR PERFIL ... 99

(10)

INTRODUCCIÓN

El desarrollo tecnológico ha acelerado la velocidad y capacidad de procesamiento de las computadoras, permitiendo que el desarrollo de videojuegos, se convirtiera en unos de los negocios más rentables del planeta, con ingresos similares o superiores a los de otros medios de entretenimiento como la música y el cine.

Actualmente los videojuegos han evolucionado en todos los aspectos, desde los gráficos, el sonido y la simulación físico-matemática que nos sumergen en un mundo virtual cada vez más semejante a la realidad, hasta los increíbles comportamientos desarrollados por agentes artificiales controlados por la computadora.

Con el ánimo de ser competitivas en un mercado tan complicado, las empresas desarrolladoras de videojuegos están en un constante proceso de investigación, creación y desarrollo tecnológico que les permita obtener productos más ingeniosos y atractivos, y que a la vez se ajuste a las necesidades de los usuarios. Precisamente en este sentido tratan de hacer juegos configurables, personalizables y con los que los jugadores se sientan identificados. Una forma de alcanzar este objetivo es gestionando los diferentes perfiles de usuario, donde cada cual podrá establecer sus preferencias en relación a varios aspectos del juego.

La gestión de los perfiles de usuario en un videojuego brinda las facilidades de configuración a los jugadores, les permite adaptar el entorno del videojuego a sus necesidades, incluso influye en el desarrollo de la lógica del juego, además de permitir que todas estas configuraciones sean guardadas para partidas futuras sin tener que hacer las mismas modificaciones cada vez que se inicie la partida, por esas razones casi todos los videojuegos brindan la posibilidad de gestionar los perfiles de usuario, lo cual es una característica importante y necesaria para el agrado y aceptación de los clientes.

Cuba ha centrando esfuerzos en el desarrollo de la industria del software, como una de las principales tareas de la Batalla de Ideas para contribuir al desarrollo socio-económico de la nación. Con el objetivo de insertar a nuestro país en el mercado del software a nivel mundial y fomentar la informatización, se crea en el 2002 la Universidad de las Ciencias Informáticas (UCI). Desde sus inicios la universidad ha tratado de revolucionar la industria del software nacional, además de que ha alcanzado notables resultados en el ámbito internacional.

(11)

producción de la nación cubana y en una de las esferas más productivas, se ha transformado en un centro científico donde se vincula la docencia con el proceso productivo en el desarrollo de varios perfiles de la informática. Uno de ellos es el de Entornos Virtuales, dentro del cual se encuentra el proyecto Juegos de Consola, que desarrolla videojuegos en tres dimensiones (3D) para Computadoras Personales (del inglés Personal Computer) y videoconsolas. El primer compromiso de este proyecto productivo fue desarrollar el videojuego “Rápido y Curioso”, dirigido a lograr una sana recreación en niños que competirán en autos clásicos por algunos lugares del casco histórico de Ciudad de la Habana, en carreras contrarreloj o contra otros usuarios.

Situación Problémica:

La inexistencia de un módulo para la gestión de los perfiles de usuario en el videojuego “Rápido y Curioso”

trae como inconveniente para los jugadores no poder crearse un perfil que los identifique, no poder modificar las opciones relacionadas con los controles de teclado, resolución, cantidad de jugadores y algunos parámetros de red para el modo multijugador (del inglés multiplayer), además de no poder salvar las configuraciones que realiza, tampoco puede eliminar y cargar los perfiles ya existentes. Todas estas importantes características están presentes en la mayoría de los videojuegos de prestigio y calidad en la actualidad.

Problema Científico:

¿Cómo gestionar los perfiles de usuario en el videojuego de conducción de automóviles “Rápido y Curioso”?

Objeto de Investigación:

Desarrollo de videojuegos de conducción de automóviles.

Campo de Acción:

Gestión de perfiles de usuario.

(12)

Desarrollar un módulo para la gestión de los perfiles de usuario en el videojuego de conducción de automóviles “Rápido y Curioso”.

Tareas de Investigación:

Investigar sobre el proceso de desarrollo de los videojuegos, sus características y los diferentes módulos que los conforman.

Caracterizar algunas variantes empleadas para gestionar los perfiles de usuario en videojuegos.

Identificar los elementos a tener en cuenta para gestionar los perfiles de usuario en el videojuego de conducción de automóviles “Rápido y Curioso”.

Seleccionar y diseñar el modelo de persistencia que se utilizará para exportar e importar los perfiles de usuario en el videojuego de conducción de automóviles “Rápido y Curioso.

Diseñar e implementar el módulo para la gestión de los perfiles de usuario en el videojuego de conducción de automóviles “Rápido y Curioso”.

Probar las funcionalidades del módulo para gestionar los perfiles de usuario en el videojuego de conducción de automóviles “Rápido y Curioso”.

Idea a Defender:

La incorporación del módulo de gestión de los perfiles de usuario al videojuego “Rápido y Curioso”

incrementará la aceptación de los clientes.

Métodos de investigación empleados:

Para desarrollar esta investigación se utilizaron diferentes métodos científicos, entre los que se destacan el histórico-lógico, el analítico-sintético y la observación.

(13)

Histórico-Lógico: Permite estudiar sobre la historia y desarrollo de los videojuegos, los diferentes módulos que lo conforman y además sobre las técnicas y métodos utilizados en los videojuegos para gestionar los perfiles de usuario.

Analítico – Sintético: Permite concretar y resumir el conocimiento obtenido de los materiales consultados sobre el tema de gestión de perfiles de usuario y del propio conocimiento como usuarios de videojuegos con el fin de utilizarlo en el desarrollo de esta investigación.

Métodos Empíricos:

Observación: Se empleó para identificar en diferentes juegos la forma de gestionar los perfiles de usuario. Además, para observar las interfaces gráficas creadas y corregir posibles errores de diseño y/o funcionamiento.

Este documento está conformado por 4 capítulos:

Capítulo 1: En este capítulo se destacan algunos aspectos y características del proceso de desarrollo de un videojuego, y las formas de gestionar los perfiles de usuario en sus principales géneros. Se hace referencia además a las variantes empleadas para guardar datos persistentemente en el disco duro de una computadora; así como los diferentes módulos que conforman un videojuego de conducción de automóviles.

Capítulo 2: En este capítulo se describe la solución propuesta para resolver el problema de la presente investigación. Se identifican los elementos que conformarán el perfil de usuario del videojuego en cuestión, se toma partido por uno de los modelos de persistencia estudiados y se diseña cómo quedará internamente. Además se incluyen algunos artefactos de la etapa de inicio del proceso de desarrollo de software: análisis de dominio y captura de requisitos (funcionales y no funcionales).

Capítulo 3: En este capítulo se expone el diseño del módulo implementado, de esta manera se explica cómo se pretende dar solución a las funcionalidades derivadas de los requisitos funcionales. Se detallan los patrones usados en la solución y se explican las principales clases. También quedan plasmados los

(14)

componentes.

Capítulo 4: En este capítulo se realizan las pruebas correspondientes al sistema, para verificar si el mismo funciona correctamente. Además se muestran imágenes de la aplicación desarrollada en ejecución.

(15)

CAPÍTULO 1: FUNDAMENTACIÓN TEÓRICA

Introducción:

En este capítulo se destacan algunos aspectos y características del proceso de desarrollo de un videojuego, y las formas de gestionar los perfiles de usuario en sus principales géneros. Se hace referencia además a las variantes empleadas para guardar datos persistentemente en el disco duro de una computadora; así como los diferentes módulos que conforman un videojuego de conducción de automóviles. Todas estas consideraciones son obtenidas a través de un estudio de la bibliografía existente sobre cada uno de los temas, experiencias propias obtenidas en pruebas realizadas a diferentes videojuegos para observar y conocer la forma de gestionar los perfiles de usuario.

Se mencionan además distintas formas usadas para salvar información cuya existencia se necesita que exceda el tiempo de ejecución de una aplicación. Estos aspectos contribuirán a proporcionar un mayor conocimiento del estado del arte en el tema de los perfiles de usuario en videojuegos, y posibilitarán elegir el camino más adecuado para resolver el problema de la presente investigación.

(16)

1.1 Proceso de desarrollo de videojuegos

Para tener una idea más clara sobre los videojuegos se debe conocer el significado de los mismos: un videojuego se define como un programa informático que sirve para entretener a sus usuarios [1], se basa en la interacción entre una o varias personas y un dispositivo electrónico. El dispositivo que ejecuta el juego, puede ser una computadora, una videoconsola o un celular.

No todos los videojuegos sirven para entretener; también los hay que pueden crear toda una variedad de emociones, como, por ejemplo: miedo. [1]

Aproximadamente en 1947 tiene sus inicios la historia de los videojuegos, comenzó con una idea de realización de un videojuego de misiles creada y patentada por Thomas T. Goldsmith Jr. y Estle Ray Mann. Algunos de los primeros videojuegos fueron el OXO (1952), el cual es un juego gráfico computarizado, derivado de la tesis doctoral de Alexander Sandy Douglas [1], y el Tennis For Two creado en 1958. Desde aquellos primeros intentos, los videojuegos han evolucionado considerablemente; si bien antes eran bastante sencillos y ordinarios en la actualidad esto ha sufrido grandes cambios debido al desarrollo de la tecnología en materia de hardware, y por supuesto también a las técnicas y algoritmos implementados por los programadores.

Cada uno de estos juegos tiene sus propias características, pero coinciden en algunos puntos como la necesidad de entretener al usuario. Para lograrlo es necesario el uso de elementos de video, audio, retroalimentación táctil, que cuenten con una historia interesante, y que le planteen un desafío aceptable para el jugador.

Desde el punto de vista del desarrollo, una tarea compleja como esta necesita ser repartida entre los miembros de un equipo. Para que dicho trabajo se lleve a cabo con éxito, se dividen las tareas en módulos independientes y cada cual trabaja en uno. A continuación se mencionan algunos de los módulos en los que se puede dividir un videojuego, específicamente uno de conducción de automóviles, ya que es el objeto de esta investigación.

(17)

1.2 Diferentes módulos que conforman un videojuego de conducción de automóviles

Un módulo es una parte de un programa, o más general, un componente de un sistema que tiene una interfaz bien definida para interactuar con otros módulos. Generalmente los módulos pueden ser reutilizados en varias partes de un programa o en otros programas. El desarrollo de un videojuego, puede dividirse en módulos para facilitar su realización, para independizar las responsabilidades y lograr de esta manera que los cambios que se realicen no tengan por qué afectar toda la aplicación.

1.2.1 Módulo Gráfico

Este módulo es muy importante, pues la retroalimentación visual le llega al usuario gracias a los gráficos.

Mientras más atractivos resulten, mayor sensación de inmersión se conseguirá, permitiéndole al jugador adentrarse cada vez más en el juego. [13]

Los videojuegos pueden ofrecer más emoción gracias a las mejoras en animaciones y expresiones faciales, el reflejo de los personajes en el espejo, el diseño atractivo de los autos en un videojuego de carreras, los efectos de iluminación, sombras, choques que provocan chispas, marcas de derrape en las calles, etc.

Los avances en las animaciones de un videojuego son posibles gracias al nivel tecnológico existente hoy en día, a las mejoras en los procesadores, las nuevas tarjetas gráficas y el hardware en general. Realizar videojuegos con buenos gráficos es tarea primordial de los desarrolladores , ya que este es uno de los requisitos que más valoran los usuarios, y es determinante en muchas ocasiones en las ventas y aceptación del producto.

1.2.2 Módulo Sonido

El sonido es otra importante forma de interacción en un videojuego. [2] Muchas de las grandes empresas desarrolladoras de videojuegos invierten considerables sumas de dinero en la banda sonora y los efectos de sonido, contratando incluso a reconocidos compositores y orquestas para que interpreten sus canciones. Esto no lo hacen por gusto, sino porque se ha comprobado que aumenta el suspenso, la emoción y por consiguiente la aceptación del videojuego por parte del público.

(18)

En el caso de los videojuegos de carros, para darle realismo a la trama se usan sonidos grabados de la vida real. Por ejemplo, el sonido del motor de cada uno de los modelos que se muestran en el juego, el producido por las gomas al acelerar o frenar, la exclamación del público, las voces de los jueces de arrancada, la del segundo conductor indicando la peligrosidad del próximo segmento del circuito, etc.

Todo ello es controlado en un juego por el módulo de sonido, que generalmente hace uso de bibliotecas de clase especializadas como OpenAL o DirectSound para mezclar y producir efectos de sonido tridimensionales, capturar sonidos de un micrófono o controlar propiedades de audio como el volumen y la frecuencia, además de la posición del emisor y el receptor de la señal sonora.

1.2.3 Módulo Red

La inclusión de tecnologías de red en los juegos se ha convertido en un mecanismo clave para aumentar las ventas y la calidad del mismo. Al añadir una opción multijugador incrementa su tiempo de vida (tiempo que el jugador puede utilizar el juego sin aburrirse) ya que tiene la posibilidad de enfrentarse a oponentes de su mismo nivel, aumentando el valor que el usuario percibe del juego.

El módulo de red en un videojuego se encarga de establecer una conexión rápida y estable entre el cliente y el servidor, garantizando la satisfacción de los usuarios que usan el modo multijugador, mediante el que pueden enfrentarse a otros competidores de cualquier lugar, con el único requisito de que estén conectados mediante una red con un ancho de banda adecuado.

La arquitectura de red (o de comunicación) se refiere a la forma en que se implementa, a nivel lógico y de aplicación, el software que gestiona la comunicación entre las computadoras conectadas. Es muy importante, pues define el ancho de banda a consumir, así como la complejidad en el desarrollo del juego para lograr una coherencia entre los nodos terminales conectados y el tiempo de reacción, factores importantes para lograr resultados satisfactorios. [25]

1.2.4 Módulo Inteligencia Artificial

La inteligencia artificial es un módulo realmente importante a la hora de diseñar cualquier videojuego, ya que es la encargada de dar capacidad de decisión y acción a los jugadores no controlados por el usuario.

(19)

Mientras más “inteligentes” sean los oponentes artificiales, más difícil y entretenido será el juego, ya que los jugadores tendrán que emplearse a fondo para poder avanzar. Estos elementos se garantizan en el módulo de inteligencia artificial.

Especialmente en un videojuego de conducción de automóviles los jugadores tienen que enfrentar situaciones complejas, como por ejemplo cuando se intente sobrepasar a otro vehículo el mismo tratará de bloquearlo. Los autos inteligentes cometen pocas imprecisiones, por lo que hay que aprovechar cada uno de sus fallos para poder ganar la carrera. [20]

1.2.5 Módulo Físico-Matemático

Este módulo constituye un pilar fundamental en la confección de un videojuego, es el encargado de manejar toda la matemática y la física, como por ejemplo la detección de colisiones y las reacciones de los objetos del videojuego ante la acción de fuerzas.

Centrando la atención en los videojuegos de conducción de automóviles dicho módulo se pone de manifiesto en el correcto funcionamiento de los autos, si al coche se le modifican los parámetros de velocidad máxima, aceleración, fuerza, estabilidad en la dirección, adherencia a la pista, etc . esto influirá en su maniobrabilidad y comportamiento en la carrera [19]; si el auto choca contra cualquier obstáculo en la carrera, debe cambiar su orientación y velocidad, incluso en muchos juegos se ven las deformaciones en la carrocería, incrementando notablemente el realismo y la aceptación del juego.

1.2.6 Módulo Gestión de perfiles de usuario

A medida que se ponen a prueba sus habilidades, se perfeccionan y descubren nuevos niveles, los usuarios se convierten en consumidores activos del producto que puso en sus manos un grupo de creadores pensando en la satisfacción del cliente en primer lugar.

Es útil y muy apreciada por los jugadores la posibilidad de personalizar el juego a su antojo, y que además se le brinde la posibilidad de guardar los avances logrados al adentrarse en la trama del mismo.

En los juegos de carros como el “Need for Speed Underground” por ejemplo, se emplea un sistema en el que el jugador debe competir en una serie de eventos para ganar dinero. A medida que avanza, podrá

(20)

comprar nuevos autos o personalizar el que ya tiene para mejorar su rendimiento, así estará en condiciones de competir en circuitos de mayor dificultad.

“Gran Turismo” constituye otro impresionante juego de carreras, contiene once circuitos, múltiples eventos contrarreloj y la modalidad de carreras de resistencia. El jugador tiene la posibilidad de usar varios modelos de autos. Comienza con un crédito con el que puede comprar coches nuevos o usados de las tiendas especializadas de fabricantes. A medida que avanza y gana eventos , el jugador obtiene más créditos, los que pueden ser usados en modificaciones para su auto actual o para comprar uno nuevo.

El objetivo del juego “Burnout Paradise Ultimate Boxy” es obtener puntos mediante choques espectaculares y saltos imposibles a toda velocidad, para poder seguir avanzando por la ciudad y adquirir nuevos coches por el camino. Dichos logros son guardados en registros correspondientes a cada perfil de usuario. Es una dinámica de juego sencilla pero muy divertida, por lo que centra la atención de muchos jugadores. [21]

Precisamente la utilidad del módulo encargado de gestionar los perfiles de usuario en un videojuego reside en brindarle al usuario la posibilidad de configurar el entorno a su gusto, editar las opciones que estime conveniente y de guardar los progresos que sea capaz de lograr dentro del juego. Para ello puede crear su propio perfil, además de cargar o eliminar uno de los existentes. Estas características pueden contribuir a incrementar la aceptación y comercialización de un videojuego. Mientras más opciones de configuración se le brinden al usuario, más complacido estará.

1.3 Ventajas de gestionar los perfiles de usuario en un videojuego

Las principales ventajas que brinda la gestión de los perfiles de usuarios en un videojuego son las siguientes:

Cuando se interrumpe el fluido eléctrico y la PC no cuenta con un bac kup, entonces se apaga el CPU (del inglés Central Processing Unit) y lógicamente se pierden todos los avances logrados en el juego hasta ese momento. Si el juego cuenta con una función que permita guardar automáticamente los avances, entonces no es necesario preocuparse por tener que comenzar la partida desde el principio si ocurre esta indeseable situación, que se puede dar en cualquier momento por motivos ajenos a la voluntad del usuario.

(21)

A la hora de comenzar a jugar sería incómodo cada vez que se inicie el juego tener que configurar las opciones del juego en cuanto a controles, volumen, resolución de la pantalla, nivel de dificultad del juego u otras características particulares que los usuarios deseen tener configuradas. Una vez que el usuario del juego cuente con la posibilidad de salvar su perfil, solo tendrá que hacer esta configuración la primera vez que juegue, ahorrando tiempo y brindándole mayor comodidad.

La estrategia de contar con un fichero de salva por cada usuario (que se guarda en una dirección que tenga establecida el juego) es una idea brillante, la cual permite a los jugadores transportar los ficheros correspondientes a su perfil hacia cualquier PC en la que desee jugar. Allí tan solo tendría que copiar los ficheros en la misma dirección asociada al juego y contaría con la misma configuración, avances en el juego y detalles que tenía en la PC original.

La seguridad, confiabilidad y conformidad que brinda a los usuarios la salva automática de su perfil en un juego, constituye una satisfacción enorme que todo desarrollador debería brindar. El usuario, al sentirse seguro de que sus partidas están garantizadas mediante la opción de autoguardado, no tiene que preocuparse por hacerlo manualmente, y solo centra sus preocupaciones en avanzar en el juego para ganarlo. Además, al sentir seguridad y confianza puede recomendar el juego a otros amigos y el círculo de usuarios seguirá creciendo.

1.4 Persistencia de la información digital

Persistencia es el término utilizado en computación para guardar y recuperar datos u objetos. La mayoría de las aplicaciones siguen una estructura sencilla de funcionamiento: recuperación de datos de una anterior ejecución, procesado, y salvaguarda de los nuevos datos. [23]

En muchas ocasiones se necesita que los datos manejados por una aplicación tengan un tiempo de vida que exceda el tiempo que dicha aplicación se mantiene en activo. O sea, que cuando se cierre y se vuelva a abrir, se puedan tener nuevamente los mismos datos que antes de cerrarla. Esto se conoce como persistencia de datos. Existen diversas formas de garantizar la persistencia en una aplicación informática que se analizan a continuación.

(22)

1.4.1 Gestores de base de datos

Un gestor de base de datos o sistema de gestión de base de datos es un software que permite introducir, organizar y recuperar la información de las bases de datos; en fin, administrarlas. [5] Permiten a los usuarios crear bases de datos y especificar su esquema por medio de algún lenguaje de definición, además de consultar los datos y modificarlos usando para ello un lenguaje de consulta y manipulación.

Una base de datos es un conjunto de datos almacenados entre los que existen relaciones lógicas y que ha sido diseñada para satisfacer los requerimientos de información. Son utilizadas en sis temas que requieren una interacción fluida con la aplicación que las usa. Además de los datos, también se almacena su descripción. [24]

Existen videojuegos que usan las bases de datos con el fin de almacenar información para su funcionamiento y gestión, por ejemplo el videojuego “World of WarCraft” basa toda su estructura en las consultas que realiza sobre la base de datos que contiene información referente al entorno del videojuego y la información de cada jugador.

También el simulador web “Second Life” usa las facilidades de las bases de datos para almacenar todo el volumen de información que puede generar la creación de miles de personajes distintos, cada uno con diferentes características y modos de vida. [16]

La ventaja del uso de base de datos en un videojuego tiene que ver directamente con el volumen de información a manejar, es recomendable usarlas cuando son muchos datos. Se emplean generalmente en videojuegos que fueron diseñados específicamente para aceptar muchos jugadores online a cualquier hora del día y en cualquier lugar del planeta, por lo que los volúmenes de datos generados son impresionantes.

1.4.2 Ficheros XML

XML (del inglés Extensible Markup Language) desarrollado por del W3C (del inglés World Wide Web Consortium), es una versión simplificada del SGML (del inglés Standard Generalized Markup Language) es considerado un método para introducir datos estructurados en un fichero de texto. [6]

XML consiste en varias reglas y convenciones definidas para conformar formatos texto para almacenar datos, con el fin de crear ficheros que sean fáciles de generar y leer por una computadora. De esta

(23)

manera se evitan problemas muy comunes como la falta de extensibilidad, soporte para la internacionalización y dependencia a una determinada plataforma.

Tiene un papel muy importante en la actualidad ya que permite la compatibilidad entre sistemas para compartir la información de una manera segura, fiable y fácil. [12]

Este tipo de fichero puede ser utilizado en los juegos web para la transferencia de información, ya que un cliente puede escribir en un documento los datos en texto plano que estaba manejando el formato XML sin necesidad de tener alguna aplicación en específico para este fin y trabajar con estos datos.

En el caso de los juegos mencionados en el epígrafe anterior (1.4.1 Gestores de base de datos) como alternativa para la migración de datos puede usar XML ya que este formato es muy sencillo para mover datos de una base de datos a otra.

1.4.3 Ficheros de texto

Los ficheros de texto son la manera que se utiliza en la programación informática parar salvar los datos procesados por los programas. En los ficheros de texto la información se guarda como caracteres ASCII u otro estándar de codificación, lo que los hace eficaces a la hora de guardar textos y números pequeños.

Estos archivos están compuestos por bytes que representan caracteres ordinarios como letras, números y puntuación, también incluye algunos caracteres de control como tabulaciones, separaciones de líneas y fin de línea. Esta simplicidad permite que una gran variedad de programas pueda leer y editar ese contenido.

[14]

Es una alternativa que puede ser usada por cualquier videojuego para salvar información de la aplicación o bien de los jugadores que la usan. Solamente tendrían que plantearse algunas interrogantes acerca de la seguridad de los archivos, ya que los mismos exponen texto plano que es configurable con facilidad, además de que es entendible; razón que puede afectar el uso de ficheros de texto en caso de querer guardar información que sea necesario se mantenga oculta.

1.4.4 Ficheros binarios

Es un archivo que contiene información de cualquier tipo, codificada en forma binaria para el propósito de almacenamiento y procesamiento en computadoras. En el formato binario los números se guardan tal y

(24)

cómo están representados en la memoria: los números enteros representan dos bytes, los reales cuatro bytes, etc. [14] El uso de ficheros binarios aumenta los niveles de confidencialidad de la información del archivo, dificultándose algún tipo de modificación efectiva fuera del entorno de modelación. [26]

Las últimas dos características explicadas son aprovechadas por algunos videojuegos para salvar información que se necesita leer en el menor tiempo posible, que sea confidencial y difícil de cambiar (al menos manualmente no se conseguirán resultados coherentes) Por ejemplo, en el videojuego “MVP 08” el fichero de configuración de los perfiles de usuario está en formato binario, aumentando la confidencialidad de los datos de cada jugador y a su vez que el sistema pueda realizar una lectura rápida sin tener que hacer conversión de datos.

1.5 Gestión de los perfiles de usuarios en diferentes géneros de videojuegos

Como se analizó anteriormente, la gestión de los perfiles de usuario es una característica que muchos videojuegos poseen. Para ello emplean diversas técnicas y formas de almacenar físicamente la información, seleccionado entre las descritas en el epígrafe anterior (1.4 Persistencia de la información digital) la que más se ajuste a sus necesidades.

A continuación se hará una descripción de cómo se manejan estas funcionalidades en varios de los géneros de videojuegos existentes. La manera de hacer la salva de los perfiles es bastante similar en muchos de ellos, pero vale la pena tratarlos por separado, ya que las pequeñas diferencias que existen constituyen ventajas provechosas a tener en cuenta a la hora de decidir una variante para resolver el problema que se aborda en esta investigación.

1.5.1 Videojuegos Tirador

Son juegos con una temática muy sencilla, donde el jugador básicamente sólo puede moverse y disparar para cumplir su objetivo. Estos juegos también se llaman “shooters”, que es la traducción al inglés de pistoleros. [1]

Dentro de este tipo de videojuegos se encuentra el “Medall of Honor” el cual es muy popular, cuenta básicamente con dos modos de juegos: multijugador, que permite la conexión en red de varios usuarios

(25)

para formar equipos contrarios; y jugador individual, donde se juega contra otro usuario o en modo de misión, en el cual el jugador debe cumplir una serie de peligrosas tareas para llegar a obtener la victoria.

En este último se realizan salvas cada vez que se avanza en el juego, se pasa una emboscada, se ejecuta una explosión o se realiza una maniobra complicada, el usuario puede salvar esos logros haciendo uso de la tecla designada para este fin (F5). [18]

También se realizan salvas de información cuando el jugador configura los controles de teclado, nivel de dificultad del juego, nivel de detalle de los gráficos, el volumen de sonido o la sensibilidad del dispositivo de retroalimentación de fuerza. Además cuando se cumplen tareas claves de la misión, el mecanismo de salva automático del juego se activa y realiza esta operación. Todas las salvas de las misiones son grabadas en ficheros dentro de una carpeta del directorio del juego reservada para este fin, y dentro de ella una para cada perfil existente.

Figura 1.8 Vista de la salva en el videojuego “Medall of Honor”.

(26)

1.5.2 Videojuegos de rol

En este tipo de juego el jugador encarna uno o varios personajes con características propias a los que debe desarrollar una personalidad, combinando una serie de características como son la fuerza, inteligencia, magia y ciertas habilidades. [1]

El videojuego “World of WarCraft” de la compañía estadounidense “Blizzard Entertainment” forma parte de este género. Usa un servidor de base de datos (MySQL Admin) en el cual se encuentran todos los elementos que lo conforman, desde el total de vida de un simple personaje controlado por la computadora hasta la más complicada información de administración de permisos.

A medida que un jugador va adentrándose en las misiones, obteniendo elementos y subiendo de nivel, se le brinda la oportunidad de guardar sus progresos, de forma tal que pueda pausar el juego y posteriormente reiniciar donde se había quedado. Por otra parte, el juego presenta tolerancia a fallos, o sea, que en caso de existir un error en el servidor, o se interrumpa la electricidad y se cierre el juego bruscamente, el usuario al iniciar nuevamente la aplicación tiene salvado todos sus avances y logros. [17]

La estrategia seguida por el administrador del servidor es programar el autoguardado del servidor cada cierto tiempo (no mayor de 3 minutos). Además dentro del juego se puede crear una macro que efectúa una salva cada vez que el usuario estime conveniente: a petición suya se envía un comando al servidor para que guarde todos los cambios hasta ese momento. La configuración de los controles de teclado, nivel de detalle de los gráficos, volumen del ambiente del juego implica una salva de información en el servidor para garantizar estos cambios en próximos inicios de partida.

(27)

Figura 1.3 Vista de la salva en el videojuego “World of WarCraft”.

1.5.3 Videojuegos Deportivos

Este tipo de juegos se caracteriza por tener como núcleo argumental el tema deportivo. Se basa en deportes reales o ficticios, y se subdividen en simuladores o de menor realismo que un simulador. [1]

Para explicar la gestión de los perfiles de usuarios en este género se toman de ejemplo los videojuegos de béisbol “MVP 08” y de fútbol “FIFA 08”. En ellos la estrategia de salva es similar. Al iniciar, el jugador escoge el nombre que tendrá su perfil, así como la liga y el equipo con que jugará. Luego puede hacer todo tipo de configuraciones en cuanto a la alineación del equipo, los controles, nivel de dificultad del juego, así como otros elementos relacionados con el nivel de detalle de los gráficos, el volumen del juego o la sensibilidad del dispositivo de retroalimentación de fuerza. A medida que el jugador obtiene resultados favorables, acumula puntos que le permiten desbloquear terrenos, trajes, trofeos o jugadores legendarios, a los cuales no tiene acceso inicialmente. El usuario tiene la posibilidad de salvar estos logros mediante uno de los botones del menú. [15]

Casi todas las generaciones de juegos deportivos usan la estrategia de salvar los perfiles de usuario en ficheros que se generan en algún directorio de fácil acceso, en esta localización se crea una carpeta con

(28)

el nombre del juego, que dentro contiene otra por cada perfil con sus respectivos ficheros de configuración. Si se desea jugar en otra computadora y mantener los mismos avances, tan solo debe copiarse esta carpeta en el mismo directorio de la otra computadora.

Figura 1.4 Vista de la salva en el videojuego “MVP08”. Figura 1.5 Vista de la salva en el videojuego “FIFA08.

1.5.4 Videojuegos de Carreras

El objetivo de este tipo de videojuegos es recrear una sensación de velocidad al jugador. Se pueden conducir todo tipo de vehículos, desde coches hasta aviones, pasando por lanchas motoras o naves espaciales. El objetivo del jugador es llegar el primero en el menor tiempo posible a la meta. [1]

En el videojuego “Need for Speed Underground” que forma parte de este género, para realizar la salva de los perfiles de usuario se usa la misma idea que los videojuegos deportivos explicados anteriormente.

Cuando el usuario comienza a jugar debe elegir el nombre del perfil y el auto. En las diferentes modalidades de carreras que existen, el jugador va obteniendo dinero, con el cual puede desbloquear nuevas pistas, carros y piezas para mejorarlos. [16]

También puede configurar los controles de teclado, nivel de dificultad del juego, nivel de detalle de los gráficos, el volumen del ambiente del juego o la sensibilidad del dispositivo de retroalimentación de fuerza.

(29)

Todos estos cambios son salvados en un fichero que se genera en la dirección que tiene predefinida el juego; un directorio de fácil acceso para el usuario.

Figura 1.6 Vista 1 de la salva en el videojuego “NFSU”. Figura 1.7 Vista 2 de la salva en el videojuego “NFSU”.

1.6 Experiencias similares en proyectos del polo de Realidad Virtual de la Facultad 5

Para concretar una investigación y hacer nuevos aportes hay que tener en cuenta los trabajos r ealizados con anterioridad relacionados con la gestión de los perfiles de usuario. Al investigar sobre este tema se pudo conocer de la existencia de una tesis realizada en la Universidad de las Ciencias Informáticas, que aunque no está exactamente relacionada con los videojuegos, acumula algunas experiencias que pueden tomarse de punto de partida.

Se trata del “Módulo Registro de Evaluación para el Simulador Quirúrgico” realizada en el 2008, en la cual se realizó la investigación e implementación de un módulo para el registro de la evaluación de cada médico. Las pruebas realizadas por los cirujanos en el simulador se guardan en una base de datos con toda la información correspondiente al ejercicio para mantenerla organizada . El simulador brinda además reportes de los resultados obtenidos por los médicos examinados.

(30)

Para el desarrollo de ese trabajo se empleó como medio de almacenamiento de la información el gestor de Base de Datos Firebird, encargado de todo el trabajo con el volumen de información registrado por los médicos que pasaron el examen. El módulo contiene datos personales de los médicos, brinda la posibilidad de llevar un control de los valores de todas las variables de cada prueba, permitiendo la gestión de la información de los resultados alcanzados por cada usuario.

Para lograr la correcta automatización de todo el proceso de almacenamiento de datos fue necesario procesar los siguientes datos personales de los médicos cirujanos que realizan el ejercicio: nombre, apellidos, usuario, contraseña, dirección particular, teléfono, centro de trabajo, años de experiencia.

Estos parámetros permiten a los profesores o especialistas encargados de la evaluación acceder a los reportes de toda la actividad relacionada con el ejercicio, facilitando el trabajo y la rapidez en la evaluación. [23]

1.7 Metodología y herramientas de desarrollo

Para la realización del módulo para la gestión de los perfiles de usuario existe un gran número de herramientas de desarrollo. Para seleccionarlas se tuvieron en cuenta los requisitos no funcionales del proyecto al cual tributa el trabajo.

Las metodologías son el conjunto de procedimientos, técnicas, herramientas y un soporte documental que ayuda a los desarrolladores a realizar nuevo software. No existe una metodología de software universal.

Las características de cada proyecto o equipo de desarrollo exigen que el proceso sea configurable.

Proceso Unificado de Modelado (RUP)

La metodología usada es RUP. Es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado (UML), constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos. RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al c ontexto y necesidades de cada organización. Esta metodología es más apropiada para proyectos grandes, dado que requiere un equipo de trabajo capaz de administrar un proceso complejo en varias etapas, guiando a cada trabajador durante el ciclo de vida completo del desarrollo de software: análisis y diseño orientados a objetos, construcción, pruebas y despliegue.

(31)

Visual Studio 2005

En el presente trabajo se usa el lenguaje de programación C++ y la herramienta de desarrollo Visual Studio 2005 ya que son requisitos no funcionales establecidos por el proyecto, además se puede decir que el lenguaje es versátil, portable y multi-paradigma.

El Visual Studio 2005, es una herramienta poderosa, fuerte y voluminosa la cual permite la integración de varios lenguajes, entre ellos el C++, C#, y Asp.Net. El Visual Studio 2005 también ofrece la posibilidad de implementar aplicaciones para soluciones integrales que aprovechen de manera óptima la ventaja de cada lenguaje, tiene una interfaz amigable y proporciona una gran cantidad de herramientas que ofrecen ventajas a los desarrolladores individuales y equipos de desarrollo de software.

Visual C++ ha sido durante bastante tiempo un conjunto básico de herramientas para los programadores de Windows. Otros lenguajes permiten crear prototipos y desarrollar aplicaciones de forma más rápida, pero nada puede sustituir a Visual C++ a la hora de realizar tareas de desarrollo a bajo nivel. [8]

Motor gráfico G3D

G3D (del inglés Graphics Three Dimensional) es un motor gráfico clasificado como código abierto y libre, fue desarrollado con el lenguaje C++. Es usado en la actualidad en la realización de videojuegos, simuladores, entre otros. Cuenta con un conjunto de fuertes y definidas funcionalidades para el trabajo con aplicaciones con implicaciones gráficas.

En el caso del presente trabajo se tuvo en cuenta además la utilidad de G3D de poseer facilidades de propósito general como las clases para la creación y trabajo con las interfaces, así como las clases para realizar la salva de la información en formato binario y además es el motor gráfico usado actualmente en el proyecto.

Rational Rose

Es una buena solución de modelado visual y una buena herramienta para traducir requisitos de alto nivel a una arquitectura flexible basada en componentes. Rational se encuentra a la cabeza del desarrollo del Lenguaje Unificado de Modelado (UML), que se ha convertido en la notación estandarizada empleada en Rational Rose para especificar, visualizar y construir desarrollos de software y sistemas. Rational Rose domina el mercado de herramientas para el análisis, diseño, modelado y construcción orientada a objetos;

tiene todas las características que los desarrolladores, analistas, y arquitectos exigen: soporte UML, incomparable desarrollo basado en componentes con soporte para arquitecturas líderes en la industria y

(32)

modelos de componentes, facilidad de uso e integración optimizada. Rose es una herramienta con plataforma independiente que ayuda a la comunicación entre los miembros del equipo, a monitorear el tiempo de desarrollo y a entender el entorno de los sistemas. Una de las grandes ventajas de Rose es que utiliza la notación estándar en la arquitectura de software (UML), la cual permite a los arquitectos de software y desarrolladores visualizar el sistema completo utilizando un lenguaje común. Además, los diseñadores pueden modelar sus componentes e interfaces en forma individual y luego unirlos con otros componentes del proyecto. [26]

Conclusiones

En este capítulo se le dio cumplimiento a las dos primeras tareas trazadas en el presente trabajo, las cuales sirven de soporte teórico para la investigación. Se abordó en el estado del arte las principales formas de salvar información en ficheros así como los diferentes videojuegos que realizan la salva de los perfiles de usuario. Además fueron seleccionadas las herramientas y metodología de desarrollo a seguir.

(33)

CAPÍTULO 2: CARACTERÍSTICAS DEL SISTEMA

En este capítulo, considerando la necesidad de crear un módulo que gestione los perfiles de usuario en el videojuego “Rápido y Curioso” se define la forma en que se le da solución al problema, para ello se hizo un estudio para seleccionar los datos a salvar de cada jugador, además de seleccionar y diseñar la estructura del fichero que se utilizará para exportar e importar los perfiles de usuario. Se realiza el modelo del dominio, la captura de los requisitos funcionales y no funcionales, sin dejar de explicar y describir todos los casos de uso que en su definición reflejan exactamente cómo responderá el sistema ante la acción de los usuarios y además las funcionalidades del mismo. Además se explican las funcionalidades de las clases BinaryInput, BinaryOutput, TextInput y TextOutput que brinda la biblioteca G3D, las cuales son usadas para el trabajo con los ficheros.

(34)

2.1 Necesidad de la creación del módulo para la gestión de los perfiles de usuarios en el videojuego “Rápido y Curioso”.

Antes de la creación del módulo, los ficheros de configuración del juego “GameSettings.txt” y

“NetSettings.txt” debían ser configurados de forma manual por el administrador del sistema, lo que era bastante incomodo de realizar. Ahora cuentan con la facilidad de hacerlo mediante una interfaz diseñada para ello.

Con la creación de la interfaz para la configuración de los controles, el jugador tendrá la oportunidad de establecer los controles a su gusto y no tiene que usar necesariamente los predefinidos por el juego.

Si en algún momento el cliente del producto desea cambiar el tiempo de duración de la carrera o la cantidad de vueltas para dar cumplimiento a una carrera, está creada e implementada la interfaz que permite realizar dichos cambios.

Con la creación del módulo se le da la posibilidad a los usuarios de tener un perfil que los identifique, con sus propias opciones de juego, que podrán cargar cada vez que inicie el juego, sin tener que realizarlas nuevamente.

2.2 Solución técnica

La idea principal a desarrollar es la implementación de un módulo que se encarga de la gestión de los perfiles de usuario, para la cual se usan las clases que brinda el motor gráfico G3D para el trabajo con ficheros binarios y de texto, además de algunas clases auxiliares que se implementan para dar solución al problema.

Se hace uso de las formas más populares usadas en los distintos tipos de videojuegos descritos en el Capítulo 1 con el fin de crear, para la gestión de los perfiles, interfaces amigables, fáciles de entender y de una correcta estética y claridad a la hora de usarlas.

Con la inserción en el juego de este módulo cambiará de alguna forma el diseño actual del mismo en la aplicación que le da inicio, ya que se le agregan dos botones nuevos, el botón Configuración y el botón Perfiles. En el primero se podrán configurar todas las opciones relacionadas con la resolución, volumen,

(35)

controles de teclado, opciones de configuración de red y opciones de juego. En el segundo se podrán crear, cargar y eliminar los perfiles de usuario.

Entre las funcionalidades que se brindan se encuentran la de permitir al jugador crearse un perfil que lo identifique, posibilitando que los cambios realizados en cuanto a las configuraciones de las opciones de juego puedan ser diferenciados por jugador. Además podrá cargar los perfiles existentes y eliminarlos si lo desea. En cuanto a la gestión de estos perfiles se brindan una gran variedad de opciones que el jugador puede configurar, algunas relacionadas con el ambiente del juego y otras con características particulares de preferencias de los usuarios.

Todos los ficheros que se vayan generando después de crear un nuevo perfil o realizar configuraciones, se ubican en la carpeta raíz del juego, dentro de otra carpeta que recibe el nombre de “data”, la cual contendrá otra denominada “Jugadores”; ahí estarán todos los ficheros correspondientes a los jugadores que usen el videojuego.

2.3 Descripción de las funcionalidades por interfaz

Debido a la cantidad de opciones que se le brindan al jugador para configurar se hace necesario crear varias interfaces para este trabajo, ya que sería de poca estética ofrecer solo una pantalla para modificarlas todas juntas. A continuación se describen cada una de las interfaces creadas.

Crear Perfil

En esta interfaz el jugador puede crearse un perfil, cuenta con un área donde se escribe el nombre que recibirá el perfil, después de escribir el nombre el jugador debe presionar el botón Aceptar para completar la acción de creación del perfil.

Cargar Perfil

Interfaz que cuenta con una lista de los perfiles creados en el juego, brindándole la posibilidad al jugador de seleccionar el perfil que desea sea el activo para jugar. Después de seleccionar el perfil que desea activar el jugador debe presionar el botón Aceptar para completar la activación del perfil.

(36)

Eliminar Perfil

Muestra una lista con todos los perfiles existente en el juego. El jugador selecciona el que desea eliminar, se muestra una alerta para confirmar la eliminación y si realmente lo desea el jugador presiona el botón SI para eliminar completamente el perfil, en caso contrario presiona el botón NO.

Opciones Visuales

En esta interfaz el jugador puede cambiar el modo de pantalla, cuenta con dos opciones, la c ual selecciona, puede ser Full Screen y Modo Normal, después de seleccionar la opción que desea debe presionar el botón Aceptar para hacer efectivo el cambio.

Opciones de Red

En esta interfaz el jugador puede cambiar algunos parámetros de red entre los que se encuentran la dirección del servidor, el puerto y el tiempo de espera del servidor, estos cambios son posibles mediante la edición de tres campos de textos con que cuenta la interfaz, para hacer efectivos los cambios debe presionar el botón Aceptar. En caso de que el jugador desee las opciones por defecto debe presionar el botón Defecto y luego el botón Aceptar.

Controles de teclado

Los controles que están establecidos en el juego son modificables, en esta interfaz el jugador puede cambiarlos, cuenta con trece campos de texto, modificar un control de teclado implica borrar la opción que estaba anteriormente y escribir la nueva que desea, después de hacer toda la edición en los controles debe presionar el botón Aceptar para hacer validos los cambios. En caso de haberse equivocado en algún control y desee tener nuevamente los controles por defecto, debe presionar el botón Defecto y luego el botón Aceptar.

(37)

Opciones de juego

En esta interfaz se muestra tres opciones de juego, pero el usuario solo podrá cambiar una de estas que es la de cantidad de jugadores, las otras dos están solo de manera informativa y no son configurables ya que son peticiones directas del cliente. Para modificar la opción de cantidad de jugadores debe borrar la anterior usando la tecla Delete y escribiendo nuevamente la cantidad que desea, para terminar y hacer efectivo el cambio debe presionar el botón Aceptar, en caso de desear la opción por defecto debe presionar el botón Defecto y luego el botón Aceptar.

2.4 Datos persistentes

Después que el usuario gestiona su perfil, se hace necesario almacenar todos estos datos en un fichero, con el objetivo de que pueda ser reutilizado para que cuando inicie nuevamente la aplicación tenga todas las configuraciones tal y como las dejó en la partida anterior. Los ficheros correspondientes a cada jugador son creados con las clases para el tratamiento de ficheros binarios que provee G3D como biblioteca, estas clases son BinaryInput y BinaryOutput, las mismas brindan un conjunto eficiente de funcionalidades que permiten hacer las más diversas operaciones.

En el caso del videojuego Rápido y Curioso, se decidió que el tipo de formato utilizado para salvar la información de cada usuario fuese de tipo binario, esto influye en la rapidez de lectura del sistema ya que no tiene que hacer conversión de datos, además de aumentar la confidencialidad de los mismos. Además, el uso de formato binario es una de las especificaciones del problema que fue planteado en la tesis por el proyecto “Rápido y Curioso”.

2.4.1 Selección de los datos que se salvan del jugador

Después de realizar una investigación detallada de todos los datos que se necesitaban salvar, se definieron veinticuatro tipos de elementos a salvar. Así se llegó a la conclusión de que se necesitan cinco entidades contenedoras de datos, las cuales se diferencian en cuanto a la opción de jue go que desee cambiar el jugador, las cuales se diferencian según el tipo de información que contengan.

(38)

Capítulo 2: Características del sistema

Un perfil completo de un jugador contiene los veinticuatro elementos y se usa la clase Settings para agruparlos. Después que se crea un perfil, el usuario tiene la facilidad de configurar las opciones del juego, y esto no lo hace a la misma vez; cuando desea modificar las opciones de los controles de teclado la clase que contiene los datos es ControllerSettings, para configurar las opciones de red la clase usada es NetworkSettings, para las opciones de modo de pantalla la clase es VisualSettings, para modificar las opciones de audio se usa la clase AudioSettings y finalmente para otras opciones del juego específicas se usa la clase GamePlayOptions.

Vale resaltar que para las opciones de juego número de vueltas y tiempo de carrera se ha creado la posibilidad que si en algún momento el cliente decide que estos valores varíen, pueden ser modificados.

De momento estas opciones están bloqueadas y no reciben cambios, solo están de manera informativa.

2.4.2 Especificación de la estructura interna del fichero

La estructura de un fichero que contiene la información de un usuario será la siguiente: antes de cada valor guardado estará la descripción del mismo, luego aparece el nombre que recibe el parámetro y seguidamente el valor correspondiente para que el programador tenga claro qué va a leer.

Los tipos de datos encontrados en el fichero son datos de tipo entero (int) y datos de tipo cadena de caracteres (string). A continuación se mencionan todos los parámetros que son salvados en la siguiente tabla:

Elementos del fichero

Tipo de dato Descripción Nombre en el fichero

string Nombre que identifica el perfil

del jugador.

profile_name

int Modelo de auto preferido por

el jugador.

car_model

int Color de auto preferido por el

jugador.

car_color

(39)

int Cantidad de jugadores para el modo multijugador.

players_count

int Número de vueltas en una

carrera.

laps_count

int Tiempo máximo de duración

de la carrera.

time_limit

int Modo de pantalla

predeterminada por el usuario.

screen_mode

int Volumen del ambiente del

juego.

environment_volume

string Tecla escogida por el usuario

para acelerar.

accelerate

string Tecla escogida por el usuario

para frenar.

brake

string Tecla escogida por el usuario

para girar a la izquierda.

turn_left

string Tecla escogida por el usuario

para moverse a la derecha.

turn_rigth

string Tecla escogida por el usuario

para poner el auto en marcha adelante.

change_gear_forward

string Tecla escogida por el usuario

para poner el auto en marcha atrás.

change gear_backward

string Tecla escogida por el usuario claxon

Referencias

Documento similar

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

No había pasado un día desde mi solemne entrada cuando, para que el recuerdo me sirviera de advertencia, alguien se encargó de decirme que sobre aquellas losas habían rodado

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)

b) El Tribunal Constitucional se encuadra dentro de una organiza- ción jurídico constitucional que asume la supremacía de los dere- chos fundamentales y que reconoce la separación