Sunteți pe pagina 1din 244

UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)

INGENIERO EN INFORMTICA

PROYECTO FIN DE CARRERA

VIDEOJUEGO DE ESTRATEGIA PARA NAVEGADORES WEB EN TIEMPO REAL: WARBATTLE

AUTOR: HECTOR LOPEZ POMBO MADRID, SEPTIEMBRE 2009

Autorizada la entrega del proyecto del alumno: HECTOR LOPEZ POMBO

El Director del Proyecto CRISTINA PUENTE AGUEDA

Fdo.: .. Fecha:

V B del Coordinador de Proyectos DAVID CONTRERAS BRCENA

Fdo.: .. Fecha:

UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)


INGENIERO EN INFORMTICA

PROYECTO FIN DE CARRERA

VIDEOJUEGO DE ESTRATEGIA PARA NAVEGADORES WEB EN TIEMPO REAL: WARBATTLE

AUTOR: HECTOR LOPEZ POMBO DIRECTOR: CRISTINA PUENTE AGUEDA

MADRID, SEPTIEMBRE 2009

A mis padres: Por tener siempre confianza en m y haberme ayudado en todos los momentos difciles. Gracias por la oportunidad que me habis dado con vuestro esfuerzo, jams hubiese llegado hasta aqu de no ser por vosotros. Con que tan slo estis una pequea parte orgullosos de m como yo lo estoy de vosotros ya ser el hombre ms feliz.

A mi abuela: Carmen, el haber llegado hasta este punto de mi vida s que te hubiese hecho la abuela ms feliz del mundo como a m me hiciste el nieto ms afortunado. Ojala me veas ests donde ests. Siempre en mi corazn.

RESUMEN
Hoy en da muchas personas viven con un estrs continuo debido al trabajo, las prisas y otras obligaciones. En este contexto cualquier entretenimiento con el que poder desconectar un poco de la rutina siempre es bienvenido. Por este motivo y por la aparicin en las ltimas dcadas de un nuevo concepto de diversin, los videojuegos, este proyecto se unir al grupo de ttulos de este sector en continua expansin. El proyecto que se va a realizar se denomina WarBattle y consistir en un videojuego en tiempo real pensado para jugar de forma gratuita y sin descargas mediante cualquier navegador de Internet como Internet Explorer, Mozilla Firefox, Safari, etc. El sistema creado abarcar todos los procesos de la ingeniera del software, desde la creacin conceptual del entorno de juego hasta el desarrollo del producto software final. WarBattle va a ser un juego de estrategia ambientado en una poca medievalfantstica, al ms puro estilo de xitos como Dungeons & Dragons. En l miles de jugadores competirn y colaborarn entre s en funcin de sus gustos y necesidades para erigirse como los mejores estrategas del universo Warbattle. A diferencia de lo que puede sugerir el ttulo, el juego est pensado para gente de casi cualquier edad, pudiendo variar entre los 12 y los 50 aos el perfil del jugador. El motivo de que el rango sea tan variado es que WarBattle pretende ser un juego entretenido en el que se prioriza la estrategia a la accin. Por otro lado, no es un juego que requiera de una atencin constante, la frecuencia de uso se amolda al estilo del jugador, delegando en ste la decisin de utilizar una estrategia u otra.

ABSTRACT
Nowadays, most people coexist with the so-called environmental stress caused by job, haste or duties. In this regard, any amusement to relieve the day-by-day obligations is always more than welcome. Due to this fact and to the advent of a new concept of entertainment as from last years, that is, the video games, this project joins the list of products corresponding to the software expanding commercial sector. The project carried out is named WarBattle and is developed as a real-time video game, completely free and without softwares downloads, driven through internet navigators such as Internet Explorer, Mozilla, Firefox, Safari, etc. The designed system covers all the engineering processes of software, from the conceptual creation of the games environment to the development of the final software product. WarBattle is a new strategic video game set in fantastic Middle Ages, following the path open by big hits such as Dungeons & Dragons. Therefore, thousands of players will compete and cooperate among them, on the basis of their needs or wishes, in order to become the best strategist in the WarBattle universe. In spite of its name, this video game is intended for people of all ages, ranging the players profile from 12 to 50 years-old. Such wide age scope is because of WarBattle prioritizes strategy instead of action. On another front, playing WarBattle does not require to pay attention to the game all the time, since players may freely adapt the games pace to their liking, as the strategic decisions are delegated to them.

INDICE
1. Introduccin ......................................................................................................................... 1 1.1 Introduccin ................................................................................................................... 2 1.2 Objetivos ........................................................................................................................ 4 2. Estado del arte ..................................................................................................................... 5 2.1 Historia de los videojuegos ............................................................................................. 6 2.2 Los Browser Games......................................................................................................... 9 2.3 Metodologa ................................................................................................................. 11 3. Anlisis de requisitos .......................................................................................................... 13 3.1 Introduccin ................................................................................................................. 14 3.2 Estudio de la ambientacin ........................................................................................... 15 3.2.1 Elementos del juego .............................................................................................. 16 3.2.2 Restricciones ......................................................................................................... 49 3.3 Modelo de dominio ...................................................................................................... 51 3.3.1 Entorno del jugador a nivel global .......................................................................... 52 3.3.2 Entorno de las aldea .............................................................................................. 54 3.3.3 Sistema de produccin........................................................................................... 56 3.3.4 Sistema de costes .................................................................................................. 58 3.3.5 Unidades militares ................................................................................................. 60 3.3.6 Unidades defensivas .............................................................................................. 62 3.3.7 Restricciones ......................................................................................................... 64 3.3.8 Misiones ................................................................................................................ 73 3.3.9 Elementos en construccin .................................................................................... 76 3.3.10 Sistema de coordenadas ...................................................................................... 84 3.4 Anlisis de los casos de uso ........................................................................................... 86 3.4.1 Acceso al sistema ................................................................................................... 87 3.4.2 Acciones informativas ............................................................................................ 92 3.4.3 Acciones sobre la produccin............................................................................... 103 3.4.4 Acciones sobre los edificios.................................................................................. 110 3.4.5 Acciones sobre unidades militares ....................................................................... 125 3.4.6 Acciones sobre unidades defensivas .................................................................... 132 3.4.7 Acciones sobre las ciencias .................................................................................. 139 3.4.8 Acciones sobre las habilidades militares .............................................................. 147 3.4.9 Acciones sobre el mapa ....................................................................................... 155 3.4.10 Acciones sobre misiones .................................................................................... 166 3.5 Problemas y errores .................................................................................................... 173 3.6 Conclusiones ............................................................................................................... 175 4. Diseo .............................................................................................................................. 177 4.1 Introduccin ............................................................................................................... 178 4.2 Arquitectura lgica ..................................................................................................... 180 4.2.1 Dominio............................................................................................................... 182 4.2.2 Controlador ......................................................................................................... 183 4.2.3 Vista .................................................................................................................... 185

4.2.4 Motor .................................................................................................................. 186 4.2.5 DAO ..................................................................................................................... 188 4.3 Diseo de la base de datos .......................................................................................... 189 4.3.1 Tipos de elementos.............................................................................................. 191 4.3.2 Costes y produccin ............................................................................................. 191 4.3.3 Elementos de los usuarios ................................................................................... 192 4.3.4 Elementos de las aldeas ....................................................................................... 192 4.3.5 Elementos de los productores y edificios ............................................................. 193 4.3.6 Elementos de las ciencias y habilidades militares ................................................. 193 4.3.7 Elementos de las unidades militares .................................................................... 194 4.3.8 Elementos de las unidades defensivas ................................................................. 194 4.3.9 Elementos de las misiones ................................................................................... 195 4.3.10 Elementos del mapa .......................................................................................... 195 4.4 Algoritmos significativos ............................................................................................. 196 4.4.1 Alta usuario ......................................................................................................... 197 4.4.2 Actualizar ............................................................................................................ 200 4.4.3 Construccin de unidades militares ..................................................................... 211 4.4.4 Alta misiones ....................................................................................................... 212 4.5 Problemas y errores .................................................................................................... 213 4.6 Conclusiones ............................................................................................................... 215 5. Trabajo futuro .................................................................................................................. 217 6. Evaluacin econmica ...................................................................................................... 221 7. Bibliografa ....................................................................................................................... 223 ANEXO A: Manual de usuario ............................................................................................... 225

WarBattle

CAPTULO 1
Introduccin

1.

Introduccin

En plena crisis mundial el sector de los videojuegos es de los pocos negocios que estn experimentando crecimiento en sus mercados. Buena prueba de ello son los datos publicados por Microsoft que informan de que en 2.008 las ventas de su consola XBOX han crecido en un 22% en Europa, mientras que en Espaa, en pleno desplome de industrias tan importantes como la automovilstica o la del sector de la construccin, sus ventas han aumentado un 36%. Debido al crecimiento exponencial que ha sufrido la industria en los ltimos 20 aos, el proyecto Warbattle al que se dirige este documento pretende ser una base de partida a una apertura a este mercado, tanto para la universidad adoptndolo como base de trabajos posteriores, como para m como aprendizaje del desarrollo de este tipo de software tan interesante como lucrativo. En los ltimos aos, por otro lado, ha aparecido un nuevo concepto de videojuego: los browsergames. Estos juegos basan su interfaz y jugabilidad bajo tecnologas Web. Para jugar a ellos nicamente es necesario disponer en casa de una conexin a internet y un navegador medianamente actualizado. Quizs por esa facilidad de acceso a este tipo de videojuegos, el crecimiento de stos est siendo bastante importante. Warbattle (nombre con el que se designa el juego) es un browsergame en tiempo real ambientado en una Edad Media fantstica, al ms puro estilo de los mundos creados por J.R.R.Tolkien, autor de una de las obras ms populares de la literatura contempornea, El Seor de los Anillos. A diferencia de otros ttulos que se puedan encontrar en el mercado, Warbattle es un juego pensado para jugar de forma gratuita desde internet sin necesidad de realizar pesadas descargas que generan cierta desconfianza en los usuarios. En Warbattle mltiples jugadores, del orden de cientos e incluso miles, competirn entre s por demostrar que son los mejores estrategas. El juego es de estrategia en tiempo real, en el que cada jugador podr optar por caminos diferentes para crear sus imperios. Una caracterstica especialmente atractiva del juego es la duracin ilimitada del mismo. Warbattle est pensado para que una partida pueda alargarse en el tiempo tanto como lo desee el propio jugador, as podrn encontrarse cuentas de jugadores que lleven uno, dos o ms aos. El sistema de juego es muy sencillo con un interfaz agradable y atractivo a su vez. El tiempo que se debe emplear en l es relativo, cada jugador adoptar una estrategia u otra en funcin de sus gustos o posibilidades. De esta manera, si un
2

WarBattle

jugador no puede entrar a diario seguramente opte por una estrategia defensiva en la que prime la produccin como forma de obtener recursos sobre los ataques y saqueos a otros jugadores. Warbattle est pensado para un rango de jugadores cuya edad comprenda entre los 12 y los 50 aos. Warbattle a su vez, est formado por una serie de elementos que dan vida al juego y que definen el universo que representa. Los ms destacables son: Castillos desde los que los jugadores realizan todo tipo de acciones, construccin de edificios, unidades militares, etc. Sistema de produccin basado en recursos. Construccin de elementos basado en gasto de recursos.

Interaccin pacfica o blica entre jugadores mediante una red de unidades militares y defensivas. Sistema de coordenadas en el que se ubican los castillos que pertenecen a los jugadores. En definitiva, Warbattle es una idea innovadora que pretende captar multitud de usuarios gracias a un entorno atractivo y, sobre todo, divertido que permita desconectarse un rato de la rutina diaria.

Figura 1.1.1: Interfaz del videojuego

2.

Objetivos

Los objetivos que persigue este proyecto se pueden agrupar en dos conjuntos: 1. Diseo de una estructura que sirva para otros juegos.
Durante la primera fase del proyecto se perseguir realizar un diseo robusto y

estable que pueda utilizarse para realizar otros juegos con diferentes elementos y con distintas ambientaciones. El objetivo perseguido es generar un diseo: Robusto. Escalable Reutilizable. De sencilla interpretacin.

2. Requisitos funcionales. Desde el punto de vista del juego en s, se establece como objetivo principal crear un juego que sea: Entretenido. Ilimitado en el tiempo. Gratuito. Atractivo. Pensado para un rango de usuarios cuyas edades comprendan los 12 y los 50 aos. Estable.

WarBattle

CAPTULO 2
Estado del arte

1.

Historia de los videojuegos

Un videojuego es un programa de ordenador creado para el entretenimiento, basado en la interaccin entre una o varias personas y un aparato electrnico que ejecuta dicho videojuego. En muchos casos, estos recrean entornos y situaciones virtuales en los que el jugador puede controlar a uno o varios personajes (o cualquier otro elemento de dicho entorno), para conseguir uno o varios objetivos por medio de unas reglas determinadas. Aunque inicialmente la idea de un videojuego fue concebida y patentada por Thomas T. Goldsmith Jr. y Estle Ray Mann en 1947, se considera como primer videojuego al creado por William Nighinbottham en 1958, el llamado Tenis Para Dos, que consista en interceptar una bola que cruzaba la pantalla moviendo una lnea que haca de paleta. Su autor lo mostr como curiosidad cientfica, nunca patent su invento y as fue que aproximadamente 15 aos ms tarde, concretamente en 1972, el juego fue perfeccionado y comercializado por Atari con el nombre de Pong convirtindose en el juego ms relevante de la historia.

Figura 2.1.1: Imagen del Pong

Durante los aos 80, el mundo de los videojuegos tuvo un fuerte crecimiento debido a la popularidad de los salones de mquinas recreativas.

WarBattle

A esta dcada se la conoce como la de los 8 bits debido a los microprocesadores que empleaban las consolas de aquel momento. Durante esos aos aparecieron diversos juegos tan populares como el Tetris de Alexey Pajitnov, el Super Mario Bros de Nintendo o el Bubble Bobble. Mientras en Japn se optaba por la fabricacin de consolas con la aparicin de la NES (Nintendo Entertainment System), en Europa los esfuerzos se dirigan hacia los microordenadores como el Commodore-64 o el Spectrum.

Figura 2.1.2: Spectrum ZX de finales de los 80

A principios de los 90, el mercado de las videoconsolas se revolucion por completo gracias a la aparicin de los microprocesadores de 16 bits. Algunas de las primeras consolas que incorporaban este tipo de microprocesador fueron la Mega-Drive, la SNES o la NEO-GEO. En paralelo, iban apareciendo las versiones de los videojuegos de las consolas para los ordenadores de sobremesa aunque de una manera bastante tmida hasta casi finales de los 90. Algunos de los videojuegos que se sacaron para las plataformas PC fueron la saga Doom, Monkey Island, etc. Desde entonces, las diferentes compaas emprendieron una carrera por liderar el mercado, sacando, progresivamente, a la venta consolas de 32 y 64 bits. A principios del siglo XXI Sony lanz su consola de 128 bits, la PS2 con la que se adelant al resto de fabricantes, pasando a dominar los mercados de Europa Y EE.UU.

Durante los aos siguientes fueron apareciendo nuevas consolas, como la Xbox 360 de Microsoft, la PS3 de Sony o la WII de Nintendo, siendo actualmente las tres empresas lderes del mercado a da de hoy. En el campo de los videojuegos para PC, la evolucin ha sido exponencial desde la aparicin del Pong hasta nuestros das. Aquel juego en 2D ha sido sustituido por juegos en 3D, con algoritmos avanzadsimos en el campo de la Inteligencia Artificial.

Figura 2.1.3: Imagen del juego Assassins Creed de reciente aparicin

WarBattle

2.

Los Browser Games

Un juego de navegador o browser game es todo aquel videojuego que se juega mediante un navegador web (Internet Explorer, Firefox, Opera, etc.) y por ende independientemente de la plataforma. Se caracteriza entonces por ser siempre una multiplataforma, que funciona en cualquier equipo que tenga un navegador web y no es necesario instalar nada en el ordenador ni realizar ninguna clase de descarga para poder jugar con ellos. Tan slo es preciso ir a la pgina del juego en cuestin y crear una cuenta usuario. Dada la tecnologa necesaria para su uso, los browser games existen prcticamente desde que se invent la World Wide Web en 1993 y con ella el primer navegador web, aunque por supuesto han ido evolucionando al mismo tiempo que lo haca Internet. Adems de la clara ventaja que supone poder jugar desde cualquier ordenador o dispositivo del mundo, los browser games, al ser juegos online multijugador y muchos de ellos masivos, implican un juego cara a cara con cientos o miles de jugadores en todo el mundo, lo que permite una participacin conjunta en el juego rompiendo el individualismo habitual de los videojuegos, pues se puede hacer amigos, crear alianzas, declarar guerras, etc. Adems, los browser games suelen ser gratuitos aunque algunos tienen la posibilidad de enviar mensajes sms para ampliar las posibilidades de juego, sustentndose la mayora gracias a la publicidad insertada en sus pginas. No obstante presentan asimismo una serie de inconvenientes, pues slo se puede jugar online, ya que no se pueden descargar para jugar cuando no se est conectado a Internet, se caracterizan por tener grficos y sonido de baja calidad e incluso pueden llegar a no tener ni siquiera imgenes o animaciones y se consideran sumamente adictivos. La temtica de estos juegos es muy variada, y va desde fantasa pica hasta escenarios futuristas. Al ser juegos en los que los grficos no son tan importantes, destaca el componente de estrategia, por lo que no son habituales los juegos de matar o de carreras de coches, sino que la mayora son juegos para pensar. Con todo ello, los browser games se han convertido en una opcin de videojuego cada vez ms atractiva y en una alternativa clara a los lanzamientos de las grandes multinacionales, pues muchos de ellos son desarrollados por un pequeo grupo de aficionados o por un programador de forma independiente. En cualquier caso, lo que es innegable es que algunos cuentan ya con varios miles de jugadores registrados, y son bastante populares sin ninguna gran campaa publicitaria ni de marketing. Los juegos ms populares actualmente son Zepirates, Ogame, Medievol, Ikariam o Travian.

De ellos merece especial mencin el Ogame, el browser game ms conocido, el cual es un juego multijugador masivo on-line desarrollado por la empresa alemana Gameforge. El juego est implementado en el lenguaje de programacin PHP, requiriendo nicamente un navegador comn para poder jugarlo. Cada escenario de juego, denominado Universo, permite que se enfrenten simultneamente hasta 16.500 jugadores. El primer universo apareci en el 2002 en Alemania, el cual sigue siendo el ms popular. Existen versiones en diferentes idiomas como espaol, portugus, polaco, ruso, italiano, chino, japons y dans. Peridicamente se aaden nuevos universos al juego, siendo el de ms reciente aparicin, concretamente el 12 de agosto de 2009, el Universo 59 Andrmeda, en la versin espaola.

Figura 2.1: Imagen del juego OGame

10

WarBattle

3.

Metodologa

La metodologa que se usar para realizar el juego ser la ms comn en la realizacin de proyectos software, la metodologa en cascada. Este metodologa establece un orden estricto en la realizacin de tareas, siendo requisito para empezar una tarea haber terminado la anterior. Las fases en que se divide la realizacin del proyecto son: - Anlisis de requisitos: en esta fase se especifican los requerimientos del sistema. En este proyecto, adems, se aadir la tarea de creacin del universo en el que discurre el juego, ya que no se parte con informacin al respecto. - Diseo: una vez recogidos los requisitos del sistema se realiza la tarea de plasmar el conocimiento recogido en un formato til para poder fabricar el producto software ms adelante. En esta fase se genera desde el diseo de la arquitectura escogida hasta los diagramas de flujo de las funciones que compondrn el sistema, pasando por el diseo de la base de datos, de clases, etc. - Programacin: durante este perodo se recoge la informacin obtenida de la fase de diseo y se realiza la conversin a un lenguaje interpretable por el ordenador que generar el producto final. La tecnologa que se va a utilizar es la siguiente: o Java como lenguaje de programacin utilizando las APIs jdk 1.6 y J2EE. o XML como lenguaje de estructuracin de ficheros de configuracin. o XHTML y CSS 2.0 para generar los interfaces del juego. o Javascript para dar funcionalidad a los interfaces. o Ajax para los eventos asncronos del juego. - Pruebas: en esta fase se realizan las pruebas pertinentes para determinar si el software generado cumple los requisitos esperados.

11

12

WarBattle

CAPTULO 3
Anlisis de requisitos

13

1.

Introduccin

En esta gran seccin del proceso de construccin del sistema Warbattle se realizar el anlisis de requisitos. El anlisis de requisitos consiste, como su propio nombre indica, en analizar y estudiar los requisitos del sistema a construir. En el caso de este proyecto, no se cuenta con ninguna especificacin externa ni con referentes pasados, por lo que adems del habitual proceso de anlisis ser necesario realizar una definicin de las reglas y elementos del universo Warbattle. El propsito principal de esta etapa es conseguir una comprensin ms precisa de los requisitos y una descripcin de los mismos que sea fcil de mantener y que nos ayude a estructurar el sistema completo. Se pueden, adems destacar los siguientes objetivos: - Describir un modelo del sistema utilizando el lenguaje de los desarrolladores. - Utilizar un lenguaje ms formal para refinar detalles relativos a los requisitos del sistema. - Estructurar los requisitos de un modo que facilite su comprensin, desarrollo, modificacin, y en general, su mantenimiento. Una vez realizada una breve definicin del proceso de anlisis de requisitos, se expondrn a continuacin los puntos que lo formarn en este proyecto: - Estudio de la ambientacin: se definir el universo Warbattle de una forma, se podra decir, informal. Se especificarn todos los elementos y reglas del entorno mediante el lenguaje natural. - Modelo de dominio: una vez definido el entorno se proceder a su conceptualizacin mediante la tcnica de UML 2.0 del modelo de dominio. - Modelo de casos de uso: a continuacin del modelo de dominio se realizar un estudio de las funcionalidades que permitir el juego. - Problemas encontrados y errores cometidos: se realizar una vez realizados todos los anteriores puntos un anlisis del trabajo realizado, con el fin de que queden documentados los errores cometidos y los problemas encontrados para poder ser consultados en futuros trabajos y evitar caer otra vez en ellos. - Conclusiones: por ltimo se realizar una valoracin tanto tcnica como personal del trabajo realizado.

14

WarBattle

2.

Estudio de la ambientacin

En este captulo se va a llevar a cabo el estudio de los elementos que formarn parte del juego. Puesto que Warbattle pretende ser un juego de estrategia en tiempo real, como en todos los juegos de este estilo debe tener un sistema de recursos que acte de restriccin y desbloqueo para la construccin de los dems elementos del juego. Cada elemento ser citado, definido y descrito a lo lardo de este captulo.

15

1. Elementos del juego


1.1 Castillos
Sern los centros neurlgicos del juego. En ellos se desarrollar toda la actividad de los jugadores y se construirn todos los elementos de los que dispondr para utilizar una estrategia u otra. Cada jugador dispondr para empezar de un castillo ubicado en una casilla del mapa asignada automticamente por el sistema mediante un algoritmo de balanceo que ser descrito en captulos posteriores. A medida que avance en el juego podr aumentar el nmero de castillos bajo su dominio, de forma que podr aumentar su poder respecto al resto de jugadores.

1.2 Recursos
Como ha sido mencionado brevemente en el apartado anterior, los recursos constituyen una de las piedras angulares del juego. Cada tipo de recurso ser empleado con diferentes fines, que se irn describiendo a lo largo de este captulo. Los tipos de recurso disponibles para todos los jugadores sern: - Trigo. - Madera. - Piedra. - Hierro. - Especia. Para cada tipo de recurso existir un tipo de productor (en adelante se utilizar el trmino productor para referirse a ello) que establecer el nmero de unidades producidas por hora en la aldea en la que se encuentre. Cada productor tendr un coste de aumento asociado diferente al resto de productores de otros recursos que vendr definido por una funcin de crecimiento en el coste. En trminos generales, la funcin que define el coste de aumento de nivel de un productor de un tipo de recurso ser:

Coste aumento = Coste base *

16

WarBattle

Observando la anterior funcin se puede apreciar claramente que es una funcin creciente en todo el dominio *1, ). El objetivo es que, al ser un juego de duracin ilimitada, los costes de aumento de nivel supongan cada vez un reto mayor para el jugador. Por otro lado, dependiendo del productor que se quiera aumentar, ser necesario disponer de uno o ms tipos de recurso como se ver ms adelante. Los parmetros de cada productor sern los siguientes: Productor de trigo: o Tipo de recurso necesario: madera. Coste base = 40. Factor = 2. Productor de madera: o Tipo de recurso necesario: madera. Coste base = 60. Factor = 2. Productor de piedra: o Tipo de recurso necesario: madera. Coste base = 150. Factor = 2,2. Productor de hierro: o Tipo de recurso necesario: madera. Coste base = 300. Factor = 2,4. o Tipo de recurso necesario: piedra. Coste base = 100. Factor = 2,4. Productor de especia: o Tipo de recurso necesario: madera. Coste base = 500. Factor = 2,6. o Tipo de recurso necesario: piedra. Coste base = 200. Factor = 2,6.

Como puede observarse de los anteriores datos, no todos los productores tienen una progresin en el coste igual. Por ejemplo, es ms costoso reunir los recursos necesarios para aumentar el productor de hierro que el de madera. El objetivo por el que se establecen diferentes baremos para definir los costes en funcin del productor se debe a que lo que se pretende es que sea ms difcil desbloquear ciertos elementos del juego que dependen de ciertos recursos con el fin de que el juego se alargue en el tiempo.

17

Una vez analizados los costes asociados a cada productor en funcin del nivel en el que se encuentren, va a ser explicado otro concepto fundamental asociado a los mismos: la produccin. La produccin no es ms que el nmero de unidades que produce a la hora cada productor del tipo de recurso que lleva asociado. As, se pretende establecer una relacin directa entre el aumento de costes por nivel de los elementos y la produccin de recursos. Para hacer esto posible, es necesario definir un sistema de produccin comn a todos los jugadores y dependiente del productor y del nivel al que se encuentre. Para ello se utilizar la siguiente funcin, que determina el nmero de unidades producidas de un tipo de recurso por su productor asociado.

Unidades/hora = Coste base * factor * nivel del productor

Al igual que en la funcin de costes de aumento, esta funcin tambin es creciente, pero con un nivel de crecimiento menor. Esto se debe a que el objetivo es retar al jugador a que tenga que esperar ms tiempo para aumentar los elementos si depende nicamente de la produccin de sus productores y necesite de estrategias adicionales para conseguir los recursos. Por ltimo, puesto que el tiempo es un elemento crtico en el juego, ser necesario establecer un sistema de clculo de tiempo para el aumento de niveles. La funcin que define el tiempo en segundos de aumento de un productor viene definida por:

Donde RecursoCoste hace referencia a cada coste por recurso asociado al productor. Ms adelante, en el apartado 1.3 Edificios, se describir la variable Herreros al describir la Fragua.

18

WarBattle

1.3 Edificios
Los edificios son unos elementos que desempearn dos misiones fundamentales a lo largo del transcurrir del juego. Por un lado desbloquearn otros elementos (ms informacin consultar el apartado 2. Restricciones de este captulo) y por otro servirn para mejorar las prestaciones a nivel local de los castillos en los que se encuentren o prestaciones a nivel global del jugador que los posea. A continuacin se describen los tipos de edificio disponibles en el juego: - Casa: permite aumentar en 20 unidades el nmero de soldados disponibles en una aldea.

Figura 3.1.1: Imagen del tipo de edificio casa

- Biblioteca: este edificio permite mltiples opciones simultneamente. Una de ellas es la posibilitar la opcin de aumentar las ciencias disponibles para el jugador. Por otro lado, tambin acta de posible desbloqueador de ciencias, dependiendo del nivel en el que se encuentre. Por ltimo, con cada aumento de nivel aade al nmero de eruditos del jugador el nmero de nivel al que acaba de ser construido. As si, por ejemplo, un jugador dispona de 30 eruditos y acaba de construir una biblioteca al nivel 5, el nmero de eruditos se ver aumentado en 5, pasando a tener 35 eruditos en adelante. El trmino eruditos ser explicado ms adelante cuando se describa el papel que juega el tiempo en la investigacin de ciencias.

Figura 3.1.2: Imagen del tipo de edificio biblioteca

- Academia militar: este edificio tiene una funcin prcticamente igual que la de la biblioteca, slo que a diferencia de sta en vez de interaccionar con las ciencias de un jugador, lo hace con las habilidades militares del mismo. Este edificio, adems, en vez de eruditos aumenta el nmero de los maestros militares que ser descrito cuando sean explicadas las habilidades militares.

19

Por ltimo, la academia militar tiene la capacidad de desbloquear en ciertos niveles edificios como el cuartel o el taller de defensa (consultar apartado 2.Restricciones de este mismo captulo para ms informacin).

Figura 3.1.3: Imagen del tipo de edificio academia militar

- Fragua: este edificio tiene dos funciones principales: desbloquear otros edificios del castillo que no se encuentran disponibles y aumentar en cada nivel el nmero de herreros de la misma forma que la biblioteca aumenta el nmero de eruditos y la academia militar el nmero de maestros militares.

Figura 3.1.4: Imagen del tipo de edificio fragua

- Cuartel: en este edificio se construyen las unidades militares (consultar apartado 1.6 de este captulo para ms informacin). Adems, segn el nivel en el que se encuentre, estarn disponibles o no ciertas unidades para su construccin.

Figura 3.1.5: Imagen del tipo de edificio cuartel

20

WarBattle

- Taller de defensa: tiene el mismo funcionamiento que el cuartel pero para las unidades defensivas.

Figura 3.1.6: Imagen del tipo de edificio taller de defensa

- Mercado: en l se llevan a cabo los comercios con otros jugadores o con el sistema. El nmero de comercios activos en un castillo podr ser, como mximo, igual al nivel del mercado.

Figura 3.1.7: Imagen del tipo de edificio mercado

- Almacn subterrneo: permite esconder parte de los recursos disponibles en un castillo al recibir ataques externos de otros jugadores. Cada nivel esconde un 5% de los recursos disponibles hasta un mximo de un 50%.

Figura 3.1.8: Imagen del tipo de edificio almacn subterrneo

Una vez analizados los diferentes tipos de edificios disponibles en los castillos se procede a explicar el funcionamiento de los costes asociados al aumento de nivel de los mismos. Para el aumento de nivel de los edificios se utilizar una funcin que definir el coste de cada recurso necesario para llevar a cabo la accin. La funcin tiene el siguiente formato:

Coste aumento = Coste base *

.
21

Como se puede deducir fcilmente es una funcin creciente en todo el dominio *1, ). El objetivo es conseguir que el juego se alargue lo mximo posible y que aumentar cada nivel suponga un reto para el jugador. A continuacin se describen los valores que se emplearn para cada edificio: Casa: o Tipo de recurso necesario: madera. Coste base = 1.000. Factor = 1. Biblioteca: o Tipo de recurso necesario: madera. Coste base = 500. Factor = 2. Academia militar: o Tipo de recurso necesario: madera. Coste base = 200. Factor = 2. o Tipo de recurso necesario: piedra. Coste base = 50. Factor = 2. Fragua: o Tipo de recurso necesario: madera. Coste base = 1.000. Factor = 2,5. o Tipo de recurso necesario: piedra. Coste base = 200. Factor = 2,5. Cuartel: o Tipo de recurso necesario: madera. Coste base = 500. Factor = 2,5. o Tipo de recurso necesario: piedra. Coste base = 50. Factor = 2,5. Taller de defensa: o Tipo de recurso necesario: madera. Coste base = 500. Factor = 2,5. o Tipo de recurso necesario: piedra. Coste base = 50. Factor = 2,5.

22

WarBattle

Mercado: o Tipo de recurso necesario: madera. Coste base = 10.000. Factor = 3. o Tipo de recurso necesario: piedra. Coste base = 1.000. Factor = 3. Almacn subterrneo: o Tipo de recurso necesario: madera. Coste base = 20.000. Factor = 4. o Tipo de recurso necesario: piedra. Coste base = 5.000. Factor = 4.

Por ltimo, la funcin que define el tiempo de aumento de cada nivel de un edificio es de la siguiente forma (expresada en segundos):

23

1.4 Ciencias
Las ciencias tienen una misin fundamental en el transcurso del juego: desbloquear edificios y otras ciencias. Adems, como se ver ms adelante, algunas desempean otras funciones. A diferencia de los edificios que actan a nivel local, las ciencias actan a nivel global en el jugador. Esto quiere decir que sus efectos se aplican a todos los castillos del jugador, no a uno slo como ocurre con los edificios. A continuacin se describen las ciencias disponibles en el juego: - Mando: cada nivel permite tener una misin adicional en curso. Por ejemplo, si un jugador tiene la ciencia mando en nivel 5, podr tener, como mximo, cinco misiones simultneas en curso.

Figura 3.1.9: Imagen del tipo de ciencia mando

- Herramientas: esta ciencia sirve para desbloquear otros elementos (consultar apartado 2. Restricciones de este captulo).

Figura 3.1.10: Imagen del tipo de ciencia herramientas

Forja del hierro: misma funcin que la ciencia Herramientas.

Figura 3.1.11: Imagen del tipo de ciencia forja del hierro

24

WarBattle

- Imperio: cada nivel permite al jugador poder colonizar una nueva posicin para edificar un nuevo castillo. As, por ejemplo, si un jugador tiene la ciencia Imperio en nivel 3 podr tener 4 castillos (3 del nivel ms el castillo con el que empieza).

Figura 3.1.12: Imagen del tipo de ciencia imperio

- Espionaje: sirve para mejorar las condiciones de espionaje con cada nivel (consultar apartado 1.9 Misiones de este captulo).

Figura 3.1.13: Imagen del tipo de ciencia espionaje

Ocultar bienes: misma funcin que la ciencia Herramientas.

Figura 3.1.14: Imagen del tipo de ciencia ocultar bienes

Comercio: misma funcin que la ciencia Herramientas.

Figura 3.1.15: Imagen del tipo de ciencia comercio

25

Al igual que con los productores o los edificios, las ciencias tambin tienen asociado un coste de aumento por nivel, que viene definido por la siguiente funcin:

Coste aumento = Coste base *

Los valores de los parmetros de la funcin del coste para cada ciencia son los siguientes: - Mando: o Tipo de recurso necesario: madera. Coste base = 500. Factor = 2. o Tipo de recurso necesario: piedra. Coste base = 50. Factor = 2. - Herramientas: o Tipo de recurso necesario: madera. Coste base = 1.200. Factor = 2. o Tipo de recurso necesario: piedra. Coste base = 120. Factor = 2. - Forja del hierro: o Tipo de recurso necesario: madera. Coste base = 2.000. Factor = 2. o Tipo de recurso necesario: hierro. Coste base = 50. Factor = 2. - Imperio: o Tipo de recurso necesario: madera. Coste base = 50.000. Factor = 2. o Tipo de recurso necesario: piedra. Coste base = 5.000. Factor = 2. - Espionaje: o Tipo de recurso necesario: madera. Coste base = 2.200. Factor = 2. o Tipo de recurso necesario: piedra. Coste base = 500. Factor = 2.

26

WarBattle

Ocultar bienes: o Tipo de recurso necesario: madera. Coste base = 10.000. Factor = 2. o Tipo de recurso necesario: piedra. Coste base = 1.000. Factor = 2. Comercio: o Tipo de recurso necesario: madera. Coste base = 30.000. Factor = 2. o Tipo de recurso necesario: piedra. Coste base = 3.000. Factor = 2.

Igualmente, la funcin que define el tiempo de investigacin es la siguiente:

Puesto que las ciencias son un elemento global de un jugador, la variable Eruditos tambin lo ser e, independientemente de donde tenga lugar el aumento de una biblioteca, ser actualizado con cada evento de ese tipo. Por ltimo, otra caracterstica que le confiere que sea a nivel global es que, si bien las ciencias estn disponibles para todos los castillos de un jugador, quizs no sean accesibles desde cualquiera de ellos. Esto se debe a que ciertos elementos puedan necesitar de ms de un elemento que los desbloquee (consultar apartado 2. Restricciones de este mismo captulo).

27

1.5 Habilidades militares


Las habilidades militares tienen dos propsitos generales. Por un lado aumentan las bonificaciones de combate (consultar apartado 1.9 Misiones para obtener una informacin ms detallada) y por otro lado desbloquean tanto otras habilidades como unidades militares y defensivas. Este tipo de elemento del juego se desarrolla en las academias militares. Actan, al igual que las ciencias, a nivel global en un jugador, por lo que sus efectos repercuten en todos los castillos de un mismo jugador. Las habilidades militares del juego as como su descripcin y uso son presentadas a continuacin: - Ataque: cada nivel aumenta en uno el nivel de ataque de las unidades militares y defensivas.

Figura 3.1.16: Imagen del tipo de habilidad militar ataque

- Defensa: mismo efecto que la habilidad ataque pero sobre el nivel de defensa.

Figura 3.1.17: Imagen del tipo de habilidad militar defensa

- Vitalidad: mismo efecto que la habilidad ataque pero sobre el nivel de vida.

Figura 3.1.18: Imagen del tipo de habilidad militar vitalidad

28

WarBattle

Velocidad: disminuye los tiempos de misin.

Figura 3.1.19: Imagen del tipo de habilidad militar velocidad

- Formacin: cada nivel aporta un tipo de estrategia de formacin para combate.

Figura 3.1.20: Imagen del tipo de habilidad militar formacin

- Carga: cada nivel aade un ataque adicional sobre las unidades de tipo Carga (ms informacin en el apartado 1.6 de este captulo).

Figura 3.1.21: Imagen del tipo de habilidad militar carga

- Alcance: cada nivel aade un ataque adicional sobre las unidades de tipo Distancia.

Figura 3.1.22: Imagen del tipo de habilidad militar alcance

29

- Asalto: aumenta el dao provocado por las unidades de tipo Asalto.

Figura 3.1.23: Imagen del tipo de habilidad militar asalto

Al igual que con los productores o los edificios, las habilidades militares tambin tienen asociado un coste de aumento por nivel, que viene definido por la siguiente funcin:

Coste aumento = Coste base *

Los valores de los parmetros de la funcin del coste para cada habilidad militar son los siguientes: - Ataque: o Tipo de recurso necesario: madera. Coste base = 500. Factor = 2. o Tipo de recurso necesario: piedra. Coste base = 50. Factor = 2. - Defensa: o Tipo de recurso necesario: madera. Coste base = 800. Factor = 2. o Tipo de recurso necesario: piedra. Coste base = 80. Factor = 2. - Vitalidad: o Tipo de recurso necesario: madera. Coste base = 2.000. Factor = 2. o Tipo de recurso necesario: piedra. Coste base = 200. Factor = 2.

30

WarBattle

Velocidad: o Tipo de recurso necesario: madera. Coste base = 1.200. Factor = 2. o Tipo de recurso necesario: piedra. Coste base = 120. Factor = 2. Formacin: o Tipo de recurso necesario: madera. Coste base = 20.000. Factor = 2. o Tipo de recurso necesario: piedra. Coste base = 2.000. Factor = 2. Carga: o Tipo de recurso necesario: madera. Coste base = 5.000. Factor = 2. o Tipo de recurso necesario: piedra. Coste base = 500. Factor = 2. Alcance: o Tipo de recurso necesario: madera. Coste base = 4.000. Factor = 2. o Tipo de recurso necesario: piedra. Coste base = 400. Factor = 2. Asalto: o Tipo de recurso necesario: madera. Coste base = 100.000. Factor = 2. o Tipo de recurso necesario: piedra. Coste base = 10.000. Factor = 2.

Igualmente, la funcin que define el tiempo de desarrollo es la siguiente:

31

Puesto que las habilidades son un elemento global de un jugador, la variable Maestros militares tambin lo ser e, independientemente de donde tenga lugar el aumento de una academia militar, ser actualizado con cada evento de ese tipo. Por ltimo, otra caracterstica que le confiere que sea a nivel global es que, si bien las habilidades militares estn disponibles para todos los castillos de un jugador, quizs no sean accesibles desde cualquiera de ellos. Esto se debe a que ciertos elementos puedan necesitar de ms de un elemento que los desbloquee (consultar apartado 2. Restricciones de este mismo captulo).

32

WarBattle

1.6 Unidades militares


Las unidades militares son los elementos que permiten la interaccin entre jugadores, as como entre castillos diferentes del propio jugador. Se podra realizar un smil en el que si los edificios, ciencias y habilidades conforman una estructura, las unidades forman la vida que se aloja en dichas estructuras. Por eso las unidades militares pueden realizar diferentes tipos de misiones (ver apartado 1.9 Misiones de este captulo para ms informacin). Las unidades militares pueden ser de cinco tipos: - Infantera: estas unidades suelen conformar la espina dorsal de cada ejrcito debido a su bajo coste y rendimiento aceptable. - Caballera: estas unidades tienen la caracterstica de poder realizar cargas de ataque adicionales en cada turno, lo que les confiere un poder destructivo mayor que el de las infanteras. Tambin su coste es ms elevado. - A distancia: son las unidades que realizan, como su propio nombre indica, ataques a larga distancia. Poseen la caracterstica Alcance que les proporciona probabilidades adicionales de realizar ms de un ataque en un mismo turno. - Asalto: son las unidades ms poderosas y, por tanto, las ms costosas del juego. Su poder destructivo es mucho mayor que el de cualquier otro tipo de unidad. Su caracterstica asalto les permite, adems, infringir mayores daos sobre las tropas enemigas. - Especiales: estas unidades permiten realizar misiones especiales como espiar o colonizar (ver seccin 1.9 Misiones). Todas las unidades militares tienen una serie de caractersticas que, combinadas con los bonificadores otorgados por las habilidades militares, son utilizados para realizar los clculos de combate. Dichas caractersticas son: asalto. El uso que se da de cada atributo se describir ms adelante en el captulo 1.9 Misiones al explicar en detalle su funcionamiento. Fuerza base. Defensa base. Vida base. Velocidad base. Carga mxima: capacidad mxima de transporte de recursos. Tipo de ataque: puede ser ninguno, de carga, de alcance o de

33

A diferencia del resto de elementos vistos hasta el momento, las unidades militares no tienen niveles, por lo que no es necesario definir una funcin que determine el coste. No obstante esto no significa que no sea necesario definir unos costes para cada una de ellas, pues son, al fin y al cabo, tambin elementos construibles. Por otro lado, las unidades militares incorporan un nuevo tipo de coste asociado, adems de los recursos vistos anteriormente (consultar apartado 1.2 Recursos). Este nuevo tipo de coste es el nmero de soldados que se necesitan reclutar. Como se vio en la seccin 1.3 Edificios, este tipo de recurso especial se consigue mediante el edificio Casa. Los costes requeridos para construir una unidad de un tipo especfico de unidad militar, as como los atributos de sus caractersticas a continuacin:

Infantera ligera: o Costes: Hierro: 50 unidades. Soldados: 1. o Caractersticas: Fuerza: 2. Defensa: 3. Vida: 3. Velocidad: 5. Tipo de ataque especial: ninguno. Fuerza de ataque especial: 0. Carga mxima: 100 unidades.

Figura 3.1.24: Imagen del tipo de unidad militar infantera ligera

34

WarBattle

Infantera pesada: o Costes: Hierro: 500 unidades. Soldados: 5. o Caractersticas: Fuerza: 6. Defensa: 8. Vida: 8. Velocidad: 4. Tipo de ataque especial: ninguno. Fuerza de ataque especial: Carga mxima: 200.

Figura 3.1.25: Imagen del tipo de unidad militar infantera pesada

Caballera ligera: o Costes: Hierro: 200 unidades. Soldados: 5. o Caractersticas: Fuerza: 3. Defensa: 2. Vida: 5. Velocidad: 10. Tipo de ataque especial: carga. Fuerza de ataque especial: 2. Carga mxima: 50 unidades.

Figura 3.1.26: Imagen del tipo de unidad militar caballera ligera

35

Caballera pesada: o Costes: Hierro: 2.000 unidades. Soldados: 25. o Caractersticas: Fuerza: 8. Defensa: 7. Vida: 10. Velocidad: 8. Tipo de ataque especial: carga. Fuerza de ataque especial: 5. Carga mxima: 100 unidades.

Figura 3.1.27: Imagen del tipo de unidad militar caballera pesada

Arquero: o Costes: Hierro: 100 unidades. Soldados: 3. o Caractersticas: Fuerza: 1. Defensa: 1. Vida: 2. Velocidad: 5. Tipo de ataque especial: a distancia. Fuerza de ataque especial: 2. Carga mxima: 20 unidades.

Figura 3.1.28: Imagen del tipo de unidad militar arquero

36

WarBattle

Saetero: o Costes: Hierro: 1.000 unidades. Soldados: 15. o Caractersticas: Fuerza: 3. Defensa: 4. Vida: 5. Velocidad: 5. Tipo de ataque especial: a distancia. Fuerza de ataque especial: 6. Carga mxima: 50 unidades.

Figura 3.1.29: Imagen del tipo de unidad militar saetero

Dragn: o Costes: Hierro: 100.000 unidades. Soldados: 500. o Caractersticas: Fuerza: 12. Defensa: 15. Vida: 20. Velocidad: 2. Tipo de ataque especial: asalto. Fuerza de ataque especial: 10. Carga mxima: 10 unidades.

Figura 3.1.30: Imagen del tipo de unidad militar dragn

37

Espa: o Costes: Hierro: 10 unidades. Soldados: 1. o Caractersticas: Fuerza: 0. Defensa: 0. Vida: 1. Velocidad: 20. Tipo de ataque especial: ninguno. Fuerza de ataque especial: 0. Carga mxima: 0 unidades.

Figura 3.1.31: Imagen del tipo de unidad militar espa

Convoy: o Costes: Piedra: 500 unidades. Soldados: 20. o Caractersticas: Fuerza: 1. Defensa: 1. Vida: 2. Velocidad: 10. Tipo de ataque especial: ninguno. Fuerza de ataque especial: 0. Carga mxima: 500 unidades.

Figura 3.1.32: Imagen del tipo de unidad militar convoy

38

WarBattle

Por ltimo, el tiempo que se tarda en construir una unidad de un tipo de unidad especfico es igual al nmero de unidades (sin incluir los soldados) en segundos. As si, por ejemplo, se construyen 10 unidades del tipo de unidad caballera ligera que tienen cada una de ellas un coste de 200 unidades de hierro, el tiempo de construccin de una sern 200 segundos y el de todas ellas en conjunto de de 200 * 10 = 2.000 segundos.

39

1.7 Unidades defensivas


Este tipo de elemento tiene como funcin, como su propio nombre indica, el de defender los castillos asediados por otros jugadores. Esto no quiere decir que en un ataque las unidades militares estacionadas en un castillo no participen en l, puesto que se ven igualmente afectadas, sino que estn ideadas para que esa sea su nica funcin. Las unidades defensivas son en varios aspectos muy similares a las unidades militares, aunque a diferencia de estas ltimas su posicin es fija y no pueden desplazarse. Esto significa que aquellas unidades defensivas que sean construidas en un castillo tendrn todo su ciclo de vida siempre en el mismo. El hecho de que su estacionamiento sea fijo les hace prescindir de ciertos atributos que tienen las unidades militares que son los relacionados con el movimiento. As pues, los atributos que definen a las unidades defensivas son los siguientes: - Fuerza base. - Defensa base. - Vida base. Esos tres atributos, no obstante, tambin se ven afectados por los mismos bonificadores que afectan a las unidades militares, slo que este tipo de elementos se vern influenciados en los tres atributos anteriormente mencionados. Por otro lado, al igual que sucede con las unidades militares, no requieren de funcin de crecimiento para estimar el coste de construccin puesto que no tienen niveles. Sin embargo, a este tipo de unidades se les excluye el coste por soldados. A continuacin se describen los tipos de unidades defensivas que se pueden encontrar en el juego junto a sus atributos y costes:

40

WarBattle

Lanceros: o Costes: Hierro: 10 unidades. o Caractersticas: Fuerza: 2. Defensa: 4. Vida: 2.

Figura 3.1.33: Imagen del tipo de unidad defensiva lancero

Piqueros: o Costes: Hierro: 50 unidades. o Caractersticas: Fuerza: 4. Defensa: 6. Vida: 4.

Figura 3.1.34: Imagen del tipo de unidad defensiva piquero

41

Ballesteros: o Costes: Hierro: 200 unidades. o Caractersticas: Fuerza: 6. Defensa: 8. Vida: 6.

Figura 3.1.35: Imagen del tipo de unidad defensiva ballestero

Calderos de aceite: o Costes: Hierro: 5.000 unidades. o Caractersticas: Fuerza: 10. Defensa: 4. Vida: 2.

Figura 3.1.36: Imagen del tipo de unidad defensiva calderos de aceite

42

WarBattle

Balistas: o Costes: Hierro: 50.000 unidades. o Caractersticas: Fuerza: 15. Defensa: 10. Vida: 10.

Figura 3.1.37: Imagen del tipo de unidad defensiva balista

Por ltimo, el tiempo que se tarda en construir una unidad de un tipo de unidad defensiva especfico es igual al nmero de unidades que cuesta en segundos. As si, por ejemplo, se construyen 5 unidades de lanceros que tienen cada una de ellas un coste de 10 unidades de hierro, el tiempo de construccin de una sern 10 segundos y el de todas ellas en conjunto de de 10 * 5 = 50 segundos.

43

1.8 Mapa y sistema de coordenadas


Un elemento fundamental del universo Warbattle es su sistema de coordenadas. El mapa sobre el que se aloja est dividido en tierras que a su vez se dividen en sector y que, por ltimo, se dividen en posiciones. El mapa completo consta de 16 tierras que conforman un cuadrado dividido en 16 posiciones como se puede observar en la siguiente figura adjunta:
Tierra 1 Tierra 5 Tierra 9 Tierra 13 Tierra 2 Tierra 6 Tierra 10 Tierra 14 Tierra 3 Tierra 7 Tierra 11 Tierra 15 Tierra 4 Tierra 8 Tierra 12 Tierra 16

Figura 3.1.38: Divisin del mapa en tierras

De igual manera, cada tierra se encuentra dividida a su vez en 49 sectores de la siguiente forma:

Sector 1 Sector 8 Sector 15 Sector 22 Sector 29 Sector 36 Sector 43

Sector 2 Sector 9 Sector 16 Sector 23 Sector 30 Sector 37 Sector 44

Sector 3 Sector 10 Sector 17 Sector 24 Sector 31 Sector 38 Sector 45

Sector 4 Sector 11 Sector 18 Sector 25 Sector 32 Sector 39 Sector 46

Sector 5 Sector 12 Sector 19 Sector 26 Sector 33 Sector 40 Sector 47

Sector 6 Sector 13 Sector 20 Sector 27 Sector 34 Sector 41 Sector 48

Sector 7 Sector 14 Sector 21 Sector 28 Sector 35 Sector 42 Sector 49

Figura 3.1.39: Divisin de las tierras en sectores

44

WarBattle

Por ltimo cada sector se encuentra dividido en 16 posiciones como se muestra en la siguiente figura:

Posicin 1

Posicin 2

Posicin 3

Posicin 4

Posicin 5

Posicin 6

Posicin 7

Posicin 8

Posicin 9

Posicin 10

Posicin 11

Posicin 12

Posicin 13

Posicin 14

Posicin 15

Posicin 16

Figura 3.1.40: Divisin de los sectores en posiciones

Como se ha podido observar en las anteriores figuras, este sistema de coordenadas se basa en posiciones adyacentes similares a una matriz nxn. Los castillos se encuentran alojados en posiciones, teniendo sus coordenadas el siguiente formato: [ Tierra : Sector : Posicin ]. Estas coordenadas son nicas en todo el dominio de Warbattle y cada una slo puede ser ocupada por un nico castillo. As, con este sistema de coordenadas, el sistema calcular la distancia entre dos posiciones respecto de su distancia en cada matriz, siendo, por ejemplo, para las coordenadas [1:1:1] la posicin ms alejada del mapa las coordenadas [16:49:16] y las ms cercanas las coordenadas [1:1:2], [1:1:5] y [1:1:6]. Por otro lado, el sistema tendr en cuenta si las posiciones recorridas para llegar a un punto estn dentro de un mismo sector o de una misma tierra, en cuyo caso las distancias sern, en principio, ms cortas que al cruzar sectores o tierras. No obstante, puesto que cada posicin recorrida dentro de un sector equivale a un kilmetro (realizando una transformacin al sistema mtrico), el sistema debe ser capaz de calcular y ponderar las distancias en aquellos casos en los que sean elevadas con el fin de que una misin no tarde un tiempo excesivo para el jugador.

45

Por ltimo, aunque ya se describir con ms detenimiento a la hora de realizar el diseo del sistema la forma en que se asignan automticamente las posiciones, se har en este epgrafe una breve descripcin del mismo. El mecanismo de asignacin consistir en una asignacin que aporte equilibrio al mapa, intentando ocupar todos los sectores del mismo. Para ello deber tener memoria de cul fue la ltima posicin ocupada para proceder a la siguiente asignacin.

46

WarBattle

1.9 Misiones
Este tipo de accin es el que pretende darle un atractivo mayor al juego. Con ellas los jugadores interaccionarn entre s, los recursos de los castillos podrn ser transportados de uno a otro, etc. Las misiones slo podrn ser realizadas por las unidades militares, aunque, como se ir viendo a lo largo de esta seccin no todas las unidades podrn realizar cualquier tipo de misin. A continuacin sern expuestas y explicadas en detalle cada una de ellas: - Transporte: esta misin, como su propio nombre indica, permite transportar recursos entre dos castillos diferentes. La cantidad transportada vendr determinada por la suma de las capacidades mximas de las unidades involucradas en dicha misin. Una vez parten del castillo de origen los recursos transportados sern restados de los almacenados en dicho castillo. Al llegar a su destino entregarn la mercanca, actualizando as los recursos del castillo destino. - Ataque: se enviarn unidades militares a atacar al castillo de otro jugador con el objetivo de destruir su fuerza militar y de robarle parte de los recursos que tenga almacenados en el instante del ataque en el castillo. El algoritmo empleado para el ataque ser explicado en detalle en el apartado de diseo correspondiente. - Espionaje: para esta misin ser necesario enviar espas a ella para que tenga efecto. Su objetivo es conseguir informacin sobre los elementos blicos (unidades militares, defensivas, habilidades militares) que se encuentren en el momento del espionaje en el castillo objetivo. El nivel de informacin robada ser proporcional al nivel de la ciencia espionaje del jugador que espa respecto a la del jugador que es espiado. El algoritmo empleado para los espionajes ser explicado en detalle en el apartado de diseo correspondiente. Colonizacin: con este tipo de misin el jugador podr construir nuevos castillos desde cero. Para que esta misin pueda llevarse a cabo ser necesario cumplir tres requisitos: o En la misin debe ir, por lo menos, un Convoy. o El nivel de la ciencia Imperio del jugador que quiere construir un nuevo castillo debe ser mayor que el nmero de castillos ya construidos (sin incluir el castillo inicial). o La casilla que se quiere colonizar no debe estar ocupada por ningn castillo, ya sea del propio jugador como de otro. -

47

El tiempo de viaje vendr determinado como se pudo ver en los anteriores apartados por dos factores: - Distancia entre la posicin de origen y la de destino. - Velocidad de las tropas involucradas. Por ltimo, el nmero mximo de misiones que puede un jugador tener activas a la vez debe ser menor o igual al nivel al que tenga la ciencia Mando.

48

WarBattle

2. Restricciones
En esta seccin se analizarn las restricciones que van ligadas a la naturaleza del universo Warbattle.

Elemento bloqueado CIENCIAS Mando Herramientas Forja del hierro Imperio Espionaje Ocultar bienes Comercio HABILIDADES MILITARES Ataque Defensa Vitalidad Velocidad Formacin Carga Alcance Asalto

Elemento que desbloquea Biblioteca nivel 2 Biblioteca nivel 1 Biblioteca nivel 2 Herramientas nivel 3 Biblioteca nivel 8 Mando nivel 7 Biblioteca nivel 5 Mando nivel 5 Biblioteca nivel 10 Imperio nivel 4 Biblioteca nivel 8

Academia militar nivel 2 Academia militar nivel 3 Academia militar nivel 5 Ataque nivel 2 Academia militar nivel 4 Academia militar nivel 8 Academia militar nivel 4 Ataque nivel 6 Academia militar nivel 4 Velocidad nivel 2 Academia militar nivel 10 Ataque nivel 10

EDIFICIOS Almacn subterrneo Fragua Cuartel Academia militar Mercado Taller de defensa

Ocultar bienes nivel 8 Forja del hierro nivel 4 Fragua nivel 2 Mando nivel 3 Mando nivel 5 Comercio nivel 2 Fragua nivel 6 Mando nivel 5
49

UNIDADES MILITARES Infantera ligera

Infantera pesada

Caballera ligera

Caballera pesada

Arquero

Saetero

Dragn

Espa

Convoy

Cuartel nivel 1 Academia militar nivel 2 Ataque nivel 2 Cuartel nivel 5 Academia militar nivel 4 Ataque nivel 4 Cuartel nivel 3 Academia militar nivel 4 Carga nivel 2 Cuartel nivel 7 Academia militar nivel 7 Carga nivel 8 Cuartel nivel 4 Academia militar nivel 4 Alcance nivel 2 Cuartel nivel 6 Academia militar nivel 7 Alcance nivel 8 Cuartel nivel 12 Academia militar nivel 12 Asalto nivel 6 Cuartel nivel 4 Academia militar nivel 4 Velocidad nivel 4 Cuartel nivel 2 Academia militar nivel 4 Velocidad nivel 4

UNIDADES DEFENSIVAS Lanceros

Piqueros

Ballesteros

Calderos de aceite

Balistas

Taller de defensa nivel 2 Academia militar nivel 4 Defensa nivel 1 Taller de defensa nivel 4 Academia militar nivel 6 Defensa nivel 4 Taller de defensa nivel 6 Academia militar nivel 6 Defensa nivel 6 Taller de defensa nivel 6 Academia militar nivel 7 Defensa nivel 8 Taller de defensa nivel 12 Academia militar nivel 12 Defensa nivel 10

50

WarBattle

3.

Modelo de dominio

En este captulo se recoge la informacin obtenida utilizando el modelo de dominio para representar mediante UML 2.0 la realidad del sistema que ser desarrollado ms adelante. Antes de empezar con el anlisis, conviene recordar la definicin de modelo de dominio para facilitar la comprensin del mismo. Un modelo de dominio consiste en uno o ms diagramas UML que muestran: Los conceptos bsicos del dominio del problema. Sus propiedades ms importantes. Las relaciones importantes entre dichos conceptos. A pesar de su utilidad no todos los proyectos software requieren de su realizacin, generalmente porque su tamao no es lo suficientemente grande como para requerir de una herramienta que ordene y relacione conceptos. En el caso del proyecto Warbattle es una herramienta ms que necesaria, se podra decir que es imprescindible. Una vez realizado un buen modelo de dominio, el trabajo posterior de diseo comienza a ser abordable. De otra forma, hubiesen existido problemas de ensamblaje de nuevos conceptos en mdulos nuevos, con su consiguiente prdida de tiempo al tener que rehacer trabajo. Una vez vistas las ventajas aportadas por esta tcnica, se procede a separar los conceptos que van a ser tratados en grandes grupos para poder reflejar cmodamente los diagramas. Antes de empezar es necesario destacar que, de aqu en adelante, se sustituir el trmino castillo por el de aldea, puesto que a nivel de anlisis y diseo refleja mejor su funcin en el sistema. Estos grupos son: El entorno del jugador a nivel global. El entorno de las aldeas. Sistema de produccin. Sistema de costes. Unidades militares. Unidades defensivas. Restricciones. Misiones. Sistema de coordenadas.

51

3.1 Entorno del jugador a nivel global


En esta seccin se intentar recoger toda la informacin que el sistema debe reflejar respecto a los elementos que estn directamente ligados a un jugador. Esta informacin se recoge en el siguiente diagrama:

Figura 3.2.1: Diagrama del modelo de dominio del entorno del jugador a nivel global

El diagrama muestra las siguientes entidades y relaciones: - Jugador: hace referencia, como su nombre indica, al propio jugador. Para poder identificarle de los dems deber tener un nombre nico del resto. Los otros dos atributos que se muestran, contrasea y email son necesarios para una correcta gestin de stos. - Caractersticas jugador: son las propiedades de la partida del jugador a nivel global. Sus atributos son: eruditos y maestros militares, que ya fueron explicados en el anterior captulo. Aldea: son los centros de actividad de los jugadores como ya se vio en el anterior captulo. Por el momento, slo interesa recoger la informacin sobre su nombre y si es capital o no. Esto significa que es la aldea de la que parte inicialmente el jugador o ha sido creada por l.
52

WarBattle

Por otro lado, como se puede apreciar en la relacin [1,*], un jugador puede tener una o varias aldeas, no obstante, una aldea slo podr pertenecer a un jugador. - Ciencia: esta entidad slo tiene un atributo, el nivel. Esto se debe a que esta entidad se refiere exclusivamente al objeto en particular de la ciencia que posee el jugador. Puesto que todos los jugadores utilizan los mismos tipos de ciencia, el resto de informacin comn ser excluida en otra entidad diferente, Tipo ciencia. Como se puede observar en el diagrama, cada ciencia pertenece a un nico jugador, pudiendo este ltimo tener un nmero indeterminado de ciencias bajo su supervisin. - Tipo ciencia: es la informacin sobre cada ciencia que es comn a todos los usuarios. Para el nivel de estudio actual slo interesa saber que tiene un nombre y una descripcin nicos y distintos del resto de tipos de ciencia. Ms adelante se irn viendo otras relaciones que parten de esta entidad del modelo de dominio. Al observar el diagrama se aprecia que cada ciencia debe pertenecer a un tipo de ciencia, lo que en la otra direccin no se refleja, sino que cada tipo de ciencia puede mltiples ciencias que estn relacionadas con ella. - Habilidad militar: de estructura muy similar a las ciencias, este objeto especifica las habilidades militares de un jugador, cuya informacin contenida es el nivel al que se encuentra y el tipo de habilidad que es, que se refleja en la relacin [*,1] con tipo habilidad. - Tipo habilidad: muy similar tambin a tipo ciencia, pero a diferencia de sta, su contenido refleja la informacin sobre los tipos de habilidades comunes a todos los usuarios.

53

3.2 Entorno de las aldeas


En el anterior punto se ha recogido toda la informacin relativa al entorno del jugador a nivel global. En esta seccin se va a proceder a describir los elementos pertenecientes a cada aldea. Los elementos estticos (en referencia a aquellos elementos que una vez dados de alta no sufrirn baja, aunque si modificaciones en los valores de sus atributos) de una aldea son los que se pueden observar en el siguiente diagrama:

Figura 3.2.2: Diagrama del modelo dominio

Las entidades y relaciones del diagrama son las siguientes: - Aldea: puesto que ahora se ha analizado el carcter local de las aldeas y los elementos que pertenecen a ella, se han aadido un par de atributos que reflejan el estado de la misma en el juego. Estos atributos son: o Herreros: indican el nmero de herreros que tiene la aldea. o Soldados disponibles para construir unidades militares en una aldea. - Recurso: es la cantidad de unidades de cada recurso que hay disponibles en una aldea. Cada recurso slo podr ser de un tipo de recurso. Por otro lado, cada recurso slo podr pertenecer a una aldea. - Tipo recurso: recoge la informacin sobre el comportamiento y caractersticas de cada tipo de recurso. En este diagrama slo interesa hacer referencia a informacin de tipo identificativa como el nombre y su
54

WarBattle

descripcin. En los siguientes puntos se volver a utilizar esta entidad y se aumentar la informacin asociada a ella. - Productor: son los elementos que se encargan de producir recursos en una aldea. Puesto que todas las aldeas del juego tendrn el mismo tipo de productor, es necesario dividir la parte que es esttica y que define las caractersticas del mismo de la parte que es distinta o no en cada aldea. La informacin cambiante, por tanto, se recoge en esta entidad. Esa informacin es el nivel al que se encuentre en un momento dado el productor. As, cada productor pertenece a una nica aldea, mientras que sta puede tener mltiples productores. - Tipo productor: recoge informacin de tipo esttica sobre los tipos de productores que existen en el juego. Ms adelante se definirn ms caractersticas de los mismos. En este momento slo interesa conocer que tiene informacin identificativa como el nombre y la descripcin. Tambin se pueden extraer dos conceptos fundamentales del anterior diagrama: o Un productor slo puede ser de un tipo de productor. o Un tipo de productor produce un tipo de recurso que slo puede ser producido en un tipo de productor especfico. - Edificio: recoge la informacin sobre el estado de los edificios en una aldea. Cada edificio slo puede ser de un tipo de edificio especfico. La informacin relativa al tipo de edificio ser descrita en la entidad tipo edificio. Aqu slo se recoge el nivel al que se encuentre una instancia de un edificio. Por otro lado, en una aldea puede haber mltiples edificios, mientras que un edificio slo puede pertenecer a una aldea. - Tipo edificio: esta entidad abarca la informacin sobre los tipos de edificio disponibles en el juego. Ser utilizada por todos los edificios que sean del tipo asociado de todas las aldeas. Ms adelante se aumentar la informacin asociada a los tipos de edificios, pero por el momento es suficiente conocer que cada tipo de edificio tiene un nombre y una descripcin del mismo.

55

3.3 Sistema de produccin


En esta seccin se va a tratar el anlisis del sistema de produccin, haciendo un estudio de los elementos que intervienen en este proceso. Como ya se vio en el captulo anterior dedicado al estudio de la ambientacin del universo Warbattle, la produccin de un tipo de productor vena definida por la siguiente funcin:

Unidades/hora = Coste base * factor * nivel del productor


El siguiente diagrama recoge los elementos participantes, las relaciones entre ellos y los atributos que los componen:

Figura 3.2.3: Diagrama del modelo de dominio del sistema de produccin

Los elementos participantes en el diagrama son los siguientes: - Tipo recurso: su contenido es igual que el que se vio en el anterior punto. En esta ocasin aparece una nueva relacin asociada a esta entidad, la que le une a la entidad produccin.

56

WarBattle

Esta relacin significa que para cada tipo de recurso existe una funcin de produccin que viene definida por los atributos de la entidad produccin como se puede comprobar en la funcin adjunta anterior al diagrama. - Produccin: esta entidad refleja el concepto de la frmula que determina la produccin de un tipo de recurso cuando un productor est a un determinado nivel. Sus atributos, por tanto, son los equivalentes a las variables que determinan la produccin. o Factor. o Produccin base. Por otro lado, la variable que falta para calcular la produccin se extrae de la entidad productor, que va ligada a la entidad produccin. - Productor: la informacin de este elemento no se ve alterada en este punto respecto al anterior. Como se ha comentado al describir la entidad produccin, ahora el atributo nivel tiene una nueva funcin, la de participar en la funcin de clculo de la produccin de recursos. - Recurso: esta entidad ve modificado su contenido, ya que en este punto es necesario aadirle un nuevo atributo. Este atributo refleja la produccin por hora del tipo de recurso de la aldea, que ser actualizado respecto a la produccin de un tipo de recurso de la aldea. Por eso, la relacin que une produccin y recurso es meramente informativa, pues la unin entre ambos slo existir en los momentos en que un productor sea actualizado por aumentar de nivel.

57

3.4 Sistema de costes


En este punto se va a plasmar toda la informacin necesaria para los procesos de clculo de costes para el aumento de niveles en cualquier elemento que lleve asociado un coste. Los elementos del universo Warbattle que cuestan recursos, como se vio en el anterior captulo estudio de la ambientacin, son: - Productores. - Edificios. - Ciencias. - Habilidades militares. - Unidades militares. - Unidades defensivas. Como se vio tambin en el anterior captulo, la frmula de clculo para el coste de aumentar un nivel un elemento era:

Coste aumento = Coste base *

El siguiente diagrama muestra los elementos participantes as como las relaciones existentes entre ellos y los atributos que las definen:

Figura 3.2.4: Diagrama del modelo de dominio del sistema de costes

58

WarBattle

Las entidades colaboradoras en el diagrama anterior son: - Tipo recurso: esta entidad ya ha sido descrita anteriormente, por eso aparece vaca de atributos. En este contexto tiene significado completo, pues los costes van asociados, cada uno, a un tipo de recurso especfico. - Coste nivelado: es el coste para un tipo de recurso de aumentar un tipo de elemento con nivel. Esta entidad tiene como atributos las variables que definen la funcin de coste a excepcin del nivel que ser recogida a la hora de calcular el coste de la instancia que almacene dicha informacin. - Tipo nivelado: esta entidad recoge las caractersticas comunes a todos los tipos de elementos cuyas instancias poseen el atributo nivel. El motivo de que puedan heredar de esta clase se debe a que todas ellas utilizan la misma funcin para el clculo del coste, variando de unas a otras los parmetros. - Tipo productor: entidad ya descrita en anteriores puntos. Hereda de tipo nivelado para calcular el coste de aumento de nivel. - Tipo edificio: entidad ya descrita en anteriores puntos. Hereda de tipo nivelado para calcular el coste de aumento de nivel. - Tipo ciencia: entidad ya descrita en anteriores puntos. Hereda de tipo nivelado para calcular el coste de aumento de nivel. - Tipo habilidad: entidad ya descrita en anteriores puntos. Hereda de tipo nivelado para calcular el coste de aumento de nivel. - Coste militar: define los costes asociados a los tipos de unidades militares. Puesto que este tipo de elementos no tienen la propiedad nivel, los costes son constantes y vienen definidos por el atributo coste base. - Tipo militar: abarca a los dos tipos de unidades de combate, las unidades militares y las unidades defensivas. - Tipo unidad: son los tipos de unidades militares del juego. Ms adelante se describirn en mayor detalle, aunque de momento es suficiente saber que para estimar su coste hereda de la entidad tipo militar. - Tipo defensa: son los tipos de unidades defensivas del juego. Ms adelante se describirn en mayor detalle, aunque de momento es suficiente saber que para estimar su coste hereda de la entidad tipo militar.

59

3.5 Unidades militares


A continuacin se proceder al anlisis de las unidades militares y su relacin con otros elementos del universo Warbattle. Las unidades militares forman tropas que consisten en escuadrones de varias unidades de un mismo tipo de unidad militar. Las tropas a su vez forman parte de ejrcitos, que pueden, o bien estar estacionados en una aldea, o bien participar en una misin. A su vez, como ya se vio anteriormente, los tipos de unidades militares tienen una serie de caractersticas especiales que se aplican en los combates. Toda esta informacin queda recogida en el siguiente diagrama:

Figura 3.2.5: Diagrama del modelo de dominio de las unidades militares

La explicacin de las entidades, las relaciones entre ellas y sus atributos viene a continuacin: - Tipo unidad: define los tipos de unidades militares disponibles en el juego. Esta informacin es comn para todos los jugadores y de contenido esttico. Como se puede observar, tiene varios atributos, que son: o Nombre del tipo de unidad. o Descripcin del tipo de unidad. o Fuerza base para un determinado tipo de unidad.
60

WarBattle

o Defensa base para un determinado tipo de unidad. o Puntos de vida base para un determinado tipo de unidad. o Velocidad base para un determinado tipo de unidad. o Carga mxima de transporte del tipo de unidad. o Tipo de ataque especial si es que tiene alguno. o Poder del tipo de ataque especial si es que tiene. o Soldados necesarios para poder construir una unidad del tipo de unidad militar deseado. Por ltimo, esta entidad es la misma que la que fue expuesta al describir los costes, slo que su contenido ha sido aqu ampliado. - Tropa: representa los escuadrones formados por un tipo de unidad militar dentro de un ejrcito. Dentro de esta entidad es necesario recopilar el nmero de unidades disponibles en el ejrcito de un tipo de unidad militar especfica. - Ejrcito: agrupa las diferentes tropas que forman parte de, valga la redundancia, un ejrcito. Como se puede observar en el diagrama, un ejrcito slo podr estar, o bien estacionado en una aldea, o bien ejerciendo una misin. - Misin: esta entidad representa las misiones de un jugador. Ms adelante ser explicada en mayor profundidad, pero de momento es suficiente saber que puede ser uno de los dos destinos de uso de un ejrcito. Por otro lado, en una misin slo puede estar involucrado un ejrcito que estuviese en una aldea. - Aldea: como se puede comprobar en el diagrama, esta entidad se encuentra vaca de atributos en l. Esto se debe a: o Los atributos requeridos hasta el momento de anlisis ya han sido definidos en anteriores diagramas. o Al definir las unidades militares no han aparecido atributos relevantes que amplen la definicin de la entidad. Por ltimo, como se observa en la relacin [1, 0,1] entre aldea y ejrcito, si bien un ejrcito puede no estar estacionado en una aldea, una aldea no puede tener estacionados ms de un ejrcito al mismo tiempo.

61

3.6 Unidades defensivas


El siguiente caso de estudio es el que abarca las relaciones con las unidades defensivas del juego. La estructura que define las unidades defensivas y su entorno es muy similar a la que define las unidades militares. No obstante, existen dos diferencias fundamentales entre ellas, que son: - Las unidades defensivas, como se vio durante el estudio de la ambientacin (ver captulo 1 Estudio de la ambientacin) son elementos inamovibles dentro de una aldea. Esto significa que slo pueden ejercer su funcin, la de defender, en el interior de una aldea. Por ello, as como las unidades militares podan, o bien encontrarse estacionadas en una aldea, o bien estar participando en una misin, las unidades defensivas slo pueden estar estacionadas en una aldea, en la que se llevar a cabo todo su ciclo de vida. - Como se vio en el anterior punto, las unidades militares tienen una serie de atributos que definen sus caractersticas de combate (fuerza, defensa y vida) y otras caractersticas (especiales y relacionadas con las misiones). Las unidades defensivas, al permanecer siempre estacionadas en una aldea, no requieren de las caractersticas no relacionadas con el combate que poseen las unidades militares. El siguiente diagrama muestra las relaciones y entidades recin descritas:

Figura 3.2.6: Diagrama del modelo de dominio de las unidades defensivas

62

WarBattle

A continuacin se explican las entidades que participan en el anterior diagrama: - Tipo defensa: recoge la informacin esttica y relativa de los tipos de unidades defensivas del juego. Esta informacin es compartida y utilizada por todos los usuarios. Define las caractersticas de cada tipo de unidad defensiva mediante los siguientes atributos: o Nombre del tipo de unidad defensiva. o Descripcin del tipo de unidad defensiva. o Fuerza base del tipo de unidad defensiva. o Defensa base del tipo de unidad defensiva. o Vida base del tipo de unidad defensiva. Los atributos fuerza, defensa y vida son utilizados, al igual que suceda con las unidades militares, para realizar los clculos necesarios para estimar el resultado de los combates. - Tropa defensa: esta entidad agrupa por tropas, de una forma similar a la entidad tropa del grupo unidades militares, a todas las unidades defensivas de un mismo tipo. Su nico atributo, unidades, define el nmero de soldados de un tipo de unidad defensiva que forman parte de las defensas de una aldea. Ese atributo es de carcter dinmico, pues se ver aumentado al construir ms unidades, o disminuido, si procede, tras un combate. - Defensa aldea: su estructura y funcin son prcticamente idnticas a las de la entidad ejrcito del grupo unidades militares. Su propsito es el de agrupar todas las tropas defensivas de una aldea en un mismo conjunto. - Aldea: la informacin de esta entidad no se ve modificada respecto de los anteriores casos de estudio. Como se puede observar en el diagrama, en una aldea slo puede haber un conjunto de tropas defensivas que conforman, como se acaba de ver, el conjunto de defensas totales de la aldea.

63

3.7 Restricciones
Hasta el momento se han definido relaciones sobre elementos tangibles dentro del universo Warbattle, lo que permita imaginarse las relaciones existentes entre sus elementos y realizar una definicin ms clara y concisa. Con el tema que abarca esta seccin, las restricciones, estas facilidades desaparecen, pues se definen relaciones complejas entre entidades y, en algunos casos, es difcil concretar a que entidad se ligan las relaciones del dominio. Para empezar, ser til hacer un leve recordatorio de que son las restricciones. Las restricciones definen bloqueos sobre elementos que a la vez son bloqueados por otros elementos de su mismo dominio, o de dominios diferentes. Para ilustrar el caso, se recordar un ejemplo de restriccin ya vista en el captulo 1 Estudio de la ambientacin. Como se vio en ese captulo, para poder construir infanteras ligeras, era necesario tener disponibles en la aldea: - Cuartel nivel 1. - Academia militar nivel 2. - Ataque nivel 2. En este caso, para desbloquear un tipo de unidad militar son necesarios tener dos tipos de edificio a un determinado nivel y una habilidad militar a otro. Se analizar otro caso a continuacin. El elemento en estudio ser la ciencia Forja del hierro. Este tipo de ciencia necesitaba tener disponibles los siguientes elementos: Biblioteca nivel 2. Herramientas nivel 3.

Para este elemento son necesarios tener disponibles un tipo de edificio a un determinado nivel y una ciencia a otro. Una vez vistos ambos casos, se puede deducir fcilmente la dificultad de definir las restricciones para los elementos, pues, a diferencia de lo que ocurra con los costes que prcticamente todas las entidades podan heredar de otra que agrupase su comportamiento, en esta ocasin cada tipo de elemento tiene caractersticas diferentes entre ellos. Para reflejar la dificultad de este caso de estudio, se observar lo siguiente: - Tanto las ciencias como las habilidades militares pertenecen a un jugador a nivel global y, por tanto, se aplican a todas las aldeas del mismo.

64

WarBattle

Sin embargo, una caracterstica intrnseca de las restricciones de stas es que requieren de un edificio (biblioteca o academia militar segn el elemento) para poder acceder a ellas o desbloquearlas. La solucin que se adoptar ser la de dar de alta la primera vez que se desbloquee uno de esos tipos de elementos a nivel global. Por otro lado, para acceder a ellos desde una aldea, an a pesar de que ya pertenezcan al usuario, la misma deber cumplir los requisitos necesarios. - El resto de elementos, edificios y unidades militares y defensivas, tienen su ciclo de vida dentro de una aldea y, por tanto, sus restricciones estn sujetas a la misma. No obstante, como se vio anteriormente, todos ellos dependen de elementos globales (ciencias o habilidades militares) para ser desbloqueados. La solucin a estos problemas ser, adems de relacionar cada restriccin a su tipo de elemento bloqueado, asociar dicha restriccin o bien a un jugador en caso de ser ciencia o habilidad militar, o bien a una aldea en los dems casos. Puesto que, como se ha visto a lo largo de esta seccin, cada elemento tiene una configuracin de restricciones distintas, sern estudiadas por separado en funcin del elemento restringido.

65

Ciencias y habilidades militares El siguiente diagrama muestra las relaciones y entidades participantes en este proceso:

Figura 3.2.7: Diagrama 1 del modelo de dominio de las restricciones

Los elementos que aparecen en el diagrama y su explicacin son: - Jugador: es el elemento que tiene las ciencias y habilidades militares bloqueadas. Si se realiza la lectura de las relaciones asociadas a l, se deduce que un jugador puede tener varias ciencias o habilidades militares bloqueadas, mientras que cada una de ellas slo puede pertenecer a un jugador. - Tipo habilidad: hace referencia al tipo de habilidad del elemento bloqueado y del elemento que puede o no desbloquearla. - Habilidad bloqueada: es la propia restriccin en s de una habilidad militar bloqueada en un momento dado. Para poder desbloquearla es necesario cumplir con los requisitos que vienen definidos bien en los atributos de la entidad como en las relaciones salientes con la entidad tipo habilidad. El significado de cada uno de ellos es el siguiente: o Nivel de la academia militar necesario para poder acceder a ella. o Un atributo que informe de la dependencia de otra habilidad para ser desbloqueada. Este atributo es requiere habilidad. o Nivel de la habilidad requerida en caso de que exista.
66

WarBattle

o Tipo de habilidad bloqueada: aparece en la relacin bloqueada entre tipo habilidad y habilidad bloqueada. o Tipo de habilidad desbloquea: aparece en la relacin desbloquea entre tipo habilidad y habilidad bloqueada. - Tipo ciencia: tiene el mismo significado que la entidad tipo habilidad pero sobre los elementos de tipo de ciencias. - Ciencia bloqueada: es la propia restriccin en s de una ciencia bloqueada en un momento dado. Para poder desbloquearla es necesario cumplir con los requisitos que vienen definidos bien en los atributos de la entidad como en las relaciones salientes con la entidad tipo ciencia. El significado de cada uno de ellos es el siguiente: o Nivel de la biblioteca necesario para poder acceder a ella. o Un atributo que informe de la dependencia de otra ciencia para ser desbloqueada. Este atributo es requiere ciencia. o Nivel de la ciencia requerida en caso de que exista. o Tipo de ciencia bloqueada: aparece en la relacin bloqueada entre tipo ciencia y ciencia bloqueada. o Tipo de ciencia desbloquea: aparece en la relacin desbloquea entre tipo ciencia y ciencia bloqueada.

67

Edificios A continuacin se definen las relaciones existentes en el dominio de restricciones de los edificios con el siguiente diagrama:

Figura 3.2.8: Diagrama 2 del modelo de dominio de las restricciones

Si se comparan este diagrama con el anterior que describa las restricciones de las habilidades militares y las ciencias, se observarn notables diferencias en la estructura de ambos. Las restricciones para este caso, han sido consideradas de forma diferente. El motivo es que si en el anterior diagrama se poda incluir como atributo la restriccin por edificios debido a que slo dependan de un tipo especfico, para los edificios, es necesario agruparlo en su conjunto. Por tanto, un edificio podr tener ms de una restriccin para ser desbloqueado, que podr ser, o bien dependiente de un tipo de edificio, o bien de un tipo de ciencia. La definicin de los elementos del diagrama se presenta a continuacin: - Aldea: los edificios bloqueados pertenecen a una nica aldea de un jugador, mientras que de otra manera las aldeas pueden tener varios edificios bloqueados en un momento dado. Tipo edificio: tiene dos lecturas diferentes en este dominio: o Por un lado hace referencia mediante la relacin bloqueado al tipo de edificio bloqueado en una aldea.

68

WarBattle

o Por otro lado, hace referencia al tipo de edificio que puede ser el elemento que desbloquee el edificio bloqueado. Este significado se extrae de la relacin desbloquea. - Tipo ciencia: su significado en este dominio es el de ser un posible elemento que desbloquee un tipo de edificio dado. - Edificio bloqueado: es el edificio que se encuentra bloqueado en un cierto instante en una cierta aldea. Para que pueda eliminrsele el bloqueo debe de tener todas las condiciones de bloqueo, tanto de ciencias como de edificios que posea cumplidas. Para poder hacer posible esta situacin, es necesario recoger la siguiente informacin: o Tipo de edificio bloqueado. Se extrae de la relacin con tipo edificio bloqueado. o Tipo de elemento que desbloquea. Puede ser o bien un tipo de edificio o bien un tipo de ciencia. o Nivel del elemento al que desbloquea.

69

Unidades militares y defensivas Los ltimos elementos del dominio que van a ser estudiados son las restricciones de las unidades militares y defensivas. Estos tipos de elementos funcionan de la siguiente manera: - En el caso de las unidades militares, las restricciones dependen de tres factores: o Nivel del cuartel necesario para construir el tipo de unidad militar deseado. o Nivel de la academia militar requerido para desbloquear el tipo de unidad militar deseado. o Tipo de habilidad militar que desbloquea el tipo de unidad militar deseada. - En el caso de las unidades defensivas, las restricciones dependen de otros tres factores: o Nivel del taller militar necesario para construir el tipo de unidad defensiva deseado. o Nivel de la academia militar requerido para desbloquear el tipo de unidad defensiva deseado. o Tipo de habilidad militar que desbloquea el tipo de unidad defensiva deseada. Por otro lado, las restricciones de ambos tipos de unidades, tanto militares como defensivas, van asociadas a una nica aldea, por lo que cada aldea tendr sus propias unidades bloqueadas.

Toda esta informacin viene reflejada en el siguiente diagrama:

70

WarBattle

Figura 3.2.9: Diagrama 3 del modelo de dominio de las restricciones

Las entidades y relaciones reflejadas en el dominio del diagrama son las siguientes: - Aldea: es el lugar donde tienen cabida los bloqueos tanto de las unidades militares como de las unidades defensivas. Cada aldea tendr sus propios bloqueos en funcin del grado de avance de la misma. - Tipo habilidad: en este dominio acta como elemento que desbloquea tanto las unidades militares como las defensivas tal y como puede observarse en la relacin con unidad bloqueada desbloquea. - Tipo unidad: es el tipo de unidad militar bloqueada en una aldea especfica en un instante dado tal y como puede apreciarse en la relacin bloqueada con unidad bloqueada. - Unidad bloqueada: esta entidad recoge la informacin necesaria para conocer los requisitos necesarios para que una unidad militar sea desbloqueada. - Tipo defensa: es el tipo de unidad defensiva bloqueada en una aldea especfica en un instante dado tal y como puede apreciarse en la relacin bloqueada con defensa bloqueada.
71

- Defensa bloqueada: esta entidad recoge la informacin necesaria para conocer los requisitos necesarios para que una unidad defensiva sea desbloqueada.

72

WarBattle

3.8 Misiones
En esta seccin se va a realizar el estudio de uno de los aspectos ms crticos del sistema, las misiones. Hasta el momento, al realizar el estudio de los elementos anteriores, no se ha hecho ninguna mencin al tiempo entre eventos. La criticidad de este dominio radica, bsicamente, en dos aspectos fundamentales: - Recientemente se ha hecho una pequea introduccin al concepto de tiempo entre eventos. Este hecho significa que al ser un juego en tiempo real, con mltiples jugadores interaccionando entre s y accediendo simultneamente a recursos compartidos, no slo mediante lectura, sino tambin mediante escritura, el sistema debe gestionar correctamente la variable del tiempo. En el dominio de las misiones es, si cabe, ms importante realizar perfectamente esta gestin. Para ilustrar mejor este proceso se utilizar un ejemplo sencillo. Imaginemos tres jugadores A, B y C. El jugador A ataca a B, llegando su ataque a las 21:00 del sistema. Por otro lado, el jugador C tambin ataca a B, pero su ataque es anterior y llega a las 20:59. Si se tiene en cuenta que el sistema actualiza las cuentas de los jugadores cuando uno de ellos genera algn evento (que es el procedimiento que va a utilizar el sistema), podramos encontrarnos con el siguiente problema: C tiene previsto el ataque sobre B antes que A, pero ninguno de los tres genera un evento antes de las 21:00. Hasta entonces no habra ningn problema, pues el sistema simplemente se queda a la espera de actualizar segn le lleguen eventos. Pero a las 21:05 llega el primer evento de los tres jugadores, que es el del jugador A. En este momento el sistema debera actualizar todos los elementos actualizables del jugador A, atacando en teora, antes que C y generando una situacin imposible. La figura siguiente ilustra el ejemplo mencionado:

Figura 3.2.10: Ejemplo de sucesos en el tiempo

73

Como se ha analizado en el ejemplo expuesto, el tiempo es una variable crtica que debe ser tratada con muchsimo cuidado. Ms adelante, durante la fase de diseo se proceder a realizar un estudio mucho mayor sobre los elementos de actualizacin y se explicar en detalle la solucin empleada. - Ya se ha visto por encima en el ejemplo utilizado en el anterior epgrafe que he un elemento importantsimo y de criticidad muy elevada es la concurrencia de eventos de diferentes jugadores sobre un mismo recurso, sobre todo cuando ste va a ser utilizado sobre operaciones de escritura.

Antes de confeccionar el modelo de dominio, es necesario explicar un par de conceptos ms. Las misiones consisten en enviar tropas desde un punto a otro para realizar alguna tarea determinada. Este hecho implica que las misiones tienen un punto de partida y otro de destino. En el juego, este suceso se ve reflejado en que las misiones parten de unas coordenadas de origen a otras de destino. Por otro lado, recordemos que haba cuatro tipos de misiones: Transporte. Combate. Espionaje. Colonizacin.

Una explicacin ms amplia se puede obtener en el captulo 1 Estudio de la ambientacin. Para realizar el dominio, nos interesa observar un concepto fundamental de los distintos tipos de misiones. Las tres primeras son misiones de ida y vuelta, es decir, una vez llegado al destino y ejercer su cometido, deben volver a las coordenadas de origen. La misin colonizacin, si ha tenido xito, al llegar a su destino desaparece, cumpliendo su cometido y creando un nuevo castillo. Por otro lado, despus de un ataque tambin puede darse el caso de que las tropas que atacaban pierdan el combate, en cuyo caso la misin tambin desaparecer de una forma similar a como desaparecen las colonizaciones que tienen xito. Una vez explicados los conceptos relativos a las misiones, sus problemas y sus tipos, a continuacin se presenta el modelo de dominio alcanzado para este caso:

74

WarBattle

Figura 3.2.11: Diagrama del modelo de dominio de las misiones

Los elementos que intervienen en el diagrama son los siguientes: - Casilla: este nuevo elemento no visto hasta ahora representa una casilla en el mapa. De momento no se va a abordar su definicin y caractersticas, sino que su misin en este diagrama es representar la casilla de destino de la misin, que puede estar o no ocupada por otro jugador. En el punto 2.10 Sistema de coordenadas se profundizar en su descripcin. - Aldea: representa la aldea desde la que parte la misin y que ser, a su vez, la de destino cuando la misin alcance su destino original y est de regreso. - Misin: esta entidad incluye la informacin especfica sobre una misin en particular. Recoge informacin de tipo temporal, como las horas de inicio, llegada y vuelta, como del tipo de misin que llevar o llev a cabo. Como se puede ver en las relaciones salientes, esta entidad tiene las siguientes caractersticas: o Su destino slo puede ser una casilla del mapa. o Su origen slo puede ser una aldea del jugador que enva la misin. o Cada misin pertenece a un slo jugador, no obstante, cada jugador puede tener mltiples misiones simultneas. o Una misin est formada por un ejrcito que slo puede tomar parte en una misin. Jugador: representa el jugador que enva la misin. Ejrcito: representa el ejrcito que lleva a cabo la misin.
75

3.9 Elementos en construccin


En esta seccin se realizar el estudio de aqullos elementos del juego que pueden ser construidos (a excepcin de los castillos que tienen un significado completamente diferente al resto), as como de dnde y cundo tiene lugar su construccin y de los requisitos necesarios para que se produzca la misma. Los elementos construibles son: - Productores. - Edificios. - Ciencias. - Habilidades militares. - Unidades militares. - Unidades defensivas. Todos ellos tienen una caracterstica en comn, que es que todos tienen un tiempo de finalizacin en su construccin. Sin embargo, tambin existen una serie de diferencias entre ellos. Estas diferencias vienen determinadas por el tipo de elemento a construir. A continuacin se van a ir explicando estas diferencias. Los productores y los edificios tienen un funcionamiento idntico. Ambas construcciones tienen lugar en una aldea y slo en ella. Ninguno de ellos puede ponerse a construir si ya existe otro elemento del mismo tipo en construccin. Es decir, si en el momento en el que existe un edificio construyndose en una aldea se quisiera poner en construccin otro, el sistema debera impedrselo al usuario. De igual modo sucedera entre productores. Por otro lado se encuentran las ciencias y habilidades militares, cuya estrategia es prcticamente similar. Al igual que suceda con productores y edificios, no se pueden poner a investigar ninguna de las dos si hay otro elemento del mismo tipo investigndose, no al menos hasta que dicha investigacin se haya llevado a cabo. Sin embargo, a diferencia de lo que ocurra con los edificios y productores, para estos dos tipos de elementos existe un fenmeno nuevo. Una ciencia no podr ser investigada si en alguna aldea del jugador existe alguna biblioteca en construccin. De igual modo, ninguna habilidad militar podr ser desarrollada mientras haya alguna academia militar construyndose en alguna aldea del mismo jugador.
76

WarBattle

La lectura en sentido contrario se realiza de forma muy similar. Un jugador, sea en la aldea que sea bajo su poder, no podr poner a construir una biblioteca mientras est investigando una ciencia. Igualmente sucede con las academias militares y las habilidades militares. Las unidades militares y unidades defensivas, por otro lado, tambin siguen una estrategia idntica durante su construccin, aunque completamente distinta del resto de elementos vistos hasta el momento. En el caso de estos dos tipos de unidades de combate, hay que tener en cuenta que no se construye un nico tem de ellos como con los dems, sino que se ponen unidades de un determinado tipo de unidad. Por tanto, el sistema deber ser capaz de mantener la informacin de cuantas unidades se han puesto a construir de un determinado tipo de unidad de combate y a qu hora acaba cada una de construirse para su actualizacin. Puesto que intervienen demasiados elementos para ser expresados de forma cmoda en un diagrama, se dividirn por conjuntos.

77

Productores y edificios El siguiente diagrama muestra las entidades y relaciones de este dominio:

Figura 3.2.12: Diagrama 1 del modelo de dominio de las construcciones

La descripcin de los elementos que intervienen en el dominio es: - Aldea: ambos tipos de construcciones, las de los edificios y las de los productores, se llevan a cabo, como se ha visto a lo largo de esta seccin, dentro de las aldeas. Como se puede observar en el diagrama adjunto, esta entidad ha adquirido un nuevo atributo. ste es la ltima hora de consulta, que recoge la hora en la que el usuario o el sistema realizaron el ltimo evento sobre la aldea, despus de un proceso de actualizacin de la misma. Con esa hora y con las que se vern a continuacin con las entidades productor pendiente y edificio pendiente, se calcular la finalizacin o no de ese tipo de elementos. - Productor pendiente: es el productor en construccin. Hace referencia al productor que se est construyendo de la aldea en la que se encuentra este ltimo, tal y como se puede observar en la relacin [1, 0,1] entre ellas. Su atributo hora de construccin indica la hora en que el productor en construccin terminara la misma. - Productor: hace referencia al productor en cuestin que est siendo construido en un momento dado en una aldea. - Edificio pendiente: es el edificio en construccin. Hace referencia al edificio que se est construyendo de la aldea en la que se
78

WarBattle

encuentra este ltimo, tal y como se puede observar en la relacin [1, 0,1] entre ellas. Su atributo hora de construccin indica la hora en que el edificio en construccin terminara la misma. - Edificio: hace referencia al edificio en cuestin que est siendo construido en un momento dado en una aldea.

79

Ciencias y habilidades militares El siguiente diagrama muestra las entidades y relacionadas con el dominio que va a ser estudiado:

Figura 3.2.13: Diagrama 2 del modelo de dominio de las construcciones

Las entidades y relaciones mostradas en el diagrama son: - Jugador: hace referencia al jugador que tiene ciencias o habilidades investigndose. Ciencia: es la referencia a la ciencia que est siendo investigada.

Ciencia pendiente: rene la informacin necesaria para saber: o El usuario al que pertenece la ciencia en investigacin. Recordemos que el usuario slo puede tener una ciencia en ese estado. o La ciencia que est siendo investigada. o La hora de finalizacin en la investigacin.

- Habilidad: es la referencia a la habilidad que est siendo desarrollada. 80

Habilidad pendiente: rene la informacin necesaria para saber:

WarBattle

o El usuario al que pertenece la habilidad en desarrollo. Recordemos que el usuario slo puede tener una habilidad en ese estado. o La habilidad que est siendo desarrollada. o La hora de finalizacin en el desarrollo. - Aldea: es la aldea en la que se est construyendo o la academia militar o la biblioteca. - Biblioteca pendiente: es la biblioteca que est siendo construida en una aldea en un momento dado y que determina si una ciencia puede ser investigada o no. De la relacin con aldea, se puede deducir que un usuario puede tener varias bibliotecas construyndose. - Academia pendiente: es la academia militar que est siendo construida en una aldea en un momento dado y que determina si una habilidad militar puede ser desarrollada o no. De la relacin con aldea, se puede deducir que un usuario puede tener varias academias militares construyndose. - Edificio pendiente: es la referencia de la academia o biblioteca que se est construyendo.

81

Unidades militares y defensivas El siguiente diagrama muestra las entidades y relacionadas con el dominio que va a ser estudiado:

Figura 3.2.14: Diagrama 3 del modelo de dominio de las construcciones

Las entidades y relaciones mostradas en el diagrama son: - Aldea: es el lugar donde se lleva a cabo la construccin de unidades militares y defensivas. - Defensa disponible: informa al sistema de los tipos de defensa que ya han sido desbloqueados y que, por tanto, ya pueden ser construidos (siempre y cuando se cumplan los requisitos de costes). - Tipo defensa: es el tipo de defensa que o bien ya est disponible o bien est siendo construida, en funcin de la lectura que se haga de sus dos relaciones. - Defensa pendiente: es el conjunto de unidades de un mismo tipo de unidad defensiva que estn siendo construidas en una aldea en un instante concreto. Sus atributos son, por tanto: o Hora de construccin de una unidad de un tipo de unidad defensiva.

82

WarBattle

o Nmero construccin.

de

unidades

defensivas

pendientes

de

- Unidad disponible: informa al sistema de los tipos de unidades que ya han sido desbloqueados y que, por tanto, ya pueden ser construidos (siempre y cuando se cumplan los requisitos de costes). - Tipo unidad: es el tipo de unidad que o bien ya est disponible o bien est siendo construida, en funcin de la lectura que se haga de sus dos relaciones. - Unidad pendiente: es el conjunto de unidades de un mismo tipo de unidad militar que estn siendo construidas en una aldea en un instante concreto. Sus atributos son, por tanto: o Hora de construccin de una unidad de un tipo de unidad militar. o Nmero de unidades militares pendientes de construccin.

83

3.10 Sistema de coordenadas


En esta seccin se realizar el estudio del dominio relativo al sistema de coordenadas. Como ya se explic en el captulo 1 Estudio de la ambientacin, el mapa est organizado en 16 tierras, que a su vez estn cada una de ellas organizada en 49 sectores y que, por ltimo, se encuentran divididas en 16 posiciones. De estas tres distinciones geogrficas, se deduce que las casillas de juego estn constituidas por el siguiente formato: [Tierra : Sector : Posicin]. Una vez definido el sistema de coordenadas, es momento de especificar el uso de las casillas del mapa. En las casillas van alojadas las aldeas de los usuarios. Una aldea slo podr estar situada en una casilla, que ser siempre la misma. Por su parte, cada casilla slo podr contener una aldea, que ser, tambin, siempre la misma. Por ltimo, el sistema asignar de forma pseudoaleatoria el tipo de terreno que definir en ltima instancia la casilla utilizando un sistema de equilibrio que se ver ms adelante a la hora de realizar el diseo. Los tipos de terreno del universo Warbattle son: - Llanura. - Bosque. - Monte.

El siguiente diagrama muestra las entidades y relaciones pertenecientes al dominio:

84

WarBattle

Figura 3.2.15: Diagrama del modelo de dominio del sistema de coordenadas

Las entidades y relaciones mostradas en el diagrama son: - Aldea: es elemento que ocupa las casillas del mapa. - Casilla: esta entidad se corresponde con cada una de las posiciones del mapa que constituyen los puntos de juego posibles. Los atributos que conforman esta entidad son: o Tierra en la que est situada la casilla. o Sector en el que est situada la casilla. o Posicin que ocupa en el sector. o Tipo de terreno que puede ser llanura, bosque o monte.

85

4.

Anlisis de los casos de uso

El tema de estudio que ser tratado en este captulo es el anlisis de los casos de uso. Una vez realizado el modelo de dominio, ya se ha extrado y modelado la informacin suficiente para conocer el entorno y los elementos que formarn parte del juego Warbattle. El anlisis de los casos de uso es una herramienta fundamental en los procesos de ingeniera del software hoy en da. Es una tcnica para la captura de requisitos funcionales del sistema. Otra posible definicin puede ser la de que un caso de uso es una secuencia de interacciones que se desarrollarn entre un sistema y sus actores en respuesta a un evento que inicia un actor principal sobre el propio sistema. Un caso de uso, por tanto, responde a un objetivo de un actor respecto al sistema. El modelo de casos de uso se est formado por dos componentes: Diagrama de casos de uso. Descripcin detallada de cada caso de uso. Una vez vista la definicin y sentido del anlisis de casos de uso, se proceder a definir los lmites del mismo sobre el sistema que va a ser estudiado, en este caso, el juego Warbattle. Para proporcionar una lectura fcil y cmoda al lector se evitar realizar un nico diagrama de magnitudes enormes y de contenido farragoso. La solucin empleada ser la de elaborar diagramas y descripciones separadas en grupos cuyos contenidos tengan una relacin directa entre s. Los grupos en que se dividir el anlisis son: Acceso al sistema. Acciones informativas. Acciones sobre la produccin. Acciones sobre los edificios. Acciones sobre unidades militares. Acciones sobre unidades defensivas. Acciones sobre las ciencias. Acciones sobre las habilidades militares. Acciones sobre el mapa. Acciones sobre misiones.

86

WarBattle

4.1 Acceso al sistema


Las funciones descritas en este apartado tienen que ver con aquellas que sirvan para que el usuario tenga acceso al juego, ya sea accediendo al mismo si ya es un jugador registrado, ya sea registrndose por primera vez en el juego y accediendo al mismo posteriormente. Estas funciones aparecen recogidas en el siguiente diagrama:

Registrar jugador

Jugador Acceder al juego

Figura 3.3.1: Diagrama de casos de uso de acceso al sistema

Antes de proceder a la descripcin detallada de cada caso de uso, es fundamental resaltar que ambas unidades funcionales se realizan sobre la pgina principal del juego.

87

Caso de uso 1: Registrar jugador El usuario al acceder a la pgina de inicio selecciona la opcin registro.

Figura 3.3.2: Pgina principal

Una vez seleccionada la opcin, se encontrar con la siguiente vista:

Figura 3.3.3: Pgina de registro

88

WarBattle

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

Escenario primario

1. El usuario introduce los datos de usuario y acepta los trminos y condiciones de uso. 2. El sistema verifica la validez y disponibilidad de los datos introducidos, registra al jugador, le asigna una nueva cuenta y le concede acceso al juego.

Extensiones

2a. Los datos de usuario son incorrectos. 1. El sistema muestra una pgina de error en la autenticacin. 2b. Los datos de usuario ya estn dados de alta en el sistema. 1. El sistema muestra una pgina de error en la autenticacin.

Descripcin de datos

Datos de usuario 1. Nombre en el juego. 2. Contrasea. 3. Direccin de correo electrnico.

89

Caso de uso 2: Acceder al juego El usuario al acceder a la pgina de inicio accede al juego.

Figura 3.3.4: Pgina principal

Para acceder debe introducir los datos en el siguiente formulario:

Figura 3.3.5: Formulario de acceso

90

WarBattle

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

Escenario primario

1. El usuario introduce su identificacin. 2. El sistema comprueba que el jugador est registrado y le concede acceso al juego.

Extensiones

2a. La identificacin es incorrecta. 2. El sistema muestra una pgina de error en la autenticacin.

Descripcin de datos

Identificacin 1. Nombre en el juego. 2. Contrasea.

91

4.2 Acciones informativas


En esta seccin se realizar el estudio sobre las funciones que debe aportar el sistema con carcter informativo sobre las aldeas y los mensajes de un jugador. Las unidades de trabajo de este dominio se reflejan en el siguiente diagrama de casos de uso:

Ver informacin aldea

Cambiar aldea

Ver mensajes

Jugador Ampliar informacin mensaje

Borrar mensaje

Figura 3.3.6: Diagrama de casos de uso de acciones informativas

Estos casos de uso ya se realizan sobre el interfaz del juego y el jugador debe haber sido validado y aceptado por el sistema.

92

WarBattle

Caso de uso 3: Ver informacin de la aldea en la que se encuentre el jugador El jugador elige sobre el panel de opciones de la izquierda la opcin Inicio.

Figura 3.3.7: Vista general del juego

Opcin inicio:

Figura 3.3.8: Opcin inicio

93

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

El jugador debe haber accedido al juego.

Escenario primario

1. El usuario elige la opcin inicio. 2. El sistema extrae de la sesin la aldea que estaba siendo consultada y devuelve al navegador la vista deseada.

Extensiones

Descripcin de datos

94

WarBattle

Caso de uso 4: Cambiar aldea El jugador elige sobre el panel de aldeas de la parte superior izquierda una de las aldeas que tiene bajo su mando.

Figura 3.3.9: Vista general del juego

Para elegir cambiar de aldea, el jugador debe elegir una aldea diferente de la lista desplegable situada en el panel de aldeas mostrado en la figura siguiente:

Figura 3.3.10: Panel de aldeas

95

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

El jugador debe haber accedido al juego.

Escenario primario

1. El usuario selecciona una de las aldeas disponibles. 2. El sistema extrae de la request la aldea a la que se desea acceder, la sustituye por la anterior en la sesin y prepara la vista para el navegador.

Extensiones

1a. El usuario elige la aldea en la que ya se encontraba. 1. No se genera request y, por tanto, el sistema no interviene en el proceso.

Descripcin de datos

96

WarBattle

Caso de uso 5: Ver mensajes El jugador elige sobre el panel de opciones de la parte superior la opcin Mensajes.

Figura 3.3.11: Vista general del juego

Se genera la siguiente vista donde aparecen los mensajes que tiene un usuario en el momento del envo del evento.

Figura 3.3.12: Panel de informacin sobre misiones

97

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

El jugador debe haber accedido al juego. 1. El usuario elige la opcin mensajes. 2. El sistema extrae los mensajes almacenados y vigentes del jugador que realiza la peticin, prepara la vista y la enva al navegador.

Escenario primario

Extensiones

Descripcin de datos

98

WarBattle

Caso de uso 6: Ampliar informacin de los mensajes El jugador, una vez ha elegido la opcin de los mensajes, selecciona ver ms informacin sobre uno de ellos.

Figura 3.3.13: Panel de informacin sobre las misiones

Para ver ms informacin sobre un mensaje, el jugador deber pinchar sobre el siguiente icono adjunto a determinados tipos de mensaje.

Figura 3.3.14: Vista ampliada del botn ver un mensaje

99

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2. El jugador debe haber elegido previamente la opcin mensajes. 3. Existe algn mensaje con la opcin de ampliar informacin.

Escenario primario

1. El usuario elige la opcin ampliar informacin de un mensaje. 2. El sistema extrae el mensaje seleccionado y muestra en el navegador la informacin relativa al mensaje.

Extensiones

Descripcin de datos

100

WarBattle

Caso de uso 7: Borrar mensaje El jugador, una vez ha elegido la opcin de los mensajes, selecciona la opcin borrar el mensaje sobre uno de ellos.

Figura 3.3.15: Panel de informacin sobre las misiones

Para borrar un mensaje, el jugador deber pinchar sobre el siguiente icono adjunto a cualquier mensaje.

Figura 3.3.16: Vista ampliada del botn borrar mensaje

101

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2. El jugador debe haber elegido previamente la opcin mensajes.

Escenario primario

1. El usuario elige la opcin borrar mensaje. 2. El sistema extrae el mensaje seleccionado y lo da de baja en s mismo. A continuacin muestra la pgina general de informacin de la aldea en la que se encuentra el jugador.

Extensiones

Descripcin de datos

102

WarBattle

4.3 Acciones sobre la produccin


En esta seccin se realizar el estudio sobre las funciones que debe aportar el sistema respecto a la produccin y los elementos que intervienen en este proceso en las aldeas. Las unidades de trabajo de este dominio se reflejan en el siguiente diagrama de casos de uso:

Ver produccin de una aldea

Ver productor

Jugador Aumentar de nivel un productor

Figura 3.3.17: Diagrama de casos de uso de acciones sobre la produccin

Estos casos de uso ya se realizan sobre el interfaz del juego y el jugador debe haber sido validado y aceptado por el sistema.

103

Caso de uso 8: Ver produccin de una aldea El jugador elige la opcin Produccin en el panel de opciones del margen izquierdo del interfaz.

Figura 3.3.18: Vista general del juego

Opcin Produccin:

Figura 3.3.19: Botn produccin

104

WarBattle

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

El jugador debe haber accedido al juego.

Escenario primario

1. El jugador elige la opcin produccin. 2. El sistema extrae de la sesin la aldea seleccionada y prepara la informacin relativa al sistema de produccin en esa aldea para que la muestre el navegador del jugador.

Extensiones

Descripcin de datos

105

Caso de uso 9: Ver productor El jugador, una vez ha elegido la opcin Produccin del panel de opciones del margen izquierdo, selecciona sobre cualquier casilla del mapa de productores para ver ms informacin al respecto.

Figura 3.3.20: Panel de informacin sobre la produccin

Al seleccionar cualquiera de las casillas de productores, el sistema debe devolver la siguiente vista con informacin sobre el productor seleccionado.

Figura 3.3.21: Vista de un productor seleccionado

106

WarBattle

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2. El jugador debe haber elegido previamente la opcin produccin.

Escenario primario

1. El usuario selecciona cualquier productor del tablero de productores. 2. El sistema extrae el productor seleccionado, realiza una lectura de la informacin de ste y la devuelve al usuario.

Extensiones

2a. El jugador no tiene en la aldea recursos suficientes para aumentar el nivel del productor. 1. El sistema prepara la vista sin habilitar la opcin de aumento de nivel.

Descripcin de datos

Recursos 1. Tipo de recurso. 2. Unidades del recurso.

107

Caso de uso 10: Aumentar de nivel un productor El jugador, una vez ha seleccionado un productor, elige la opcin Aumentar nivel del productor escogido.

Figura 3.3.22: Vista ampliada de un productor

Para aumentar de nivel el productor seleccionado debe estar habilitada la opcin Aumentar nivel y pinchar sobre ella.

Figura 3.3.23: Vista ampliada de la opcin Aumentar nivel

108

WarBattle

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2. El jugador debe haber elegido previamente la opcin produccin. 3. El jugador debe haber elegido ver la informacin de un productor. 4. La opcin de aumento de nivel debe estar habilitada.

Escenario primario

1. El usuario elige la opcin aumentar nivel. 2. El sistema realiza la lectura del productor que se quiere aumentar de nivel y procede a realizar los clculos y escrituras pertinentes sobre el proceso. Una vez realizados, prepara la vista de informacin general de la aldea y la devuelve al navegador del jugador.

Extensiones

Descripcin de datos

109

4.4 Acciones sobre los edificios


En esta seccin se realizar el estudio sobre las funciones que debe aportar el sistema respecto a los edificios de las aldeas y la informacin y opciones que debe mostrar en funcin de la peticin del usuario. Las unidades de trabajo de este dominio se reflejan en el siguiente diagrama de casos de uso:
Ver edificios

Ver informacin de un edificio

Aumentar de nivel un edificio

Acceder a la biblioteca

Jugador Acceder a la academia militar

Acceder al cuartel

Acceder al taller de defensa

Figura 3.3.24: Diagrama de casos de uso de acciones sobre los edificios

Estos casos de uso ya se realizan sobre el interfaz del juego y el jugador debe haber sido validado y aceptado por el sistema.

110

WarBattle

Caso de uso 11: Ver edificios El jugador elige la opcin Edificios del panel de opciones del margen izquierdo del interfaz de juego.

Figura 3.3.25: Interfaz del juego

Opcin edificios:

Figura 3.3.26: Botn edificios

111

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

El jugador debe haber accedido al juego.

Escenario primario

1. El usuario selecciona la opcin ver edificios. 2. El sistema extrae de la sesin la aldea en la que se encuentra el jugador y realiza la lectura de los edificios que tiene la aldea. A continuacin prepara la vista y la devuelve al navegador del jugador.

Extensiones

Descripcin de datos

112

WarBattle

Caso de uso 12: Ver informacin de un edificio El jugador, una vez ha elegido la opcin Edificios del panel de opciones del margen izquierdo, selecciona sobre cualquier edificio para ver ms informacin al respecto.

Figura 3.3.27: Panel de informacin sobre los edificios

Al seleccionar cualquiera de los edificios, el sistema debe devolver la siguiente vista con informacin sobre el edificio seleccionado.

Figura 3.3.28: Vista de la informacin de un edificio ampliada

113

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2. El jugador debe haber elegido previamente la opcin edificios.

Escenario primario

1. El usuario selecciona cualquier edificio del tablero de edificios. 2. El sistema extrae el edificio seleccionado, realiza una lectura de la informacin de ste y la devuelve al usuario.

Extensiones

2a. El jugador no tiene en la aldea recursos suficientes para aumentar el nivel del edificio. 1. El sistema prepara la vista sin habilitar la opcin de aumento de nivel.

Descripcin de datos

Recursos 1. Tipo de recurso. 2. Unidades del recurso.

114

WarBattle

Caso de uso 13: Aumentar de nivel un edificio El jugador, una vez ha seleccionado un edificio, elige la opcin Aumentar nivel del edificio escogido.

Figura 3.3.29: Vista de la informacin de un edificio ampliada

Para aumentar de nivel el edificio seleccionado debe estar habilitada la opcin Aumentar nivel y pinchar sobre ella.

Figura 3.3.30: Vista ampliada de la opcin Aumentar nivel de un edificio

115

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2. El jugador debe haber elegido previamente la opcin edificios. 3. El jugador debe haber elegido ver la informacin de un edificio. 4. La opcin de aumento de nivel debe estar habilitada.

Escenario primario

1. El usuario elige la opcin aumentar nivel. 2. El sistema realiza la lectura del edificio que se quiere aumentar de nivel y procede a realizar los clculos y escrituras pertinentes sobre el proceso. Una vez realizados, prepara la vista de informacin general de la aldea y la devuelve al navegador del jugador.

Extensiones

Descripcin de datos

116

WarBattle

Caso de uso 14: Acceder a la biblioteca El jugador haba elegido la opcin ver biblioteca y selecciona la opcin Acceder en ella.

Figura 3.3.31: Vista de la informacin de una biblioteca ampliada

Para entrar a ver las ciencias disponibles en la biblioteca seleccionada, hay que pulsar sobre la opcin Acceder.

Figura 3.3.32: Vista ampliada de la opcin Acceder de una biblioteca

117

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2. El jugador debe haber elegido previamente la opcin edificios. 3. El jugador debe haber elegido ver la informacin de la biblioteca.

Escenario primario

1. El usuario elige la opcin acceder a la biblioteca. 2. El sistema realiza la lectura de la biblioteca seleccionada y prepara la vista con las ciencias disponibles para esa biblioteca y la devuelve al navegador.

Extensiones

Descripcin de datos

118

WarBattle

Caso de uso 15: Acceder a la academia militar El jugador haba elegido la opcin ver academia militar y selecciona la opcin Acceder en ella.

Figura 3.3.33: Vista de la informacin de una academia militar ampliada

Para entrar a ver las habilidades militares disponibles en la academia militar seleccionada, hay que pulsar sobre la opcin Acceder.

Figura 3.3.34: Vista ampliada de la opcin Acceder de una academia militar

119

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2. El jugador debe haber elegido previamente la opcin edificios. 3. El jugador debe haber elegido ver la informacin de la academia militar.

Escenario primario

1. El usuario elige la opcin acceder a la academia militar. 2. El sistema realiza la lectura de la academia militar seleccionada y prepara la vista con las habilidades militares disponibles para esa academia militar y la devuelve al navegador.

Extensiones

Descripcin de datos

120

WarBattle

Caso de uso 16: Acceder al cuartel El jugador haba elegido la opcin ver cuartel y selecciona la opcin Acceder en ella.

Figura 3.3.35: Vista de la informacin de un cuartel ampliada

Para entrar a ver las unidades militares disponibles en el cuartel seleccionado, hay que pulsar sobre la opcin Acceder.

Figura 3.36: Vista ampliada de la opcin Acceder de un cuartel

121

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2. El jugador debe haber elegido previamente la opcin edificios. 3. El jugador debe haber elegido ver la informacin del cuartel.

Escenario primario

1. El usuario elige la opcin acceder al cuartel. 2. El sistema realiza la lectura del cuartel seleccionado y prepara la vista con las unidades militares disponibles para ese cuartel y la devuelve al navegador.

Extensiones

Descripcin de datos

122

WarBattle

Caso de uso 17: Acceder al taller de defensa El jugador haba elegido la opcin ver taller de defensa y selecciona la opcin Acceder en l.

Figura 3.3.37: Vista de la informacin de un taller de defensa ampliada

Para entrar a ver las unidades defensivas disponibles en el taller defensivo seleccionado, hay que pulsar sobre la opcin Acceder.

Figura 3.3.38: Vista ampliada de la opcin Acceder de un taller de defensa

123

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2. El jugador debe haber elegido previamente la opcin edificios. 3. El jugador debe haber elegido ver la informacin del taller de defensa.

Escenario primario

1. El usuario elige la opcin acceder al taller de defensa. 2. El sistema realiza la lectura del taller de defensa seleccionado y prepara la vista con las unidades defensivas disponibles para ese taller de defensa y la devuelve al navegador.

Extensiones

Descripcin de datos

124

WarBattle

4.5 Acciones sobre unidades militares


En esta seccin se realizar el estudio sobre las funciones que debe aportar el sistema respecto a las unidades militares. Las unidades de trabajo de este dominio se reflejan en el siguiente diagrama de casos de uso:

Ver informacin de una unidad militar

Construir unidades militares

Jugador

Ver unidades militares disponibles

Figura 3.3.39: Diagrama de casos de uso de acciones sobre unidades militares

Estos casos de uso ya se realizan sobre el interfaz del juego y el jugador debe haber sido validado y aceptado por el sistema.

125

Caso de uso 18: Ver informacin de una unidad militar El jugador eligi la opcin ver cuartel dentro de los edificios. El sistema le muestra las unidades militares que puede construir en esa aldea. Una vez presentada la informacin, el jugador pulsa sobre cualquier unidad para ver toda la informacin relativa a ella.

Figura 3.3.40: Unidades disponibles en un cuartel

Al pulsar sobre cualquier imagen de una unidad se mostrar la informacin relativa a sta.

Figura 3.3.41: Informacin sobre la unidad elegida

126

WarBattle

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2. El jugador ha tenido que elegir la opcin edificios. 3. El jugador ha elegido la opcin ver cuartel. 4. El jugador tiene unidades militares disponibles para mostrar en esa aldea.

Escenario primario

1. El usuario pulsa sobre la imagen de un tipo de unidad. 2. El sistema realiza la lectura de la unidad seleccionada y prepara la vista con la informacin de sta para devolverla al navegador.

Extensiones

Descripcin de datos

127

Caso de uso 19: Construir unidades militares El jugador debe venir del caso de uso 17 Ver cuartel. A continuacin introduce el nmero de unidades que quiere construir de cada tipo de unidad militar que tenga disponible en la aldea y selecciona la opcin construir (tambin puede utilizar la tecla Enter).

Figura 3.3.42: Vista del cuartel

Una vez introducidas el nmero de unidades que desea, selecciona construir.

Figura 3.3.43: Opcin Continuar

128

WarBattle

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2. El jugador ha tenido que elegir la opcin edificios. 3. El jugador ha elegido la opcin ver cuartel. 4. El jugador tiene unidades militares disponibles para mostrar en esa aldea.

Escenario primario

1. El usuario introduce el nmero de unidades que quiere construir de cada tipo de unidad militar. 2. El sistema construye todas las unidades permitidas dependiendo del nmero de recursos y prepara la vista general de la aldea para devolverla al navegador.

Extensiones

Descripcin de datos

129

Caso de uso 20: Ver unidades militares disponibles El jugador elige la opcin Tropas del panel de opciones del margen izquierdo del interfaz de juego.

Figura 3.3.44: Interfaz del juego

Opcin tropas:

Figura 3.3.45: Botn tropas

130

WarBattle

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

El jugador debe haber accedido al juego.

Escenario primario

1. El usuario selecciona la opcin ver tropas. 2. El sistema extrae de la sesin la aldea en la que se encuentra el jugador y realiza la lectura de las unidades militares estacionadas en la aldea. A continuacin prepara la vista y la devuelve al navegador del jugador.

Extensiones

Descripcin de datos

131

4.6 Acciones sobre unidades defensivas


En esta seccin se realizar el estudio sobre las funciones que debe aportar el sistema respecto a las unidades defensivas. Las unidades de trabajo de este dominio se reflejan en el siguiente diagrama de casos de uso:

Ver informacin de una unidad defensiva

Construir unidades defensivas

Jugador

Ver unidades defensivas disponibles

Figura 3.3.46: Diagrama de casos de uso de acciones sobre unidades defensivas

Estos casos de uso ya se realizan sobre el interfaz del juego y el jugador debe haber sido validado y aceptado por el sistema.

132

WarBattle

Caso de uso 21: Ver informacin de una unidad defensiva El jugador eligi la opcin ver taller de defensa dentro de los edificios. El sistema le muestra las unidades defensivas que puede construir en esa aldea. Una vez presentada la informacin, el jugador pulsa sobre cualquier unidad para ver toda la informacin relativa a ella.

Figura 3.3.47: Vista del taller de defensa

Al pulsar sobre cualquier imagen de una unidad defensiva se mostrar la informacin relativa a sta.

Figura 3.3.48: Informacin sobre la unidad defensiva seleccionada

133

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2. El jugador ha tenido que elegir la opcin edificios. 3. El jugador ha elegido la opcin ver taller de defensa. 4. El jugador tiene unidades defensivas disponibles para mostrar en esa aldea.

Escenario primario

1. El usuario pulsa sobre la imagen de un tipo de unidad defensiva. 2. El sistema realiza la lectura de la unidad seleccionada y prepara la vista con la informacin de sta para devolverla al navegador.

Extensiones

Descripcin de datos

134

WarBattle

Caso de uso 22: Construir unidades defensivas El jugador debe venir del caso de uso 18 Ver taller de defensa. A continuacin introduce el nmero de unidades que quiere construir de cada tipo de unidad defensiva que tenga disponible en la aldea y selecciona la opcin construir (tambin puede utilizar la tecla Enter).

Figura 3.3.49: Vista del taller de defensa

Una vez introducidas el nmero de unidades que desea, selecciona construir.

Figura 3.3.50: Vista ampliada de la opcin Continuar

135

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2. El jugador ha tenido que elegir la opcin edificios. 3. El jugador ha elegido la opcin ver taller de defensa. 4. El jugador tiene unidades defensivas disponibles para mostrar en esa aldea.

Escenario primario

1. El usuario introduce el nmero de unidades que quiere construir de cada tipo de unidad defensiva. 2. El sistema construye todas las unidades permitidas dependiendo del nmero de recursos y prepara la vista general de la aldea para devolverla al navegador.

Extensiones

Descripcin de datos

136

WarBattle

Caso de uso 23: Ver unidades defensivas disponibles El jugador elige la opcin Defensa del panel de opciones del margen izquierdo del interfaz de juego.

Figura 3.3.51: Interfaz del juego

Opcin defensa:

Figura 3.3.52: Opcin defensa

137

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

El jugador debe haber accedido al juego.

Escenario primario

1. El usuario selecciona la opcin ver defensas. 2. El sistema extrae de la sesin la aldea en la que se encuentra el jugador y realiza la lectura de las unidades defensivas de la aldea. A continuacin prepara la vista y la devuelve al navegador del jugador.

Extensiones

Descripcin de datos

138

WarBattle

4.7 Acciones sobre las ciencias


En esta seccin se realizar el estudio sobre las funciones que debe aportar el sistema respecto a las ciencias. Las unidades de trabajo de este dominio se reflejan en el siguiente diagrama de casos de uso:

Ver ciencias del jugador

Ver informacin sobre una ciencia

Jugador Aumentar de nivel una ciencia

Figura 3.3.53: Diagrama de casos de uso de acciones sobre las ciencias

Estos casos de uso ya se realizan sobre el interfaz del juego y el jugador debe haber sido validado y aceptado por el sistema.

139

Caso de uso 24: Ver ciencias del jugador El jugador elige la opcin Ciencia del panel de opciones del margen superior del interfaz de juego.

Figura 3.3.52: Interfaz del juego

Opcin ciencia:

Figura 3.3.53: Opcin ciencia

140

WarBattle

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

El jugador debe haber accedido al juego.

Escenario primario

1. El usuario selecciona la opcin ver ciencias. 2. El sistema realiza la lectura de las ciencias que posee el jugador. A continuacin prepara la vista y la devuelve al navegador del jugador.

Extensiones

Descripcin de datos

141

Caso de uso 25: Ver informacin sobre una ciencia Este caso de uso puede provenir de dos diferentes casos de uso, tanto del caso de uso 24 Ver ciencias como del caso de uso 14 Acceder a la biblioteca. La diferencia que existir entre uno y otro ser el nmero de ciencias a mostrar y la opcin de que puede aumentarse de nivel que estar bloqueada si proviene del caso de uso 24 Ver ciencias. En cualquier caso en ambas situaciones al pulsar sobre cualquier ciencia aparecer la informacin relativa a sta. En ambos casos tambin el formato del interfaz antes de seleccionar la ciencia de la que se quiere adquirir informacin ser el siguiente:

Figura 3.3.54: Vista comn de la opcin ciencias y de la biblioteca

142

WarBattle

Al pulsar sobre cualquier imagen de una ciencia estando en la biblioteca se mostrar la siguiente informacin

Figura 3.3.55: Interfaz de la biblioteca

Al pulsar sobre cualquier imagen de una ciencia al seleccionar la opcin ciencia se mostrar la siguiente informacin:

Figura 3.3.56: Interfaz de ciencias

Como se puede observar, las diferencias entre un formato y otro residen, bsicamente en la incorporacin de informacin sobre el coste de investigacin y el proceso de aumento de sta.
143

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2a. El jugador ha tenido que elegir la opcin ciencia. 2b. El jugador ha tenido que elegir la opcin acceder a la biblioteca. 3. El jugador tiene ciencias que mostrar.

Escenario primario

1. El usuario pulsa sobre la imagen de un tipo de ciencia. 2. El sistema realiza la lectura de la ciencia seleccionada y prepara la vista con la informacin de sta para devolverla al navegador.

Extensiones

Descripcin de datos

144

WarBattle

Caso de uso 26: Aumentar de nivel una ciencia El jugador, una vez ha seleccionado una ciencia y viniendo del caso de uso 14 Acceder a la biblioteca, elige la opcin Aumentar nivel de la ciencia escogida.

Figura 3.3.57: Informacin sobre una ciencia seleccionada

Para aumentar de nivel la ciencia seleccionada debe estar habilitada la opcin Aumentar nivel y pinchar sobre ella.

Figura 3.3.58: Vista ampliada de la opcin Aumentar nivel de una ciencia

145

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2. El jugador debe haber elegido previamente la opcin ver la biblioteca. 3. El jugador debe haber elegido ver la informacin de una ciencia. 4. La opcin de aumento de nivel debe estar habilitada.

Escenario primario

1. El usuario elige la opcin aumentar nivel. 2. El sistema realiza la lectura de la ciencia que se quiere aumentar de nivel y procede a realizar los clculos y escrituras pertinentes sobre el proceso. Una vez realizados, prepara la vista de informacin general de la aldea y la devuelve al navegador del jugador.

Extensiones

Descripcin de datos

146

WarBattle

4.8 Acciones sobre las habilidades militares


En esta seccin se realizar el estudio sobre las funciones que debe aportar el sistema respecto a las habilidades militares. Las unidades de trabajo de este dominio se reflejan en el siguiente diagrama de casos de uso:

Ver habilidades militares del jugador

Ver informacin sobre una habilidad militar

Jugador Aumentar de nivel una habilidad militar

Figura 3.3.61: Diagrama de casos de uso de acciones sobre las habilidades militares

Estos casos de uso ya se realizan sobre el interfaz del juego y el jugador debe haber sido validado y aceptado por el sistema.

147

Caso de uso 27: Ver habilidades militares del jugador El jugador elige la opcin Habilidad del panel de opciones del margen superior del interfaz de juego.

Figura 3.3.62: Interfaz del juego

Opcin habilidad:

Figura 3.3.63: Opcin habilidad

148

WarBattle

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

El jugador debe haber accedido al juego.

Escenario primario

1. El usuario selecciona la opcin ver habilidades militares. 2. El sistema realiza la lectura de las habilidades militares que posee el jugador. A continuacin prepara la vista y la devuelve al navegador del jugador.

Extensiones

Descripcin de datos

149

Caso de uso 28: Ver informacin sobre una habilidad militar Este caso de uso puede provenir de dos diferentes casos de uso, tanto del caso de uso 27 Ver habilidades militares como del caso de uso 15 Acceder a la academia militar. La diferencia que existir entre uno y otro ser el nmero de habilidades militares a mostrar y la opcin de que puede aumentarse de nivel que estar bloqueada si proviene del caso de uso 25 Ver habilidades militares. En cualquier caso en ambas situaciones al pulsar sobre cualquier habilidad militar aparecer la informacin relativa a sta. En ambos casos tambin el formato del interfaz antes de seleccionar la habilidad militar de la que se quiere adquirir informacin ser el siguiente:

Figura 3.3.64: Vista comn de la opcin habilidades y academia militar

150

WarBattle

Al pulsar sobre cualquier imagen de una habilidad militar estando en la academia militar se mostrar la siguiente informacin:

Figura 3.3.65: Interfaz de la academia militar

Al pulsar sobre cualquier imagen de una habilidad militar al seleccionar la opcin habilidad se mostrar la siguiente informacin:

Figura 3.3.66: Interfaz de las habilidades

Como se puede observar, las diferencias entre un formato y otro residen, bsicamente, en la incorporacin de informacin sobre el coste de desarrollo y el proceso de aumento de ste.
151

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2a. El jugador ha tenido que elegir la opcin habilidad. 2b. El jugador ha tenido que elegir la opcin acceder a la academia militar. 3. El jugador tiene habilidades militares que mostrar.

Escenario primario

1. El usuario pulsa sobre la imagen de un tipo de habilidad militar. 2. El sistema realiza la lectura de la habilidad militar seleccionada y prepara la vista con la informacin de sta para devolverla al navegador.

Extensiones

Descripcin de datos

152

WarBattle

Caso de uso 29: Aumentar de nivel una habilidad militar El jugador, una vez ha seleccionado una habilidad militar y viniendo del caso de uso 15 Acceder a la academia militar, elige la opcin Aumentar nivel de la habilidad militar escogida.

Figura 3.3.67: Informacin sobre una habilidad militar seleccionada

Para aumentar de nivel la habilidad militar seleccionada debe estar habilitada la opcin Aumentar nivel y pinchar sobre ella.

Figura 3.3.68: Vista ampliada de la opcin Aumentar nivel de una habilidad militar

153

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2. El jugador debe haber elegido previamente la opcin ver la academia militar. 3. El jugador debe haber elegido ver la informacin de una habilidad militar. 4. La opcin de aumento de nivel debe estar habilitada.

Escenario primario

1. El usuario elige la opcin aumentar nivel. 2. El sistema realiza la lectura de la habilidad militar que se quiere aumentar de nivel y procede a realizar los clculos y escrituras pertinentes sobre el proceso. Una vez realizados, prepara la vista de informacin general de la aldea y la devuelve al navegador del jugador.

Extensiones

Descripcin de datos

154

WarBattle

4.9 Acciones sobre el mapa


En esta seccin se realizar el estudio sobre las funciones que debe aportar el sistema respecto al tratamiento del mapa y del sistema de coordenadas. Las unidades de trabajo de este dominio se reflejan en el siguiente diagrama de casos de uso:

Ver mapa

Ver casilla

Cambiar tierra

Jugador Cambiar sector

Cambiar coordenadas

Figura 3.3.69: Diagrama de casos de uso de acciones sobre el mapa

Estos casos de uso ya se realizan sobre el interfaz del juego y el jugador debe haber sido validado y aceptado por el sistema.

155

Caso de uso 30: Ver mapa El jugador elige la opcin Mapa del panel de opciones del margen superior del interfaz de juego.

Figura 3.3.70: Interfaz del juego

Opcin mapa:

Figura 3.3.71: Botn mapa

156

WarBattle

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

El jugador debe haber accedido al juego.

Escenario primario

1. El usuario selecciona la opcin ver mapa. 2. El sistema realiza la lectura del sector en el que est ubicada la aldea seleccionada del jugador que realiza la peticin. A continuacin prepara la vista y la devuelve al navegador del jugador.

Extensiones

Descripcin de datos

157

Caso de uso 31: Ver casilla El jugador selecciona una casilla del mapa del tablero de la izquierda mientras est viendo algn sector especfico del mapa.

Figura 3.3.72: Interfaz del mapa

Para ver informacin sobre la casilla el usuario tiene que pulsar sobre cualquiera de ellas para acceder a ella.

Figura 3.3.73: Informacin de una casilla seleccionada

158

WarBattle

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2. El jugador debe estar sobre la vista del mapa.

Escenario primario

1. El usuario selecciona una casilla. 2. El sistema extrae la casilla escogida y realiza la lectura de la informacin contenida en ella. A continuacin prepara la vista y la devuelve al navegador del jugador.

Extensiones

Descripcin de datos

159

Caso de uso 32: Cambiar tierra El jugador selecciona cualquiera de las dos flechas del panel de tierra. El sistema en respuesta a esa peticin debe ir a la siguiente tierra si se ha seleccionado la flecha de la derecha o a la anterior si se ha seleccionado la flecha de la izquierda.

Figura 3.3.74: Interfaz del mapa

Para cambiar de tierra hay que pulsar sobre cualquiera de las dos flechas que acompaan a los lados del cuadro de texto con el nmero de tierra actual.

Figura 3.3.75: Botn de cambio de tierra

160

WarBattle

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2. El jugador debe estar sobre la vista del mapa.

Escenario primario

1. El usuario selecciona una de las dos direcciones de recorrido de las tierras (en sentido izquierdo o derecho). 2. El sistema extrae el sector actual y recoge la peticin de recorrido. Una vez extrada la informacin realiza la lectura del sector que ha pedido el jugador. A continuacin prepara la vista y la devuelve al navegador del jugador.

Extensiones

Descripcin de datos

161

Caso de uso 33: Cambiar sector El jugador selecciona cualquiera de las dos flechas del panel de sector. El sistema en respuesta a esa peticin debe ir al siguiente sector si se ha seleccionado la flecha de la derecha o al anterior si se ha seleccionado la flecha de la izquierda.

Figura 3.3.76: Interfaz del mapa

Para cambiar de sector hay que pulsar sobre cualquiera de las dos flechas que acompaan a los lados del cuadro de texto con el nmero de sector actual.

Figura 3.3.77: Botn de cambio de sector

162

WarBattle

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2. El jugador debe estar sobre la vista del mapa.

Escenario primario

1. El usuario selecciona una de las dos direcciones de recorrido de los sectores (en sentido izquierdo o derecho). 2. El sistema extrae el sector actual y recoge la peticin de recorrido. Una vez extrada la informacin realiza la lectura del sector que ha pedido el jugador. A continuacin prepara la vista y la devuelve al navegador del jugador.

Extensiones

Descripcin de datos

163

Caso de uso 34: Cambiar coordenadas El jugador accede a los cuadros de texto donde aparecen las coordenadas (tierra y regin) y modifica los datos por los de las coordenadas a las que quiere acceder. El sistema los recoge y muestra la informacin del sector seleccionado.

Figura 3.3.78: Interfaz del mapa

Para cambiar de coordenadas se cambian los nmeros de tierra y regin y se pulsa el botn ver (tambin es vlido utilizar la tecla Enter).

Figura 3.3.79: Casillas de cambio de coordenadas

164

WarBattle

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2. El jugador debe estar sobre la vista del mapa.

Escenario primario

1. El usuario modifica o no los valores de las casillas tierra y regin y pulse Ver. 2. El sistema extrae las coordenadas de la tierra y el sector que ha introducido el jugador. Una vez extrada la informacin realiza la lectura del sector que ha pedido el jugador. A continuacin prepara la vista y la devuelve al navegador del jugador.

Extensiones

Descripcin de datos

165

4.10 Acciones sobre misiones


En esta seccin se realizar el estudio sobre las funciones que debe aportar el sistema respecto al tratamiento del mapa y del sistema de coordenadas. Las unidades de trabajo de este dominio se reflejan en el siguiente diagrama de casos de uso:

Ver misiones activas

Ver tiempo de duracin de un viaje

Jugador

Crear misin

Figura 3.3.80: Diagrama de casos de uso de acciones sobre las misiones

Estos casos de uso ya se realizan sobre el interfaz del juego y el jugador debe haber sido validado y aceptado por el sistema.

166

WarBattle

Caso de uso 35: Ver misiones activas El jugador elige sobre el panel de opciones de la parte superior la opcin Misiones.

Figura 3.3.81: Interfaz del juego

Se genera la siguiente vista donde aparecen las misiones que tiene un usuario en el momento del envo del evento.

Figura 3.3.82: Panel de informacin sobre las misiones

167

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

El jugador debe haber accedido al juego.

Escenario primario

1. El usuario elige la opcin misiones. 2. El sistema extrae misiones en curso del jugador que realiza la peticin, prepara la vista y la enva al navegador.

Extensiones

Descripcin de datos

168

WarBattle

Caso de uso 36: Ver tiempo de duracin de un viaje El jugador desea conocer el tiempo de viaje de un conjunto de tropas desde la aldea en la que se encuentran hasta una casilla distinta. Para poder llevar a cabo esta unidad de trabajo, el jugador debe haber seleccionado la opcin Tropas y elegido unas coordenadas distintas o desde el mapa al pulsar sobre cualquier casilla haber escogido alguna de las opciones de misiones disponibles. En ambos casos deber seleccionar, adems, al menos una unidad.

Figura 3.3.83: Interfaz de las unidades disponibles para misiones

Para calcular el tiempo el jugador debe seleccionar unas coordenadas y al menos una unidad. A continuacin deber pulsar sobre el botn calcular tiempo para obtener dicha informacin.

Figura 3.3.84: Elementos participantes en el clculo del tiempo de viaje

169

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2a. El jugador selecciona la opcin Tropa. 2b. El jugador escogi una misin al pulsar sobre una casilla del mapa. 3. El jugador debe, al menos, seleccionar algn tipo de unidad y elegir unas coordenadas de destino.

Escenario primario

1. El usuario elige la opcin Calcular tiempo. 2. El sistema extrae las unidades elegidas, las coordenadas de destino y junto a las coordenadas de la aldea del jugador que se encuentra seleccionada y la bonificacin de velocidad del jugador que realiza la peticin, calcula el tiempo de viaje, prepara la vista y la enva al navegador.

Extensiones

Descripcin de datos

170

WarBattle

Caso de uso 37: Crear misin El jugador desea crear una misin con un conjunto de tropas desde la aldea en la que se encuentran hasta una casilla distinta. Para poder llevar a cabo esta unidad de trabajo, el jugador debe haber seleccionado la opcin Tropas y elegido unas coordenadas distintas o desde el mapa al pulsar sobre cualquier casilla haber escogido alguna de las opciones de misiones disponibles. En ambos casos deber seleccionar, adems, al menos una unidad.

Figura 3.3.85: Interfaz de las unidades disponibles para misiones

Para crear una misin el jugador debe seleccionar unas coordenadas y al menos una unidad. A continuacin deber pulsar sobre el botn aceptar empezar la misin deseada.

Figura 3.3.86: Vista ampliada de la opcin Aceptar misin

171

Actor primario

Jugador

Actores secundarios

Trigger

Precondiciones

1. El jugador debe haber accedido al juego. 2a. El jugador selecciona la opcin Tropa. 2b. El jugador escogi una misin al pulsar sobre una casilla del mapa. 3. El jugador debe, al menos, seleccionar algn tipo de unidad y elegir unas coordenadas de destino.

Escenario primario

1. El usuario elige la opcin Aceptar. 2. El sistema extrae las unidades elegidas, las coordenadas de destino y junto a las coordenadas de la aldea del jugador que se encuentra seleccionada y la bonificacin de velocidad del jugador que realiza la peticin, da de alta la nueva misin. Acto seguido prepara la vista de informacin general de la aldea y la enva al navegador.

Extensiones

Descripcin de datos

172

WarBattle

5.

Problemas y errores

El anlisis de requisitos ha sido un proceso largo y difcil. Han sido necesarias varias iteraciones hasta encontrar una solucin estable y que reflejase correctamente todos los elementos del universo Warbattle. Las mayores dificultades se encontraron al comienzo del proceso de estudio. Las causas fueron diversas: Inexperiencia en anlisis de sistemas software. Se realizaron mltiples pruebas de entrenamiento antes de empezar tan siquiera a realizar algn avance. Equivocacin en el planteamiento. Durante los primeros meses se intent exponer el estudio sin separarlo en grupos, es decir, todo el proceso se haca sobre todo el sistema. Como se ha visto a lo largo del anlisis de requisitos, esto era prcticamente una locura, pues el sistema tiene un volumen considerable para abordarlo de un golpe. Tamao del entorno. Como se ha visto en el anterior epgrafe, el universo Warbattle tiene un tamao considerable, lo que le aporta de forma innata una dificultad extra. Creacin del entorno desde cero. Este estudio se realiz sin ninguna especificacin del sistema ni documentos que especificasen algn requisito. Por ello, adems del proceso habitual tpico del anlisis de requisitos en la ingeniera del software, fue necesario un proceso de creacin de un universo con sus propias reglas. Dificultad de representacin de varios conceptos. Como ya se vio en varios puntos del anlisis, el entorno Warbattle posee elementos que implican una dificultad alta en su representacin. Ejemplos claros de stos son las restricciones entre elementos. Abstraccin. Este proceso siempre implica dificultades, pues no es lo mismo realizar un estudio sobre algo ya creado que tener que imaginar muchsimos conceptos relacionados entre s. Factor tiempo. Es un elemento crtico del sistema sobre el que se basa todo el funcionamiento del universo Warbattle. Crear sistemas crticos en el tiempo siempre es una tarea difcil para los analistas de sistemas. Debido a todas las causas vistas, el nmero de errores cometidos hasta alcanzar una solucin estable fue bastante elevado. Quizs los ms destacables fueron los siguientes: Al principio se tenda a particularizar en exceso. Posiblemente, el hecho de cambiar la estrategia al extremo contrario, el de intentar generalizar lo mximo posible hizo posible que, llegado a un punto, el anlisis pudiera avanzar de forma ms fluida.

173

Durante los primeros meses tambin se cay en el error de no contar con ninguna herramienta con la que se pudiesen observar y encontrar los elementos que iban a constituir la estructura de Warbattle. Este suceso fue aliviado en cuanto se empezaron a utilizar borradores del interfaz de usuario desde el que poder ver qu elementos eran necesarios y cules no.

174

WarBattle

6.

Conclusiones

Una vez finalizado el anlisis de requisitos se pueden extraer una serie de conclusiones de este importante proceso dentro de la ingeniera del software. Por un lado, se hace un balance muy positivo del trabajo realizado. El estudio que se ha llevado a cabo marcar de una forma ms clara y estructurada las pautas a seguir en el siguiente paso: el diseo del sistema. Como siempre ocurre al cometer errores, lo importante de ellos es aprender y ganar en experiencia en ocasiones similares que se puedan presentar en el futuro. En mi caso, debo reconocer que a lo largo del proceso, debido a mi inexperiencia, he cometido muchsimos errores de todo tipo como hemos visto en el anterior punto. Gracias a ello, creo que, aunque an me quede mucho trabajo por recorrer, este anlisis, junto a lo aprendido durante mis cinco aos de carrera, ha afianzado mis capacidades para el anlisis de sistemas software. El siguiente paso en la construccin del juego ser realizar el diseo del sistema.

175

176

WarBattle

CAPTULO 4
Diseo

177

1.

Introduccin

En este tema se va a abordar el proceso de diseo del sistema incluido en el proceso de ingeniera del software. Antes de empezar conviene recordar en qu consiste este proceso. El diseo de un sistema realiza una descomposicin y organizacin del mismo en elementos que puedan elaborarse por separado, aprovechando el principio fundamental de la informtica divide y vencers. Como resultado se consigue una estructura relacional global del sistema y la especificacin de lo que debe hacer cada una de sus partes, as como la manera en que se combinan unas con otras. Los pasos habituales en este proceso desde la aparicin de la metodologa UML 2.0 suelen ser: Diseo de la arquitectura lgica. Diseo de la base de datos. Realizacin de diagramas de clases. Diseo funcional del sistema: o Diagramas de secuencia. o Diagramas de actividad. o Diagramas de flujo de trabajo.

Debido al tamao del sistema y que esta documentacin tiene un carcter acadmico, se realizar slo la documentacin de parte de estos procesos, ya que de realizarla sobre todos ellos, el documento alcanzara un nmero de pginas muy superior a lo recomendable. Los procesos que se van a documentar y que, por tanto, van a suponer el caso de estudio en este tema son los siguientes: Diseo de la arquitectura lgica. Se definir la estructura del sistema a un nivel alto.

Diseo de la base de datos. Se explicar el modelo seguido para construir la base de datos del sistema. Diagramas de clase. Slo de aquellas clases cuyo contenido no sea obvio y que tengan una importancia fundamental en el sistema. Explicacin de los algoritmos ms importantes. Sustituir en parte al proceso de diseo funcional del sistema, simplificndolo bastante y limitndose a realizar unas definiciones y descripciones breves del funcionamiento de stos. Exposicin de los problemas encontrados y los errores cometidos.
178

WarBattle

Conclusiones tcnicas y personales del proceso de diseo.

Los diagramas de secuencia no se realizarn por su elevado volumen. De todas maneras, una vez realizado el diseo de la arquitectura y de las clases y mdulos del sistema se podrn intuir stos de los diagramas de caso de uso que se realizaron en el anlisis de requisitos.

179

2.

Arquitectura lgica

Este captulo recoge el proceso de diseo de la estructura global del sistema. Este proceso es fundamental en el diseo, pues, debido al tamao del sistema, es necesario utilizar una estrategia de divisin del problema en subproblemas para facilitar el trabajo. Otro de los motivos e igual de importante es la idea de especializacin de mdulos. Para que el sistema sea modulable es necesario definir una serie de funciones de alto nivel de las que deber componerse el sistema. Para ello, la arquitectura del sistema se basar en el patrn MVC (modelo-vistacontrolador). Este patrn es un estndar en las arquitecturas web debido a sus caractersticas. Divide el sistema en tres grandes mdulos, cada uno encargado de una tarea especfica. Las funciones de las que se encargan cada uno son: Modelo: define los elementos a los que el usuario tendr acceso. Controlador: gestiona las peticiones del usuario, realiza los clculos deseados y prepara los datos de respuesta. Vista: recibe los datos de respuesta y prepara la salida que espera el usuario a su peticin. Las relaciones entre estos mdulos son:

Figura 4.1.1: Arquitectura MVC

180

WarBattle

En base a este patrn de arquitectura, se ha elaborado una solucin parecida para abordar el diseo del sistema. La arquitectura lgica estar compuesta por cinco grandes mdulos, que son: Dominio. Controlador. Vista. Motor. DAO.

La relacin entre ellos se puede apreciar en el siguiente diagrama:

Figura 4.1.2: Arquitectura del sistema Warbattle

A continuacin se explicar en profundidad cada uno de los mdulos del sistema.

181

2.1

Dominio

Este mdulo se encarga de la representacin lgica de todos los elementos que conforman el universo fsico de Warbattle. En l se recogern tanto las clases que recogen la informacin de las tablas de la base de datos, como aqullas cuyo contenido no se refleje de manera estable en el sistema pero que representa conceptos del universo Warbattle. Este mdulo estar compuesto por dos grandes paquetes de informacin y trabajo en funcin del contenido que representan. El contenido de los elementos puede ser esttico o dinmico. Por tanto, los dos paquetes que conformarn este mdulo son: Grupo esttico: contendr la representacin de los contenidos de carcter esttico del sistema. Esos contenidos son los que guardan informacin sobre las caractersticas de los elementos del juego, tales como informacin sobre tipos de edificios, de unidades militares, etc. Grupo dinmico: sus contenidos correspondern con informacin del jugador y de los elementos que posee. La informacin en este paquete estar continuamente sujeta a cambios y modificaciones. La siguiente figura representa la estructura del mdulo Dominio.

Figura 4.1.3: Estructura del mdulo dominio

182

WarBattle

2.2

Controlador

Este mdulo es el encargado de realizar el control del sistema en funcin de las peticiones de los jugadores. Las clases de este mdulo tienen la funcin de recibir las peticiones de los jugadores. Una vez recibidas deben escoger quin ser el encargado de realizar los clculos que requieran la operacin pedida y extraer la informacin necesaria. Una vez recibida la respuesta del encargado de los clculos debe ser capaz de escoger cual ser el paquete que prepare la salida como respuesta a la peticin del jugador. Debido a la naturaleza del mdulo, en l se encontrarn los Servlets del sistema, que tienen precisamente las caractersticas necesarias para realizar este tipo de labor. A su vez, este mdulo estar compuesto por dos paquetes de trabajo, cada uno con una funcin similar pero diferente al mismo tiempo. Esta divisin se realiza debido a que el juego puede manejar dos tipos de peticiones, sncronas y asncronas. As pues, los paquetes de trabajo en que est dividido el mdulo Controlador son: Control sncrono: contendr los Servlets encargados de las peticiones sncronas de los jugadores. Este paquete una vez realizados los clculos necesarios para generar la vista ceder el control al mdulo Vista que es el contiene los conocimientos necesarios para generar contenido HTML sncrono. Control asncrono: contendr por su parte los Servlets encargados de las peticiones asncronas de los jugadores. Para ello, el sistema utilizar la tecnologa AJAX, por lo que adems de las funciones descritas para el mdulo al completo, tambin se encargar de generar el contenido HTML de respuesta. El contenido del mdulo Controlador junto a las relaciones con el mdulo Vista son las siguientes:

183

Figura 4.1.4: Estructura del mdulo controlador

184

WarBattle

2.3

Vista

Este mdulo se encarga de realizar el interfaz de juego con el que se encontrar el jugador en respuesta a su peticin. En l estarn todas las clases relacionadas con la preparacin de las diferentes pginas Web que forman todo el interfaz de jugabilidad. Debido a la comodidad y escalabilidad que proporciona la divisin en paquetes de trabajo especficos, este mdulo estar formado por diversos paquetes de trabajo, cada uno de ellos encargado de una tecnologa Web diferente, tal y como recomiendan los estndares. Los paquetes de trabajo son: Javascript: incluye los ficheros con las funciones javascript usadas en el interfaz de usuario. CSS: incluye los documentos CSS 2.1 con la informacin sobre el aspecto del interfaz de usuario. Image: alberga las imgenes que sern mostradas en el interfaz de usuario. Web: formado por los documentos .jsp y .html que incluirn la estructura y la informacin del interfaz de usuario. La siguiente figura refleja los contenidos expuestos en esta seccin:

Figura 4.1.5: Estructura del mdulo vista

185

2.4

Motor
Como su propio nombre indica, su contenido forma el motor del juego.

Este mdulo es el encargado de realizar que las reglas del universo Warbattle funcionen.

Entre sus funciones se pueden destacar las siguientes: Proporciona un interfaz de funciones que sern usadas por el mdulo controlador para generar las respuestas sobre las peticiones de los jugadores. Realiza el control sobre todos los elementos crticos del sistema, as como de la gestin de la concurrencia, de la gestin del tiempo, etc. Define una serie de herramientas de uso global. As pues, entre otros elementos, este mdulo contendr los Beans de sesin, tal y como define la tecnologa JEE 5 utilizada en el servidor de aplicaciones. El mdulo Motor est compuesto por cuatro paquetes de trabajo, cada uno con una misin especfica y completamente diferente al resto. Estos paquetes de trabajo son: Fachada: este paquete rene los Session Beans del servidor de aplicaciones. Aporta una serie de clases que proporcionan un conjunto de funciones de acceso al sistema desde el mdulo Controlador. Este paquete de trabajo, adems, acta de intermediario entre los mdulos Controlador y DAO (en la siguiente seccin se explicar el contenido de este mdulo). Actualizador: se encarga de la correcta gestin de la concurrencia de eventos y del tiempo. Realiza las funciones de actualizacin necesarias por la llegada de eventos externos al sistema. De esta forma no se producirn problemas de incoherencia en los datos. Herramientas: este paquete aporta un interfaz de funciones que aportan herramientas de trabajo utilizadas por todos los mdulos a excepcin del mdulo Vista. Algunas de las funciones que aporta este interfaz son: Parser y formateo de cadenas de caracteres. Tratamiento de fechas. Manejo de ficheros y contenidos XML.

Misiones: su funcin es realizar los clculos necesarios para que los jugadores puedan llevar a cabo este tipo de funciones.
186

WarBattle

La estructura del mdulo Motor se resume en la siguiente imagen:

Figura 4.1.6: Estructura del mdulo motor

187

2.5

DAO

Este mdulo rene las clases encargadas de los accesos, tanto de lectura como de escritura, sobre la base de datos. Si hablsemos de una arquitectura distribuida, este mdulo correspondera con las funciones alojadas en el servidor de base de datos. Como se ha visto anteriormente al definir el mdulo Dominio, existen dos tipos de contenidos estables, de carcter esttico y de carcter dinmico. Debido a ello, este mdulo se ha decidido dividir en dos grandes paquetes de trabajo encargados cada uno de gestionar cada tipo de informacin. As pues, los paquetes de trabajo que forman este mdulo son: Gestor esttico: se encarga de los accesos a la base de datos de la informacin de carcter esttico, tales como las caractersticas de los tipos de edificios, unidades, etc. Gestor dinmico: este paquete de trabajo se encarga de la consistencia de los datos relacionados con la informacin de carcter dinmico de los jugadores, cuyo contenido cambia constantemente y difiere de unos jugadores a otros. La estructura de este mdulo se resume en el siguiente diagrama:

Figura 4.1.7: Estructura del mdulo DAO

188

WarBattle

3.

Diseo de la base de datos

En este captulo se va a realizar el estudio y diseo de la base de datos que compondr el sistema Warbattle. Este proceso consistir en la definicin, creacin y diseo de las tablas de la base de datos, as como de las relaciones entre ellas. En los posteriores diagramas de la base de datos se dibujarn rectas de unin entre tablas que expresarn la relacin entre ellas de multiplicidad. Por otro lado, en cada tabla se incluir la siguiente informacin: Clave primaria. Atributos en caso de que los tenga. Claves forneas en caso de que existan.

Una vez visto el formato interno de las tablas que sern definidas a lo largo del captulo, es necesario indicar los tipos de tablas que se encontrarn. Para clasificar los tipos de tablas del sistema Warbattle es necesario realizar dos mtodos diferentes. El primero clasifica las tablas en funcin del trabajo que desempean en la base de datos. El segundo lo hace en relacin a su contenido respecto al juego en s. La primera clasificacin genera dos tipos de tablas, que son: Tablas de informacin del juego: estas tablas contienen informacin sobre el juego, con datos relativos a los jugadores y sus elementos o a la informacin sobre las reglas y caractersticas de ste. Son tablas con una serie de atributos que definen las caractersticas del elemento representado por la tabla. Por lo general, al realizar el diseo se pondr un cuidado especial en utilizar nombres significativos y representativos con los conceptos del juego que almacenan. Tablas de relacin entre tablas: estas tablas sirven para relacionar tablas entre s. El motivo de la existencia de este tipo de tablas es la facilitacin de acceso a datos entre tablas difcilmente relacionadas entre ellas.

La segunda clasificacin genera tambin dos tipos de tabla, a saber: Tablas de informacin esttica: este tipo de tabla contiene la informacin sobre las reglas y caractersticas del juego Warbattle.

189

El contenido de estas tablas ser de carcter esttico y de lectura, es decir, la informacin que contiene no se ver alterada en ningn momento y ser consultada por el sistema para hacer que el juego funcione. Por otro lado, estas tablas estarn relacionadas con las de contenido dinmico. Tablas de informacin dinmica: estas tablas contendrn la informacin sobre los jugadores y los elementos que poseen. Su contenido estar constantemente en transformacin, por lo que su contenido ser de carcter dinmico y de lectura y escritura. Este tipo de tablas estarn tambin relacionadas con las de contenido esttico. Desde el punto de vista de los tipos de datos de las tablas, todas ellas utilizarn como clave primaria el tipo Bigint(20), que ser transformada a Long en Java. Por ltimo, antes de comenzar el diseo de las tablas, debido al tamao de la base de datos Warbattle, se dividirn en grupos de contenido relacionado entre s. Los grupos de diseo sern: Estticos: o Tipos de elementos. o Costes y produccin. Dinmicos: o Elementos de los usuarios. o Elementos de las aldeas. o Elementos de los productores. o Elementos de los edificios. o Elementos de las ciencias. o Elementos de las habilidades militares. o Elementos de las unidades militares. o Elementos de las unidades defensivas. o Elementos de las misiones. o Elementos del mapa.

190

WarBattle

3.1

Tipos de elementos

3.2

Costes y produccin

191

3.3

Elementos de los usuarios

3.4

Elementos de las aldeas

192

WarBattle

3.5

Elementos de los productores y edificios

3.6

Elementos de las ciencias y habilidades militares

193

3.7

Elementos de las unidades militares

3.8

Elementos de las unidades defensivas

194

WarBattle

3.9

Elementos de las misiones

3.10

Elementos del mapa

195

4.

Algoritmos significativos

Este captulo recoge la descripcin de aquellos algoritmos que se han considerado de mayor importancia y dificultad. Su contenido tiene una complejidad mayor que el resto y no son tan obvios. Para describirlos se usar la siguiente metodologa: Descripcin breve del algoritmo con lenguaje natural. Se explicar en qu consiste y en qu contexto se utiliza. Uso de diagramas de flujo para representar el funcionamiento interno de los algoritmos. Uso de diagramas de secuencia que reflejen la relacin entre clases participantes en el algoritmo. Los algoritmos que van a ser descritos en este captulo son: 1. Alta usuarios. 2. Actualizar. 3. Construccin de unidades militares. 4. Alta misiones.

196

WarBattle

4.1

Alta usuario

Esta funcin realiza el ingreso de un nuevo jugador en el sistema. Para que se lleve a cabo esta misin, los datos introducidos durante el registro deben ser vlidos. Una vez aceptados los datos de entrada, se procede a la ejecucin del algoritmo de alta de usuarios, objeto de estudio en esta seccin. Al finalizar el proceso, se dar acceso al jugador al sistema. El diagrama de flujo que representa las funciones de las que se compone el algoritmo es:

INICIO TRANSACCION

ALTA USUARIO

ALTA CIENCIAS BLOQUEADAS

ALTA HABILIDADES BLOQUEADAS

ALTA ALDEA

FIN TRANSACCION

197

A su vez, el proceso Alta aldea est compuesto de las siguientes funciones:

ALTA RECURSOS

ALTA EDIFICIOS

ALTA EDIFICIOS BLOQUEADOS

ALTA PRODUCTORES

ALTA UNIDADES BLOQUEADAS

ALTA DEFENSAS BLOQUEADAS

198

WarBattle

El diagrama de secuencia que se muestra a continuacin indica las relaciones existentes entre las clases participantes:

ServicioUsuario iniciaTransaccion() conexion

GestorTransaccin

GestorUsuario altaUsuario(datosUsuario) usuario

GestorCiencias altaCienciasBloqueadas(usuario)

GestorHabilidades altaHabilidadesBloqueadas(usuario)

GestorAldeas altaAldea(usuario) aldea

GestorRecursos altaRecursos(aldea)

GestorEdificios altaEdificios(aldea)

GestorProductores altaProductores(aldea)

GestorUnidades altaUnidadesBloqueadas(aldea)

GestorDefensas altaDefensasBloqueadas(aldea)

FinTransaccion(conexion)

199

4.2

Actualizar

Este proceso es el ms complejo y, seguramente, importante de todos los que componen el sistema. Realiza todos los clculos sobre los sucesos ocurridos desde el ltimo evento que hizo participar a una aldea (externo o del propio jugador) hasta el ltimo, motivo por el que se activa el proceso. Puesto que todos los elementos del jugador pueden estar sujetos a cambios es necesario realizar un barrido acerca de lo sucedido entre los dos eventos en todos ellos. El algoritmo de actualizacin se puede representar por el diagrama de flujo de la siguiente pgina:

200

WarBattle

INICIO TRANSICION

ACTUALIZACION EXTERNA

ACTUALIZACION MISIONES IDA

ACTUALIZACION MISIONES VUELTA

ACTUALIZACION EDIFICIOS

ACTUALIZACION CIENCIAS

ACTUALIZACION HABILIDADES

ACTUALIZACION UNIDADES

ACTUALIZACION DEFENSAS

ACTUALIZACION RECURSOS

FIN TRANSACCION

201

A continuacin se realizarn los diagramas de flujo que explican el funcionamiento de cada proceso hijo: Actualizacin externa

COMPROBACION MISIONES ENTRANTES

si
Hay misiones?

no
Hora actual < hora destino?

si

no
ACTUALIZACION HASTA HORA DESTINO

EJECUTAR MISION ENTRANTE

no

Ms misiones?

si

202

WarBattle

Actualizacin misiones ida

COMPROBAR MISIONES PENDIENTES

no
Haba?

si

COMPROBAR FINALIZACION

no

Finalizada?

si

COMPROBAR TIPO DE MISION

COMPROBAR POSICION DESTINO

colonizar
Tipo

otro si
Libre? ACTUALIZAR DESTINO

no

ALTA ALDEA REALIZAR MISION

BAJA MISION PREPARAR VUELTA

Ms misiones?

si

no

203

Actualizacin misiones vuelta

COMPROBAR HORA VUELTA

no
Ha vuelto?

si

ACTUALIZAR RECURSOS

ACTUALIZAR TROPAS

BORRAR MISION

204

WarBattle

Actualizacin edificios

COMPROBACION EDIFICIOS PENDIENTES

no
Hay?

si

COMPROBACION FINALIZACION

no
Finalizado?

si

ACTUALIZA EDIFICIO

COMPROBACION DE DESBLOQUEOS

no
Desbloquea?

si

ELIMINA BLOQUEO

no

Elemento desbloqueado?

si
ALTA ELEMENTO BLOQUEADO

205

Actualizacin ciencias

COMPROBAR BIBLIOTECAS PENDIENTES

no
Hay?

COMPROBACION CIENCIA PENDIENTE

si si
COMPROBAR FINALIZACION Hay? COMPROBAR FINALIZACION

no si
Finalizado? AUMENTAR NIVEL

no
Finalizado?

no
COMPROBACION DESBLOQUEOS

si
AUMENTAR NIVEL

no
Desbloquea?

COMPROBACION DESBLOQUEOS

si no
ALTA CIENCIA Desbloquea?

si
BAJA BLOQUEO CIENCIA ALTA ELEMENTO BLOQUEADO

BAJA BLOQUEO

Actualizacin habilidades
206

WarBattle

COMPROBAR ACADEMIAS PENDIENTES

no
Hay?

COMPROBACION HABILIDAD PENDIENTE

si si
COMPROBAR FINALIZACION Hay? COMPROBAR FINALIZACION

no si
Finalizado? AUMENTAR NIVEL

no
Finalizado?

no
COMPROBACION DESBLOQUEOS

si
AUMENTAR NIVEL

no
Desbloquea?

COMPROBACION DESBLOQUEOS

si no
ALTA HABILIDAD Desbloquea?

si
BAJA BLOQUEO HABILIDAD ALTA ELEMENTO BLOQUEADO

BAJA BLOQUEO

207

Actualizacin unidades

COMPROBACION UNIDADES PENDIENTES

no
Pendientes?

si

COMPROBACION FINALIZACION

ALTA UNIDADES

ASIGNACION EJERCITO

Actualizacin defensas

COMPROBACION DEFENSAS PENDIENTES

no
Pendientes?

si

COMPROBACION FINALIZACION

ALTA DEFENSAS

ASIGNACION ALDEA

208

WarBattle

Actualizacin recursos

COMPROBACION PRODUCTOR PENDIENTE

si
Hay?

no
COMPROBACION FINALIZACION

no

si
Finalizado?

EXTRACCION DATOS ANTERIORES CALCULO UNIDADES PRODUCIDAS

CALCULO PRODUCCION HASTA CONSTRUCCION

CALCULO PRODUCCION NUEVA

ACTUALIZACION UNIDADES

209

El diagrama de secuencia que se muestra a continuacin indica las relaciones existentes entre las clases participantes
ServicioActualizacion iniciaTransaccion() conexion GestorTransaccion

ActualizadorMisiones actualizaMisionesIda(aldea)

ActualizadorMisiones actualizaMisionesIda(aldea)

actualizaMisionesVuelta(aldea)

ActualizadorEdificios actualizaEdificios(aldea)

ActualizadorCiencias actualizaCiencias(usuario)

ActualizadorHabilidades actualizaHabilidades(usuario)

ActualizadorUnidades actualizaUnidades(aldea)

ActualizadorDefensas actualizaDefensas(aldea)

ActualizadorRecursos actualizaRecursos(aldea)

finTransaccion(conexion)

210

WarBattle

4.3

Construccin de unidades militares

Este proceso se encarga de dar de alta la construccin de las unidades militares que el jugador solicita. El siguiente diagrama muestra el funcionamiento:

LECTURA RECURSOS

LECTURA COSTE UNIDAD

CALCULAR COSTE UNIDADES IGUALES

ESCRITURA UNIDADES PENDIENTES

Ms unidades?

si

no
ACTUALIZAR RECURSOS

Este algoritmo se lleva a cabo en la clase GestorUnidades del mdulo DAO, por eso no se mostrar el diagrama de secuencia pertinente.

211

4.4

Alta misiones

Este proceso lleva a cabo, como su nombre indica, el alta de una nueva misin como respuesta a la solicitud del jugador. El siguiente diagrama muestra el funcionamiento de ste:

COMPROBACION UNIDADES DISPONIBLES

Menos disponibles que solicitadas?

si

no
AJUSTE UNIDADES

si

Menos disponibles que solicitadas?

COMPROBACION RECURSOS DISPONIBLES

no
AJUSTE RECURSOS Mision == colonizar || espionaje?

si

COMPROBACION CONVOY O ESPIA EN UNIDADES

no no
Est?

si
ACTUALIZAR UNIDADES Y RECURSOS EN ALDEA COMPROBAR OTRAS POSIBLES RESTRICCIONES

Puede?

si no

ALTA MISION

Este algoritmo lo realiza al completo la clase GestorMisiones del mdulo DAO, por lo que no es necesario mostrar el diagrama de secuencia pertinente.

212

WarBattle

5.

Problemas y errores

En este captulo se van a describir los problemas que surgieron durante la fase de diseo, as como los errores cometidos con el fin de que queden documentados para evitarlos en posteriores trabajos. Los problemas ms importantes y significativos que se encontraron en esta fase del proyecto fueron: Inexperiencia en diseo de sistemas de gran volumen. Debido a ello, fueron mltiples las iteraciones realizadas hasta alcanzar un modelo estable. Mdulos crticos. El hecho de que el sistema albergue gran cantidad de procesos que accedan a recursos compartidos por un nmero tan elevado de usuarios provoc que durante la etapa de diseo se obviarn determinadas relaciones que ms tarde se dio buena cuenta de que eran imprescindibles. Necesidad de realizar un sistema fcilmente escalable. Debido a que a mitad del anlisis de requisitos se comenzaron esta tarea y la de programacin en paralelo para ir realizando pruebas, era indispensable que durante el diseo se tuviese en cuenta esta necesidad, ya que a medida que del anlisis surgan elementos deban poderse acoplar fcilmente al sistema diseado hasta ese momento. Problemas con el interfaz de acceso a datos en la programacin. Este fue, quizs, el mayor problema que apareci durante la fase de diseo. En un primer momento se plante para realizar los accesos a la base de datos la tecnologa de reciente aparicin JPA de Java. Esta tecnologa aportaba al programador y al diseador la comodidad de no tener que encargarse de ninguna clase de acceso a datos especfica, pues en gran medida esta tecnologa encapsula el proceso. Lo que en principio pareci una facilidad enorme al avanzar en la fase de programacin lleg un momento en el que la tecnologa aportaba ms problemas que soluciones. El principal fue que el control sobre las escrituras sobre la base de datos recaa completamente sobre la tecnologa, eligiendo su propio gestor los instantes en que deban hacerse las actualizaciones. Como consecuencia de ello, los datos acostumbraban a quedar en estados incoherentes e inestables, con los consecuentes problemas que este suceso generaba.

Como solucin se opt por utilizar una tecnologa que implicaba ms trabajo a la programacin pero que aportaba control absoluto sobre las actualizaciones de la base de datos. Esta tecnologa fue el api de la JDK 1.6 JDBC para acceso a base de datos.
213

Por tanto, a la arquitectura le faltaba un mdulo que se encargase de la base de datos. El mdulo que se eligi fue, como se ha descrito anteriormente, el mdulo DAO. Por ltimo, no slo fue necesario aadir un nuevo mdulo, sino que el diseo anterior qued en gran parte obsoleto. Fue necesario un proceso de re-anlisis hasta alcanzar la solucin que ha sido objeto de estudio a lo largo de este captulo.

214

WarBattle

6.

Conclusiones

Al trmino de la fase de diseo del sistema Warbattle se pueden extraer las siguientes conclusiones: Necesidad de realizacin de un buen diseo como parte fundamental en el desarrollo de software de grandes sistemas. El motivo es la limpieza y facilidad con que el trabajo en la siguiente fase, la de programacin, se va a llevar a cabo. Alto grado de aprendizaje y experiencia. Durante esta fase he tenido que enfrentarme a diversos retos completamente nuevos para m que me han aportado una fluida habilidad para percibir con mayor facilidad conceptos fundamentales a la hora de disear y de poder plasmarlos en los diagramas que mejor representen cada caso. Satisfaccin personal por haber superado las dificultades encontradas y, como mencion en el anterior epgrafe, por haber aprendido mucho del proceso de ingeniera del software. A continuacin deberan aparecer la documentacin relativa al proceso de programacin y, ms adelante, al de pruebas e implantacin. Debido al tamao que supondra el documento total, no se describirn estos procesos.

215

216

WarBattle

CAPTULO 5
Trabajo futuro

217

En este captulo se tratar los trabajos futuros que se realizarn sobre el sistema una vez montado. Una vez creado el producto, el siguiente paso ser su comercializacin. Puesto que Warbattle es un juego destinado a Internet su fuente de ingresos ser bsicamente dos: Cesin de espacio en la pgina para alojar banners de publicidad de otras empresas. Oferta de ventajas o comodidades en el juego que el jugador paga por ellas por un determinado tiempo.

A la fecha de terminacin del proyecto no se han considerado ninguna de las dos posibilidades, por lo que en ambos casos requerira incluir funcionalidades nuevas al sistema. Como ya se insisti en la fase de diseo, un requisito fundamental era conseguir que el sistema fuese escalable, entre otras cosas porque ya entonces se previ que en un futuro se pudiese comercializar, lo que implicara aadir nuevos mdulos. Por otro lado, para comercializar el producto son necesarios otros requisitos. Estos son: Contratacin de un dominio: para que el acceso sea pblico el juego debe tener su propio dominio, lo que implica el alquiler o compra de una direccin IP y del nombre que se le va a asignar a la pgina. Alquiler o compra de servidores donde alojar el sistema. Implantacin de medidas de seguridad. Realizacin de un plan de mantenimiento y de backup en caso de fallo.

Todos estos puntos sern estudiados en un trabajo futuro realizando un plan de viabilidad en el que se estimarn los ingresos que pueda producir el juego, as como los gastos derivados de l. En este plan se trazarn dos rutas alternativas que consistir cada una en lo siguiente: 1 Se estimarn los gastos derivados de la contratacin del hosting que aloje el juego delegando en un tercero el mantenimiento del sistema.

218

WarBattle

2 En la otra opcin se contemplar la adquisicin de los equipos, as como la contratacin de lneas telefnicas y la creacin de una empresa. Por ltimo, para que el juego sea comercial, ser necesario utilizar imgenes propias, ya que hasta el momento se han utilizado dos tipos de imgenes, unas con copyright ya que han sido extradas de videojuegos actuales y otras que pertenecen a juegos del gnero abandonware, esto es, juegos que hace ms de 10 aos que no se comercializan y que han perdido los derechos de explotacin, normalmente porque las empresas que los crearon han desaparecido.

219

220

WarBattle

CAPTULO 6
Evaluacin econmica

221

En este captulo se realizar una estimacin econmica del coste en el que se hubiese incurrido en la realizacin del proyecto en caso de que hubiese sido contratado por una empresa externa. En estos clculos no se har referencia alguna a los derivados de su posterior explotacin, tales como hosting, compra de servidores, mantenimiento, etc. Es decir, en este captulo slo se estimarn los costes procedentes de las horas hombres empleadas. La siguiente tabla muestra los participantes en el desarrollo del juego, as como el nmero de cada uno de ellos, las horas empleadas, el coste por hora por rol y el coste total del mismo. ROL Coordinador Director Jefe de proyecto Analista Diseador Programador Diseador grfico N Personas 1 1 1 1 1 2 1 Horas 40 80 80 100 150 100 50 Coste hora/hombre 100 80 60 50 40 30 15 Coste total 4.000 6.400 4.800 5.000 6.000 6.000 750 700 horas 32.950

HORAS TOTALES PRESUPUESTO TOTAL

222

WarBattle

CAPTULO 7
Bibliografa

223

BIBLIOGRAFIA DE CONSULTA

[JBA01]

Jess Barranco de Areba: Metodologa del anlisis estructurado de sistemas. ISBN: 84-8468-043-6.

[EG02] [CHCG03]

Erich Gamma: Patrones de diseo. ISBN: 84-7829-059-1. Cay S. Horstmann, Gary Cornell: Core Java 2: Volumen 1 Fundamentos.

[CHCG04]

Cay S. Horstmann, Gary Cornell: Core Java 2: Volumen 2 Caractersticas Avanzadas.

[JLJLE05]

Juan Benavides Abajo, Luis Martnez Fuentes, Juan Mara Olaizola Bartolom, Luis Reina Juli, Enrique Riverio Cornelio: Introduccin al SQL para usuarios y programadores.

[JCE06]

Juan Carlos Esquivel Daz: Apuntes de la asignatura de Ingeniera del Software II.

224

WarBattle

ANEXO A
Manual de usuario

225

Este anexo se ha elaborado para explicar las opciones que el interfaz del juego proporciona.

Figura A.1: Interfaz del videojuego

La figura A.1 muestra el interfaz del videojuego en el que se pueden apreciar dos grupos de opciones: uno en el lado izquierdo sobre un recuadro azul y el otro en la parte superior. Por otro lado, debajo de las opciones superiores se encuentran los recursos disponibles en la aldea, en el siguiente orden de aparicin de izquierda a derecha: soldados, trigo, madera, piedra, hierro y especia. A su izquierda est la hora del sistema. En la esquina superior izquierda est el panel de castillos, donde se puede elegir cambiar la vista otro castillo del jugador. Por ltimo, en el centro de la pantalla se muestra el tablero de juego. A continuacin se explicarn cada una de las opciones integradas.

226

WarBattle

Inicio
Esta opcin muestra la informacin general del castillo en el que el jugador est realizando sus operaciones.

Figura A.2: Vista general de un castillo

Como se puede observar en la figura A.2 el tablero est dividido en dos partes: - A la izquierda se muestra la imagen del castillo seleccionado. - A la derecha hay un recuadro que representa los tiempos de construccin restantes en el castillo dividido en cuatro partes: o Productor en construccin. o Edificio en construccin. o Ciencia en investigacin. o Habilidad en investigacin.

227

Edificios
Esta opcin muestra los edificios que tenga construidos el jugador en el castillo seleccionado.

Figura A.3: Vista de edificios de un castillo

En la parte izquierda del tablero aparecen los edificios construidos en el castillo, mientras que en la parte izquierda hay un panel que mostrar la informacin del edificio pulsado, as como los accesos al mismo.

228

WarBattle

Tropas
Esta opcin muestra las unidades disponibles en el castillo que pueden ser utilizadas para llevar a cabo misiones.

Figura A.4: Vista de las tropas disponibles en un castillo

En la parte izquierda del tablero aparecen las unidades militares disponibles en el castillo. Por otro lado, en la parte derecha se muestra un formulario con las opciones disponibles para llevar a cabo una misin.

229

Defensa
Esta opcin muestra las unidades defensivas del castillo seleccionado.

Figura A.5: Defensas de un castillo

Como se puede observar en la figura A.5 en la parte izquierda del tablero se encuentran las unidades defensivas que tiene el castillo y en la derecha se muestra un panel que, al pulsar sobre cualquier tipo de unidad, recoge la informacin de ella.

230

WarBattle

Produccin
Esta opcin muestra los productores que tiene un castillo, as como el nivel al que se encuentra y todas las opciones derivadas de ella.

Figura A.6: Produccin de un castillo

En el panel de la izquierda se muestran las casillas con los productores del castillo y en el de la derecha la informacin relativa a cada uno de ellos que aparecer al pulsar sobre cualquier productor.

231

Ciencia
Esta opcin muestra las ciencias que tiene un jugador as como el nivel al que est cada una de ellas.

Figura A.7: Ciencias de un jugador

En la parte izquierda aparecen las ciencias ya investigadas y a la derecha, al pulsar sobre cualquiera de ellas, la informacin de stas.

232

WarBattle

Habilidad
Esta opcin muestra las habilidades militares que tiene un jugador as como el nivel al que est cada una de ellas.

Figura A.8: Habilidades militares de un jugador

En la parte izquierda aparecen las habilidades ya investigadas y a la derecha, al pulsar sobre cualquiera de ellas, la informacin de stas.

233

Misiones
Esta opcin muestra las misiones que el jugador tiene activas en el momento, as como la informacin de ellas.

Figura A.9: Misiones de un jugador

En la parte izquierda aparecen las misiones en curso y a la derecha, al pulsar sobre el icono + de cualquiera de ellas, la informacin de stas.

234

WarBattle

Mapa
Esta opcin muestra el mapa y permite ver diferentes regiones del mismo.

Figura A.10: Mapa

En la parte izquierda aparece el sector seleccionado (el del castillo por defecto) y a la derecha la informacin de la casilla seleccionada.

235

Mensajes
Esta opcin muestra los mensajes que tiene un jugador.

Figura A.11: Mensajes de un jugador

En la parte izquierda aparecen los mensajes del jugador y a la derecha, si procede, la informacin ampliada de los mismos.

236

S-ar putea să vă placă și