Home
memoria (7) - Rodin
Contents
1. s TRANSLATION o aoa da u a 5 wed A en ee da ne ei vosnsauRrwm 53 53 54 54 55 57 57 57 58 59 59 59 60 60 60 60 60 61 61 62 62 62 63 63 65 65 65 67 11 RELICENSING ADDENDUM How to use this License for your documents o o oo o IX Indice de figuras 2 1 2 2 2 3 3 3 2 33 3 4 38 3 6 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 4 10 4 11 4 12 4 13 4 14 4 15 4 16 4 17 4 18 4 19 4 20 4 21 4 22 SAE 3 2 5 3 5 4 6 1 Descripci n Logo FEA o anta Ea oo ed ee ae Se an e A ee 3 Descripci n Futbolista de FEA e gt lt a oa 2a ur das runs sans ra ne 4 Descripci n Bal n FEA modelos High y Low Poly 4 Planificaci n Aprendizaje modelado cara futbolista 8 Planificaci n Aprendizaje texturizado seaming o oo e o 8 Planificaci n Aprendizaje texturizado oe aa co a o e e e 9 Planificaci n Aprendizaje rigging 2 2 m mm nen 9 Planificaci n Aprendizaje animaci n lt oes saniar my aia a d a eo 10 Planificaci n Diagrama de Gantt s 2 2 2 Comm 12 An lisis Boceto del men principal o 14 An lisis Boceto de la pantalla de cr ditos o oo o 14 Analisis Boceto de ventana de juego o o e a a ru a aa Seren ae 15 An lisis Boceto de Men de pausa e 16 A
2. To Preserve the Title of such a section when you modify the Doc ument means that it remains a section Entitled XYZ according to this definition The Document may include Warranty Disclaimers next to the notice which states that this License ap plies to the Document These Warranty Disclaimers are considered to be included by reference in this Li cense but only as regards disclaiming warranties any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License 2 VERBATIM COPYING You may copy and distribute the Document in any medium either commercially or noncommercially provided that this License the copyright notices and the license notice saying this License applies to the Document are reproduced in all copies and that you add no other conditions whatsoever to those of this License You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute However you may accept compensation in exchange for copies If you distribute a large enough number of copies you must also follow the conditions in section 3 You may also lend copies under the same conditions stated above and you may publicly display copies 3 COPYING IN QUANTITY 70 If you publish printed copies or copies in media that commonly have printed covers of the Document numbering more than 100 and the Document s license notice requires Cove
3. Mejoras yampllaeiones y caraus 428 2 ne a ae A aa a A Herramientas utilizadas Acl Lenguaje de programaci n x a eces 3 sea eange aa ea gm aa a aa ae A2 Motor de renderizado o oi ae teed a0 a aaa wa ae ie oh Da aa Ad F SICAS Y COMSIOMES meti a ogi ace ee a nas a Be os a ee en AA Gesti n entrada de usuario aa a 6 02 0 0 a a we AD SOMO u a a IN eR a ee me A da AsO E ic bike ear Ok aoe lh A neh Be Bae ee Bode BEIRT ona ATA ss eee TA eed Oe A ee He EA ae AS GIMP es ee ena a Rw A OR GOR Ha do ea Rw Roe Be Goa Yow A wee A 9 Sistema de control de versiones 2 64 a nu u ba he Ree a A 10 Documentaci n del c digo lt e s s 2 0 ae ce ankam A 11 Redaceion de la memora ociosos ae aD Ae ek ee bb ee me Aw da A 12 Realizaci n de diagramas Dia o o ace a sosu tos poa DOA EAN en B Manual de instalaci n B 1 Linux Ubuntu Desde c digo fuentes lt 2 Zara roc ee GA 2 Serie C Manual de usuario Cul Men principal 4 4 2468466 ren nee eS WG a wd C2 Pantalla de juego 2 2 au ee ie ee ee Ee eB A ee we Bibliografia y referencias GNU Free Documentation License APPLICABILITY AND DEFINITIONS 2 0 0 0000 00 pee eee eee VERBATIM COPYING 46605 2 4 a wa RR EG HERD RA ERD a GO COPYING INQUANTITY 2 ma au aan coh a MODIFICATIONS o eee e a ua an we wR COMBINING DOCUMENTS 1 40 606 66 a ew COLLECTIONS OF DOCUMENTS 2 LL nn AGGREGATION WITH INDEPENDENT WORKS o
4. Men principal escenario principal Usuario InicioAplicacion CambiarEstado Playing Figura 4 7 An lisis Diagrama de secuencia Men principal escenario principal Operaci n InicioAplicacion Actores Jugador sistema Responsabilidades inicia la aplicaci n y muestra el men principal Precondiciones Ninguna Postcondiciones El sistema inicia todos los subsistemas necesarios para la correcta ejecuci n de la aplicaci n a El sistema cambia el estado de aut mata juego a MainMenu Operaci n Jugar Actores Jugador Sistema Responsabilidades salir del men principal y acceder a la pantalla de juego Precondiciones El estado del juego es MainMenu 24 Postcondiciones Se cambia de estado el juego a Playing Caso de uso Men principal escenario 2a Usuario InicioAplicacion SeleccionarCreditos CambiarEstado Creditos Figura 4 8 An lisis Diagrama de secuencia Ment principal escenario 2a Operaci n SeleccionarCr ditos Actores Jugador sistema Responsabilidades salir del ment principal y entrar en la pantalla de cr ditos Precondiciones El aut mata juego est en estado MainMenu Postcondiciones El aut mata juego cambia al estado Credits 25 Caso de uso Men principal escenario 2b Usuario Sistema InicioAplicacion SeleccionarSalir CambiarEstado Salir Figura 4 9 Analisis Diagra
5. Precondiciones El objeto juego esta en estado MainMenu Postcondiciones El objeto juego cambia a estado Credits Operaci n SeleccionarMenu Actores Jugador sistema Responsabilidades destruye la pantalla de cr ditos y vuelve el men principal Precondiciones a El objeto juego est en estado Credits Postcondiciones Se destruye el estado Credits y se pasa a estado MainMenu 38 Cap tulo 5 Dise o Al igual que en el apartado referente al an lisis del sistema en el dise o de este tambi n usaremos una metodolog a orientada a objetos mediante UML Este proceso es mucho m s sencillo una vez que ya se ha especificado que hace el sistema en el cap tulo anterior Tambi n decir que al igual que el an lisis del sistema el dise o no contempla muchos detalles del sistema final s lo una idea orientativa de como se implementar el sistema En este cap tulo no se han a adido descripciones de las clases que componen el sistema para ello se encuentra disponible toda la documentaci n del c digo donde esta toda la informaci n necesaria referente a las clases y archivos que componen la aplicaci n 5 1 Tnterfaz gr fica Tras los resultado que se han obtenido en la fase de an lisis del sistema es necesario desarrollar una interfaz sencilla y agradable para el usuario de la misma En el dise o de estos se intentar en todo momento que el flujo de ejecuci n sea lo m s intuitivo posible para el usuario Fi
6. 1 9P SedISeqg sapepIsa33N lv oyjossesag A t D 3a nga1bO TEE ng VEE INNA A 3160 TE ead ve to uojeg Ere tn e3510q1N4 LE po ofauew A soquawepun4 Le J pu g a LE afezjpuaidy a SOIJES939U SOSINIIY z2 ty oy s nbaJ ap UOIDe Id023y Vz L Loz aus 21 ee lt 0 aKoJd Jap ozui UOIDEIJIUL d L Ld vd 0 20 Ld vd ed z 10 vd a qwon SEM ELOZ z oz LLOZ Figura 3 6 Planificaci n Diagrama de Gantt 12 Cap tulo 4 An lisis 4 1 Especificaci n de requisitos del sistema Para la creaci n de cualquier producto software es necesario establecer las distintas condiciones y necesidades que ha de satisfacer Seguiremos un esquema que nos permita describir los requisitos de una forma met dica y racional 4 1 1 Requisitos de interfaces externas En este apartado se describir los requisitos de conexi n del software y el hardware as como la interfaz de usuario La conexi n entre el software y el hardware se encarga la librer a Ogre un motor de renderizado en 3D en el lenguaje de programaci n C Por lo que al ser un sistema preestablecido no ser necesario realizar el dise o ni el an lisis s lo haremos uso de l As que pasamos a definir la interfaz entre el usuario y el videojuego Todas las ventanas de la aplicaci n tendr n una resoluci n de 800x600 p xeles a pantalla completa En la aplicaci n encontraremos Ventana de men principal La ventana del men principal figura 4 1 muest
7. If a section in the Document is Entitled Acknowledgements Dedications or History the require ment section 4 to Preserve its Title section 1 will typically require changing the actual title 9 TERMINATION 73 You may not copy modify sublicense or distribute the Document except as expressly provided un der this License Any attempt otherwise to copy modify sublicense or distribute it is void and will automatically terminate your rights under this License However if you cease all violation of this License then your license from a particular copyright holder is reinstated a provisionally unless and until the copyright holder explicitly and finally terminates your license and b permanently if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation Moreover your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means this is the first time you have received notice of violation of this License for any work from that copyright holder and you cure the violation prior to 30 days after your receipt of the notice Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License If your rights have been terminated and not permanently reinstated receipt of acopy of some or
8. a a AVA Restrieciones dedisend i Gh ac aan aaa rn a a a G 4 1 5 Requisitos del sistema software o o e e 4 2 Modelo de CASOS SUSO p o a aan nn a cn AA TA a a AA 4 2 1 Diagrama de los casos de uso o a 4 2 2 Descripci n de los casos de USO o u au ar rn sun sem ra 4 3 Modelo conceptual de datos LL RL o E ee 4 3 1 Diagrama de clases conceptuales s 2 2 Co Cum 4 4 Modelo de comportamiento del sistema o oo e e 4 4 1 Diagramas de secuencia y contrato de las operaciones del sistema 5 Dise o Sls ir A A ek ome an ae we ae O ee ee 5 1 1 Diagrama de interacci n entre interfaces LL CC mn 3 2 Diagrama de clases de dise o 4a 4 8 4 2 as m Pa be Dad Ba a We T Aa 13 13 13 16 17 17 17 17 17 19 23 23 23 24 6 Implementaci n Gila F sicas YCOMSIONES s asos aea cn ar ee nn AER AA 6 2 Inteligencia arufieial ope unan e we ar a bern 62 Jugadores ns 200 8 0 AOA Ee ee a a A ag RA 922 EQUIPOS z eto en esate a an a Mie ae Ge ale 7 Pruebas Tele Prueb s unltanas AE 20 tesen aue ran 1 2 PRUEBAS de Integraci n s socs nn ne er ee ae wie a ek A Tas Pruebas de jusabilidad coo ganas a 3 44 5 a 2 0 8 an a a JA Pruebas de interfaz os 2 4 2 2 0 ia eh red bad 8 Conclusiones 8 1 Resumen de Objetivos u sun an ern nn 8 2 Conclusiones personales a ca ged 000 al an ee MAIO AO E Boo ATA 8 3
9. cada hueso 9 Figura 3 5 Planificaci n Aprendizaje animaci n Familiarizaci n con las bibliotecas Para llevar a cabo el desarrollo de este juego se opt por utilizar Ogre3D como motor gr fico BulletrOgreBullet wrapper como motor de f sicas OIS para manejar la entrada del usuario MyGUI como sistema para la interfaz y SDL Mixer para el sonido Pero antes de decantarme estuve haciendo pruebas para ver qu me ofrec an con respecto a las alternativas Para el aprendizaje de la utilizaci n de Ogre le 2 y 3 3 4 Fase de desarrollo Tras la consecuci n de las etapas anteriores se comenz el desarrollo del proyecto Esta etapa del desarrollo es la m s extensa de todas como es comprensible Y es posible llevarla a cabo gracias a que ya tenia los modelos que habia empleado en el aprendizaje y alguna animaci n disponible Motor b sico implementaci n de las necesidades b sicas del proyecto arquitectura general m quinas de estados para el propio juego los equipos los jugadores control del rat n teclado y joystick carga de recursos y movimiento de los futbolistas Motor de f sicas y colisiones El empleo de un motor de f sicas se me hacia imprescindible en casos como disparos a porter a o pases donde influyen la gravedad y la fricci n Adem s de las colisiones del bal n con las porter as y los futbolistas o entre stos ltimos Creaci n de men s e interfaz implementaci n de la breve interfa
10. escenario principal Usuario Sistema ChutarBal n Bal n impulsado Oponente intercepta y controla Figura 4 18 An lisis Diagrama de secuencia Chutar Bal n escenario principal Operaci n ChutarBalon Actores Jugador sistema Responsabilidades hace que el jugador chute el bal n hacia su orientaci n actual Precondiciones a Existe un objeto pl de Player perteneciente al SoccerTeam s1 que posea el bal n Existe un objeto p2 de Player perteneciente al SoccerTeam s2 El objeto juego est en estado Playing Postcondiciones El objeto player pl deja de poseer el bal n El objeto player p2 intercepta y controla el disparo 34 Caso de uso Chutar Bal n escenario 3a Usuario Sistema ChutarBal n Bal n impulsado Oponente intercepta Bal n rebota Figura 4 19 An lisis Diagrama de secuencia Chutar Bal n escenario 3a Operaci n ChutarBalon Actores Jugador sistema Responsabilidades hace que el jugador chute el bal n hacia su orientaci n actual Precondiciones a Existe un objeto pl de Player perteneciente al SoccerTeam s1 que posea el bal n a Existe un objeto p2 de Player perteneciente al SoccerTeam s2 a El objeto juego est en estado Playing Postcondiciones El objeto player pl deja de poseer el bal n a El objeto player p2 intercepta el disparo pero no controla el bal n y ste sale rebotado 35 Caso de uso Chutar Bal n escenario 3c Usuario Sistem
11. la ve locidad de los futbolistas Colisiones con entre futbolistas comprobaci n de las colisiones entre futbolistas en los distintos lances del juego a Posiciones futbolistas correcto posicionamiento de los futbolistas en estados de ataque defensa O saque a bal n parado Inteligencia artificial la agilidad y dificultad de jugar contra la inteligencia de la IA La mayor parte de las personas que probaron el juego opinaron que ste ten a una complejidad elevada para dificultar la victoria al jugador lo suficiente Aunque opinaron que hacian falta cambios en algunas posiciones defensivas as como la velocidad de los jugadores Tras realizar los cambios propuesto los colaboradores se mostraron m s contentos con los resultados 54 7 4 Pruebas de interfaz Conforme se realizaban las distintas pantallas referentes a los men s que podemos encontrar en el juego se realizaban pruebas exhaustivas sobre la interacci n entre stas Sobre todo se comprobaban que las interfaces fueran intuitivas y claras As como comprobar la coherencia de elementos cambiantes como el sonido o el volumen de ste Se comprob que la interfaz era bastante simple y no era necesario ning n manual de usuario para poder navegar sobre ella El sistema de opciones no admite valores err neos 55 56 Cap tulo 8 Conclusiones En esta secci n se comentar n las distintas conclusiones que se han obtenido tras la finalizaci n del proyecto F
12. n a El objeto juego est en estado Playing Postcondiciones El objeto player pl deja de poseer el bal n El objeto player p2 es el nuevo poseedor del bal n 31 Caso de uso Pasar Bal n escenario 2a Usuario Sistema PasarBal n Bal n impulsado Figura 4 16 An lisis Diagrama de secuencia Pasar Bal n escenario 2a Operaci n PasarBalon Actores Jugador sistema Responsabilidades hace que el jugador pase el bal n su orientaci n actual Precondiciones Existe un objeto pl de Player perteneciente al SoccerTeam s que posea el bal n a El objeto juego est en estado Playing Postcondiciones El objeto player pl deja de poseer el bal n El bal n es impulsado en la direcci n en la que est mirando el jugador pl 32 Caso de uso Pasar Bal n escenario 3a Usuario Sistema PasarBal n Bal n impulsado Oponente recibe Figura 4 17 An lisis Diagrama de secuencia Pasar Bal n escenario 3a Operaci n PasarBalon Actores Jugador sistema Responsabilidades hace que el jugador pase el bal n Precondiciones Existe un objeto pl de Player perteneciente al SoccerTeam s1 que posea el bal n a Existe un objeto p2 de Player perteneciente al SoccerTeam s2 que no posee el bal n a El objeto juego est en estado Playing Postcondiciones a El objeto player pl deja de poseer el bal n El objeto player p2 intercepta el bal n 33 Caso de uso Chutar Bal n
13. n y formato Cuando nos refiramos a un programa o biblioteca en concreto utilizaremos la notaci n Ogre Cuando nos refiramos a un fragmento de c digo usaremos la notaci n print Hola mundo Cuando nos refiramos a alg n comando introducido en la terminal usaremos la notaci n sudo apt get install VI ndice general 1 Introducci n Li cas IE UD TODISUNOS di ai cae be dos dd OE eh a a to Re AE ES 1 3 Estructura del documento 2 4 aos cs as so racore wa RA aa Ge Qa aw eS 2 Descripci n general del proyecto 2 IDESCHIPCION se esans aca gome aoa Seale ey a a I eR Aa ew a ea SE 2 2 Caracter sticas del videojuego ee 2 21 Blementosde JUEZ 2 4 Taboas de des amp ew oy aed cd 23 Colaboradores i 4 4 au ee he a a a ara ed 3 Planificaci n 3 1 Faseimicial lt eo 24 cha ba a de a a la a a a 9 2 Base de analisis oa se daaa aa ae a ee a 3 34 Fase Aprendizaje ac aoa 2 4 arado OP ew eke ae Ral eda Ho gw we doa wa 3 4 Faseide desamoll 22 4 8 2 Ade a hee ee RE ee aE AYRE oO 39 Pruebas y Correcciones a un a ee a da 3 6 Redacci n de la memoria o a ca sa va sad wa aa sascha 3 7 Diagrama de Gante s as ae bike wald a A Ae a aa 4 An lisis 4 1 Especificaci n de requisitos del sistema LL LL LL LL nenn 4 1 1 Requisitos de interfaces externas sss 2622 ee ee RER 4 1 2 Requisitos funcionales e e e 2 ob E A nen 41 3 Requisitos de rendimiento x s uw wen a Oe E
14. realizar la simulaci n en las mismas circunstacias adelantando as el tiempo que tardar Esta operaci n se convierte en la m s costosa del sistema 6 2 Inteligencia artificial Otro de los aspectos m s importantes y complejos de un videojuego de las caracter sticas de F tbol Es As es la inteligencia artificial ya que uno de los dos equipos ser dirigido por el ordenador Para poder 45 simular el comportamiento de los futbolistas o de un conjunto de ellos se han implementado un conjunto de estados y comportamientos 6 2 1 Jugadores Los comportamientos m s b sicos de los futbolistas son a Perseguir Mueve al cuerpo hacia la posici n destino Figura 6 1 Implementaci n Seek Este comportamiento se usa especialmente en el estado ChaseBallza sea porque el oponente posee el bal n o porque este ltimo est libre Predecir Mueve al cuerpo en la direcci n en la que el bal n se encontrar en el futuro seg n la velocidad de ste y la distancia entre ellos 46 Figura 6 2 Implementaci n Pursuit Interponerse Mueve al cuerpo a la posici n situada entre ste y otro cuerpo LOC Figura 6 3 Implementaci n Interpose La IA tambi n implementa la decisi n de los futbolistas a la hora de realizar un pase o un disparo escogiendo el destino y la potencia seg n la distancia El flujo de selecci n del futbolista cuando tiene la posesi n del bal n es el siguiente 47 Est prep
15. tbol Es As 8 1 Resumen de objetivos En primer lugar comentar que es el primer proyecto de estas caracter sticas al que me enfrento en solitario Es evidente que su realizaci n no me ha dejado indiferente No ha sido f cil construir una idea clara sobre lo que se quer a hacer As como solucionar los distintos problemas que han ido apareciendo a lo largo del desarrollo de este Tambi n decir que el proyecto me ha ocupado bastante m s tiempo del esperado en un principio Tuve muchos problemas y dudas en algunas fases del desarrollo de proyecto que me tuvieron bloqueado durante un tiempo hasta encontrar la soluci n m s adecuada para stos He sido capaz de adentrarme a mirar Se puede decir que con este proyecto he aprendido much simo en todas y cada una de los aspectos y fases que lo componen destacando sobre el resto el dise o de este tipo de sistema c mo interact an sus componentes y c mo implementar esto de manera elegante y flexible 8 2 Conclusiones personales Durante el desarrollo del proyecto se han aprendido much simas cosas como hacer distintas ramas de desarrollo plantear y crear calendarios usar las herramientas adecuadas hacer decisiones importantes para el desarrollo de este documentaci n del c digo organizaci n etc Ya que durante la carrera se han realizado distintas pr cticas y trabajos de complejidad pero nada con el tama o y duraci n que requiere un Proyecto de fin de carrera Una vez finaliza
16. y todo el contenido 2D de elaboraci n propia Figura A 4 Herramientas utilizadas Logo de Gimp A 9 Sistema de control de versiones Todo el c digo y recursos de F tbol Es Asi esta alojado en el sistema que proporciona Redlris que consiste en un entorno completo usando el sistema de control de versiones subversion Nos permite llevar todas las versiones y visualizar todos los cambios que se han producido durante todo el desarrollo del proyecto entre los distintos archivos del mismo asf como poder volver a ver siones anteriores en caso de necesidad y cualquier operaci n que permita cualquier sistema de control de versiones Se evaluaron otros sistema de control de versiones como pueden ser GIT o mercurial pero finalmente me decant por subversion ya que pens en la inscripci n en el Concurso Nacional de Software Libre que requiere usar Redlris 61 A 10 Documentaci n del c digo Para la documentaci n del c digo me decant por usar Doxygen esta permite la documentaci n sen cilla y legible de todo el c digo generando la documentaci n en varios formatos como puede ser HTML o PDF Tambi n comentar que dicha herramienta se us en proyectos anteriores con resultados muy satisfac torios A 11 Redacci n de la memoria Para la completa realizaci n de la memoria se ha usado IEX Es un sistema de composici n de textos orientado especialmente a la creaci n de libros documentos cient ficos y t cnicos que con
17. 009 864 p ISBN 978 1568814131 67 68 GNU Free Documentation License Version 1 3 3 November 2008 Copyright 2000 2001 2002 2007 2008 Free Software Foundation Inc lt http fsf org gt Everyone is permitted to copy and distribute verbatim copies of this license document but changing it is not allowed Preamble The purpose of this License is to make a manual textbook or other functional and useful document free in the sense of freedom to assure everyone the effective freedom to copy and redistribute it with or without modifying it either commercially or noncommercially Secondarily this License preserves for the author and publisher a way to get credit for their work while not being considered responsible for modifications made by others This License is a kind of copyleft which means that derivative works of the document must themselves be free in the same sense It complements the GNU General Public License which is a copyleft license designed for free software We have designed this License in order to use it for manuals for free software because free software needs free documentation a free program should come with manuals providing the same freedoms that the software does But this License is not limited to software manuals it can be used for any textual work regardless of subject matter or whether it is published as a printed book We recommend this License principally for works whose purpose i
18. Ninguna Postcondiciones El usuario completa un partido Escenario principal 1 El sistema carga el escenario los jugadores el bal n y las porter as 2 El sistema muestra la pantalla de juego 3 El usuario y el sistema interact an durante el partido 4 El usuario completa el partido 19 5 Elsistema muestra un mensaje fin de partido y vuelve al men principal Extensiones flujo alternativo a El usuario cierra la ventana de la aplicaci n y sale de la aplicaci n Caso de uso Pausar Caso de uso Pausar Descripci n El usuario selecciona pausar el juego y puede reanudarlo o volver al men principal Actores Usuario Precondiciones Se est jugando una carrera Postcondiciones Ninguna Escenario principal 1 Elusuario pulsa el bot n de pausa 2 Elsistema detiene todos los elementos del juego y muestra el men de pausa 3 Elusuario pulsa la opci n reanudar 4 Elsistema reanudar la carrera Extensiones flujo alternativo a El usuario cierra la ventana de la aplicaci n y sale de la aplicaci n b El usuario pulsa la opci n men 1 El sistema vuelve al men principal Caso de uso Mover jugador Caso de uso Mover jugador Descripci n El usuario desplaza al futbolista seleccionado por el terreno de juego Actores Usuario Precondiciones Se est jugando un partido y hay un futbolista seleccionado Postcondiciones Ninguna Escenario principal 1 El usuario pulsa sobre una de los botones de m
19. Opebn 13A0W Gr os igs a apn 2ut gt SONP31I Jap e e ASpn1 gt uTt e 4 apn out 7 gt edpuud nuaw gt pn gt ur P e e e e gt apn aur ee eo e apniout opiueg sebnf a e Y ouensn Figura 4 5 An lisis Diagrama de casos de uso 18 4 2 2 Descripci n de los casos de uso A continuaci n pasamos a la descripci n de cada uno de los casos de uso para la cual usaremos una notaci n forma usando plantillas El texto debe ser legible y comprendido por un usuario que no sea experto Caso de uso Men principal Caso de uso Men principal Descripci n Se muestra el men principal de la aplicaci n donde es posible elegir entre jugar ver los cr ditos o salir Actores Usuario Precondiciones Ninguna Postcondiciones Ninguna Escenario principal 1 Elusuario inicia la aplicaci n 2 Elsistema muestra el men principal del juego en pantalla 3 El usuario selecciona la opci n jugar 4 El sistema inicia el juego Extensiones flujo alternativo a El usuario cierra la ventana de la aplicaci n y sale de la aplicaci n 2a El usuario selecci n la opci n cr ditos 1 El sistema inicia la opci n cr ditos 2c El usuario selecci n la opci n salir 1 El sistema sale de la aplicaci n Caso de uso Jugar partido Caso de uso Jugar partido Descripci n El usuario juega un partido Actores Usuario Precondiciones
20. WY UCA Universidad de Cadiz ESCUELA SUPERIOR DE INGENIERIA INGENIERIA TECNICA EN INFORMATICA DE GESTION FUTBOL ES ASI Alberto Cejas Sanchez 16 de febrero de 2013 SY UCA Universidad de C diz ESCUELA SUPERIOR DE INGENIER A INGENIERO T CNICO EN INFORM TICA DE SISTEMAS F tbol Es As Departamento Ingenier a Inform tica Director del proyecto Manuel Palomo Duarte Autor del proyecto Alberto Cejas S nchez C diz 16 de febrero de 2013 Fdo Alberto Cejas S nchez Agradecimientos Aunque el desarrollo ha sido largo y por momentos tedioso agradecer al tutor Manuel Palomo por la motivaci n necesaria a adentrarme a un proyecto de esta envergadura del cual sin duda he aprendido bastante Debo mencionar tambi n a Mat Buckland autor de 1 el libro que he usado como base para todo este proyecto II Licencia Este documento ha sido liberado bajo Licencia GFDL 1 3 GNU Free Documentation License Se in cluyen los t rminos de la licencia en ingl s al final del mismo Copyright c 2013 Alberto Cejas S nchez Permission is granted to copy distribute and or modify this document under the terms of the GNU Free Documentation License Version 1 3 or any later version published by the Free Software Foundation with no Invariant Sections no Front Cover Texts and no Back Cover Texts A copy of the license is included in the section entitled GNU Free Documentation License I IV Notaci
21. a ChutarBal n Bal n impulsado Figura 4 20 An lisis Diagrama de secuencia Chutar Bal n escenario 3c Operaci n ChutarBalon Actores Jugador sistema Responsabilidades hace que el jugador chute el bal n hacia su orientaci n actual Precondiciones a Existe un objeto pl de Player perteneciente al SoccerTeam s1 que posea el bal n a El objeto juego est en estado Playing Postcondiciones El objeto player pl deja de poseer el bal n El marcador del SoccerTeam s1 se incrementa en una unidad 36 Caso de uso Chutar Bal n escenario 3d Usuario Sistema ChutarBal n Bal n impulsado Fuera Figura 4 21 An lisis Diagrama de secuencia Chutar Bal n escenario 3d Operaci n ChutarBalon Actores Jugador sistema Responsabilidades hace que el jugador chute el bal n hacia su orientaci n actual Precondiciones a Existe un objeto pl de Player perteneciente al SoccerTeam s1 que posea el bal n a El objeto juego est en estado Playing Postcondiciones a El objeto player p1 deja de poseer el bal n El bal n es impulsado y sale inmediatamente fuera 37 Caso de uso Cr ditos escenario principal PantallaCreditos SeleccionarMenu CambiarEstado menu principal Figura 4 22 An lisis Diagrama de secuencia Cr ditos escenario principal Operaci n PantallaCr ditos Actores Jugador sistema Responsabilidades crea y muestra la pantalla de cr ditos
22. a cabo la reproducci n del sonido se emple SDLMixer una extensi n de la famosa librer a SDL Destaca por su sencillez y flexibilidad siguiendo el patr n de libre multiplataforma y eficiente A 6 Interfaz La interfaz de los men s se llev a cabo a trav s de MYGUT una librer a multiplataforma libre y muy sencilla A pesar de no ser la m s completa se ajustaba a las necesidades del proyecto A 7 Blender La elecci n del programa de edici n 3D era tambi n importante ya que deb a poder exportarse todo el contenido al motor de renderizado Ogre Tras una investigaci n previa me decid por Blender 60 Blender es un programa inform tico libre multiplataforma dedicado especialmente al modelado ani maci n y creaci n de gr ficos tridimensionales Tiene una extensa comunidad y cuenta con multitud de documentaci n audiovisual que facilitan el complicado aprendizaje de la herramienta En el foro oficial de Ogre se desarroll un exportador de Blender a Ogre que aunque cuenta con multitud de bugs acab cumpliendo con su cometido b sico X blender Figura A 3 Herramientas utilizadas Logo de Blender A 8 Gimp GIMP GNU Image Manipulation Program es un programa de edici n de imagenes digitales en forma de mapa de bits tanto dibujos como fotograf as Es un programa libre y gratuito Est englobado en el proyecto GNU y disponible bajo la Licencia p blica general de GNU Con l se han realizado texturas botones
23. a e e e o o ee ee 66 XII Cap tulo 1 Introducci n 1 1 Motivaci n La idea de desarrollar un videojuego de f tbol auna mis dos intereses principales la inform tica y el balompi Adem s de incorporar un componente creativo y paralelamente iniciarme un poco en el mundo art stico del dise o 3D Tambi n he de a adir que tras conocer abiertamente el mundo del Software libre gracias a la impor tancia que se le presta en la Universidad de C diz Se decidi que el proyecto fuera software libre bajo licencia GPL v3 Y as cualquier persona interesada en el desarrollo de videojuegos y en el software libre en general pudiera usar los recursos del proyecto libremente 1 2 Objetivos El objetivo principal del proyecto es realizar un videojuego sencillo de f tbol en tres dimensiones que me permita aprender los distintos campos que componen el desarrollo de videojuegos y las simulaciones Los destinatarios principales del videojuego son los jugadores casuales que dedican poco tiempo jugando debido a que carece de trama argumental u objetivos trofeos 1 3 Estructura del documento Este documento esta compuesto por las siguientes partes Introducci n peque a descripci n del proyecto as como los objetivos y estructura del docu mento Descripci n general descripci n m s amplia sobre el proyecto as como todas las caracter sticas relevantes que tendr Planificaci n exposici n de la planificaci
24. a opciones de pase Para ello busca el oponente que est justo delante suya y regatea hacia la izquierda si ste est a la derecha del regateador o regatea hacia la derecha si el oponente est a la izquierda suya Adem s de buscar apoyo los jugadores sin la posesi n del bal n act an de alguna de las siguientes maneras Perseguir bal n Utilizando el comportamiento Perseguir descrito anteriormente persigue al bal n si es el jugador de su equipo m s cercano al esf rico Volver a su regi n origen Utilizando el comportamiento perseguir el jugador toma como obje tivo su posici n original en el campo Proteger porter a En el caso de los porteros haciendo uso del comportamiento nterponerse se coloca a una distancia fija de la l nea de gol protegiendo sta de las amenazas rivales seg n la posici n de stos 50 Interceptar bal n En el caso de los porteros haciendo uso del comportamiento Predecir in terceptar el bal n en la posici n futura en la que estar este Esperar En caso de que el futbolista no tenga ninguna responsabilidad espera acontecimientos 6 2 2 Equipos Adem s de los comportamientos individuales de los futbolistas cada equipo puede adoptar tres tipos distintos de comportamiento seg n las circunstancias del juego Atacar Posiciona a los futbolistas en regiones del campo adelantadas con respecto a su porter a a Defender Posiciona a los futbolistas en regiones del cam
25. a que no tenga que compartir recursos con otros procesos por lo que se permitir que consuma muchos recursos del sistema 4 1 5 Requisitos del sistema software La aplicaci n deber cumplir los siguiente requisitos del sistema Deber ser multiplataforma al menos en los siguiente sistemas e Microsoft Windows e GNU Linux usando la distribuci n Ubuntu 12 10 como principal sistema para pruebas El c digo con el que se desarrolle la aplicaci n no debe ser dependiente del sistema en el que se desarrolle a El c digo debe ser mantenible y f cilmente ampliable para futuras versiones 4 2 Modelo de casos de uso Para describir los distintos comportamientos que tendr el sistema usaremos el lenguaje de modelado de sistemas UML que representa los requisitos funcionales del sistema centrando en que hace y no c mo lo hace 4 2 1 Diagrama de los casos de uso En primer lugar mostramos el modelo de casos de uso figura 4 5 que representa la funcionalidad completa de la aplicaci n Se ha usado el siguiente esquema 1 Identificar los usuarios del sistema y los roles que pueden tener 2 Para cada rol identificar las distintas formas de interactuar en el sistema En el caso de F tbol Es As existe un nico rol de acceso a la aplicaci n por lo que la especificaci n del usuario ser nica 3 Creaci n de los casos de uso para todos los objetivos que queramos cumplir 4 Estructurar dichos casos de uso 17 J
26. all of the same material does not give you any rights to use it 10 FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new revised versions of the GNU Free Documentation License from time to time Such new versions will be similar in spirit to the present version but may differ in detail to address new problems or concerns See http www gnu org copyleft Each version of the License is given a distinguishing version number If the Document specifies that a particular numbered version of this License or any later version applies to it you have the option of following the terms and conditions either of that specified version or of any later version that has been published not as a draft by the Free Software Foundation If the Document does not specify a version number of this License you may choose any version ever published not as a draft by the Free Software Foundation If the Document specifies that a proxy can decide which future versions of this License can be used that proxy s public statement of acceptance of a version permanently authorizes you to choose that version for the Document 11 RELICENSING Massive Multiauthor Collaboration Site or MMC Site means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works A public wiki that anybody can edit is an example of such a server A Massive Multiauthor Collaborati
27. alled Opaque Examples of suitable formats for Transparent copies include plain ASCII without markup Texinfo input format LaTeX input format SGML or XML using a publicly available DTD and standard conforming simple HTML PostScript or PDF designed for human modification Examples of transparent image formats include PNG XCF and JPG Opaque formats include proprietary formats that can be read and edited only by proprietary word processors SGML or XML for which the DTD and or processing tools are not generally available and the machine generated HTML PostScript or PDF produced by some word processors for output purposes only The Title Page means for a printed book the title page itself plus such following pages as are needed to hold legibly the material this License requires to appear in the title page For works in formats which do not have any title page as such Title Page means the text near the most prominent appearance of the work s title preceding the beginning of the body of the text The publisher means any person or entity that distributes copies of the Document to the public A section Entitled XYZ means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language Here XYZ stands for a specific section name mentioned below such as Acknowledgements Dedications Endorsements or History
28. anscurrido del partido A partir de este momento el juego se controlar a trav s de un joystick con los siguientes controles Equis Pasar bal n Cuadrado Golpear el bal n de forma gradual seg n tiempo de pulsaci n Start Men Pausa L1 Cambiar Jugador R1 Correr Direcci n Direcci n en la que moverse 66 Bibliograf a 1 Mat Buckland Programming Game AI by Example 2004 495 p ISBN 978 1556220784 2 Gregory Junker Pro OGRE 3D Programming 2006 284 p ISBN 978 1590597101 3 F Kerger OGRE 3D 1 7 Beginner s Guide 2010 300 p ISBN 978 1849512480 4 VideoTutoriales Modelado Texturizado Rigging y Animaci n en Blender http cgcookie com blender 5 P gina oficial de la herramienta para documentar c digo Doxygen http www stack nl dimitri doxygen 6 Gu a para la generaci n de la memoria del Proyecto Fin de Carrera http osl2 uca es wikiformacion index php LaTeX_para_Proyecto_ Fin_de_Carrera 7 a Referencia del lenguaje de programaci n C http www cplusplus com reference 8 P gina sobre la herramienta de generaci n de diagramas Dia http projects gnome org dia 9 P gina sobre la herramienta para realizar bocetos Pencil Project http pencil evolus vn en US Home aspx 10 P gina oficial de la herramienta de edici n de im genes GIMP http www gimp org 11 Jason Gregory Game Engine Architecture 2
29. arado Es viable disparar Buscar Apoyo Figura 6 4 Implementaci n Flujo posesi n Como se puede apreciar en la imagen anterior el flujo de ejecuci n es seleccionado seg n unas condi ciones Est Preparado Indica si el futbolista est preparado para realizar alguna acci n ya que siem pre que controla el esf rico debe dejar pasar un peque o tiempo para que los movimientos no sean inmediatos a Es Viable Disparar Indica si el futbolista tiene una opci n certera de disparar para ello genera tres posibles disparos estableciendo como objetivos tres posiciones aleatorias de la porter a Es viable si e El bal n tiene fuerza suficiente para llegar a la l nea de gol e El bal n no puede ser interceptado por los futbolistas rivales Concretamente ning n jugador rival incluyendo el portero puede llegar intersectando perpendicularmente a la l nea recta que une al receptor y al pasador antes que el bal n Tal que 48 A Y Yp v Ma Figura 6 5 Implementaci n Disparo viable fuente 1 Est Amenazado Si hay un oponente lo suficientemente cerca del poseedor del bal n dentro de un radio espec fico desde la posici n actual de ste a Es Viable Pasar Indica si el futbolista tiene una opci n certera de pasar para ello comprueba tres posibles pases para cada receptor El primero hacia la posici n actual exacta del receptor el segundo y tercero tienen como destino las dos tan
30. decidi usar C como lenguaje principal me decant por la biblioteca gr fica Ogre3D sta es una biblioteca multiplataforma de c digo abierto para C que permite a los desarrolladores crear manejar y mostrar escenas tridimensionales utilizando aceleraci n por hardware Como ventaja principal uso extenso uso la gran comunidad que tiene y la extensa documentaci n Adem s de la integraci n con software de modelado texturizado y animaci n como Blender 59 Figura A 1 Herramientas utilizadas Logo de Ogre3D Al ser una biblioteca orientada a objetos su manejo es bastante sencillo representando la escena como un rbol Otra virtud es la flexibilidad que ofrece con su API y la facilidad de instalaci n ya que se puede encontrar en los repositorios oficiales de distribuciones como Ubuntu A 3 F sicas y colisiones Se opt por Bullet como librer a de f sicas y colisiones ya que es libre multiplataforma flexible opti mizada con gran comunidad y documentaci n Posiblemente la biblioteca libre m s completa En este proyecto se utiliza se utiliza en su mayor a su integraci n en el wrapper OgreBullet PHYSICS LIBRARY Figura A 2 Herramientas utilizadas Logo de Bullet A 4 Gesti n entrada de usuario Para detectar la entrada de usuario y manejarla sobre todo el joystick se opt por OIS Object Oriented Input System que tambi n cumple con ser libre multiplataforma flexible y eficiente A 5 Sonido Para llevar
31. do ste creo que tengo la experiencia necesaria para afrontar otro proyecto con un resultado mucho m s brillante Adem s a adir a que este proyecto me ha preparado para enfrentarme al mundo laboral y concreta mente al mbito en el que me gustar a trabajar teniendo una idea previa de la arquitectura herramientas y patrones que se utilizan a menudo para el desarrollo profesional Puedo decir que he profundizado y consolidado bastante en el lenguaje de programaci n c Adem s he aprendido a manejar bibliotecas externas as como entender su documentaci n y c mo integrarlas en un proyecto 57 En definitiva este proyecto me ha hecho madurar como persona y estudiante He aprendido a buscar bibliograf a opiniones en otras personas compartir ideas seguir un horario y enfrentarme a un proyecto de estas caracter sticas 8 3 Mejoras y ampliaciones Las posibles mejoras y ampliaciones que se podr an a adir al proyecto en futuras versiones se co mentan a continuaci n Modo de dos jugadores a adir la posibilidad de que jueguen dos jugadores el mismo partido Modo en red tambi n ser a una buena idea a adir un modo de juego en el que pudi semos jugar en red contra otros oponentes Mayor diversidad de regates a adir regates y animaciones que dotar an al juego de una mejor presencia Crear ambiente a adir un estadio con personas y efectos de sonido simulando un mbiente futbol stico Grabaci n de la
32. e dise aba el arte del juego Con lo que esta etapa se subdivide a su vez en tres e Modelado Se trata de la composici n del personaje sobre un boceto a papel a trav s de pol gonos intentando usar el menor n mero de ellos para as optimizar el rendimiento Un ejemplo del proceso sobre la vista lateral de la cara del futbolista Figura 3 1 Planificaci n Aprendizaje modelado cara futbolista e Texturizado Este proceso a su vez se subdivide en dos partes La primera consiste en en volver al personaje 3D sobre una manta 2D e ir marcando con zonas cerradas qu parte del plano 2D corresponde a las zonas del cuerpo del futbolista Como se puede apreciar en la imagen siguiente Figura 3 2 Planificaci n Aprendizaje texturizado seaming Una vez conocemos ya la subvdivisi n de islas del plano 2D se procede al texturizado como tal Figura 3 3 Planificaci n Aprendizaje texturizado e Animaci n Al igual que el anterior este proceso a su vez se subdivide en otras dos partes La primera consiste en crear una malla con movilidad que permita usarse como esqueleto del modelo que se ve Adem s cada hueso del esqueleto debe tener un peso concreto en los v rtices del modelo y algunos deber n moverse en cadena Figura 3 4 Planificaci n Aprendizaje rigging Una vez el cuerpo reacciona de manera adecuada a los movimientos del esqueleto se crean las animaciones realizando interpolaciones entre disntos keyframes para
33. econdary Sections whose titles are designated as being those of Invariant Sections in the notice that says that the Document is released under this License If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant The Document may contain zero Invariant Sections If the Document does not identify any Invariant Sections then there are none The Cover Texts are certain short passages of text that are listed as Front Cover Texts or Back Cover Texts in the notice that says that the Document is released under this License A Front Cover Text may be at most 5 words and a Back Cover Text may be at most 25 words A Transparent copy of the Document means a machine readable copy represented in a format whose specification is available to the general public that is suitable for revising the document straightforward ly with generic text editors or for images composed of pixels generic paint programs or for drawings some widely available drawing editor and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters A copy made in an otherwise Transparent file format whose markup or absence of markup has been arranged to thwart or discourage subsequent modification by readers is not Transparent An image format is not Transparent if used for any substantial amount of text A copy that is not Transparent is c
34. el c digo fuente del repositorio del juego en la forja de RedIRIS svn checkout https forja rediris es svn cusl5 fea El videojuego cuenta con las siguientes dependencias libogre dev a libsdl1 2 dev a libsdl mixer1 2 dev mygui libbullet dev Se instalar n las dependencias utilizando el gestor de paquetes Posteriormente instalar OgreBullet tal y como describo en esta url http osl2 uca es iberogre index php Colisiones_y_F C3 ADsicas_con_OgreBullet Una vez est n instaladas todas las dependencias se procede a ejecutar sobre el directorio del proyecto make futbolesasi 63 64 Ap ndice C Manual de usuario C 1 Men principal Desde el men principal se podr acceder al modo partido de F tbol Es As y la informaci n sobre los desarrolladores del proyecto Figura C 1 Manual de usuario Men principal Debe usar el rat n para seleccionar la opci n que desee Adem s se podr silenciar la m sica del men pulsado en el icono del volumen C 2 Pantalla de juego Una vez comencemos un partido pasaremos a la pantalla de juego 65 Figura C 2 Manual de usuario Pantalla de juego En la imagen anterior podemos ver las distintas partes de las que se compone la interfaz de la pantalla de juego A continuaci n se describen cada una de ellas a Marcador en la parte superior izquierda el marcador actual del partido Cron metro en la parte superior izquierda encontramos el tiempo tr
35. es El objeto juego est en estado Playing Existe un objeto de InputManager Existe un objeto de SoccerTeam s Existe un objeto de Player seleccionado perteneciente al equipo s Postcondiciones Se modifica la posici n del objeto Player Caso de uso Mover futbolista escenario 1a Usuario Sistema MoverFutbolista RAPIDO Jugador desplazado y orientado Figura 4 14 An lisis Diagrama de secuencia Mover futbolista escenario la 30 Operaci n MoverFutbolista Actores Jugador sistema Responsabilidades mueve al personaje por el mundo 3D Precondiciones El objeto juego est en estado Playing Existe un objeto de InputManager a Existe un objeto de SoccerTeam s Existe un objeto de Player seleccionado perteneciente al equipo s Elusuario tiene pulsado el bot n RI Postcondiciones Se modifica la posici n del objeto Player m s r pido Caso de uso Pasar Bal n escenario principal Usuario Sistema PasarBal n Bal n impulsado Receptor recibe Figura 4 15 An lisis Diagrama de secuencia Pasar Bal n escenario principal Operaci n PasarBalon Actores Jugador sistema Responsabilidades hace que el jugador pase el bal n hacia el receptor m s cercano en su orientaci n actual Precondiciones Existe un objeto pl de Player perteneciente al SoccerTeam s que posea el bal n a Existe un objeto p2 de Player perteneciente al SoccerTeam s que no posea el bal
36. gentes a un radio espec fico desde la posici n actual exacta del jugador Tal que Passer e e Os i TS gt Receiver Q ipl Figura 6 6 Implementaci n Pase viable fuente 1 Estos tres pases son viables si e El bal n tiene fuerza suficiente para llegar al destino e El bal n no puede ser interceptado por los futbolistas rivales Concretamente ning n jugador rival puede llegar intersectando perpendicularmente a la l nea recta que une al receptor y al pasador antes que el bal n 49 De todos los posibles pases considerados como viables se elige el que tenga como destino una posici n m s cercana a la porter a contraria Adem s de los saltos condicionales hay dos operaciones que describen dos comportamientos de los futbolistas a Buscar Apoyo Determina el jugador que est m s cerca del punto de apoyo que m s puntuaci n tiene en ese momento y se le mensajea para que cambie su estado a SupportAttacker Los puntos de apoyo son posiciones preestablecidas que se encuentran dentro del terreno de juego tal que Figura 6 7 Implementaci n Puntos de apoyo fuente 1 La puntuaci n se otorga seg n e Se puede pasar hacia esa posici n desde la posici n del receptor 2 puntos e Se puede marcar desde esa posici n 1 punto para evitar tiros lejanos e Lejan a respecto del pasador 2 puntos base creciente seg n distancia Regatear Permite al futbolista continuar la jugada en caso de que no teng
37. gramaci n del mismo se ha realizado de forma indi vidual En cambio otros apartados como el dise o gr fico se ha contado con la colaboraci n de otra persona y la m sica se ha obtenido de Internet concretamente de Jamendo y freeSFX la p gina de m sica libre publicadas bajo licencias Creative Commons Los cr ditos de juego son los siguientes Desarrollador Alberto Cejas S nchez Dise ador Gr fico Erik Castillo Alberto Cejas S nchez Blender models com Terreno de juego Erik Castillo Monta as blender models com a mountain village Modelado Dise o Animaci n Texturizado futbolistas Alberto Cejas S nchez Modelado Texturizado bal n Alberto Cejas S nchez Modelado Texturizado porter a Alberto Cejas S nchez M sica paper planes pilot Jamendo freesfx co uk Cap tulo 3 Planificaci n La planificaci n realizada para el desarrollo del proyecto est dividida en varias partes 3 1 Fase inicial La primera fase consisti en plantear la idea del proyecto con la ayuda del tutor Tras varias propuestas y la deliberaci n sobre las mismas se decidi realizar este proyecto debido a las motivaciones escritas anteriormente Tambi n se pens en que lenguaje se desarrollar a el proyecto as como las principales bibliotecas que se usar an durante la realizaci n del mismo Buscando siempre opciones libres y multiplataforma 3 2 Fase de an lisis Esta etapa est dividida principalmente e
38. gura 5 1 Dise o Captura de la interfaz del sistema 5 1 1 Diagrama de interacci n entre interfaces En la imagen que se muestra a continuaci n podemos observar la interacci n entre las distintas inter faces gr ficas que se han desarrollado para la aplicaci n 39 Men principal Pantalla de Juego Figura 5 2 Dise o Diagrama de interacci n 5 2 Diagrama de clases de dise o Dividiremos el diagrama de clases de dise o en dos partes para verlo con una mayor claridad dicha separaci n se basar en el cometido de las clases que interfieran En primer lugar mostraremos las clases encargadas de la navegaci n entre los men s y la pantalla de Juego que corresponden a los distintos estados que puede adoptar el juego StateMachine Owner StateMachine lt Game gt lt gt O State lt Game gt Currentgtate A ee A PrevipusState A es SoccerTeam aa InputManager Figura 5 3 Dise o Diagrama de clases de dise o 1 En el segundo diagrama mostraremos todas las clases relacionas con el sistema de juego Podremos observar los distintos objetos que intervienen en el juego as como la jerarqu a de estos Y tambi n todas las clases necesarias para el correcto funcionamiento del juego 40 speyymoddns azerssackeidiegolo Ilegaseuyuo Suprem 6unsau Burssed neganaray eonpuaL 11e93d3 gt 133u1 UOI63Oy3WOoHOLUANY gt Y aje3s1uafin
39. ipal Operaci n PausarJuego Actores Jugador sistema Responsabilidades pausa el juego y detiene todos los elementos de este Precondiciones El objeto juego est en estado Playing Postcondiciones Se activa y se hace visible el panel de pausa Operaci n ReanudarJuego Actores Jugador sistema Responsabilidades reanuda la partida y quita el men de pausa Precondiciones El objeto juego est en estado Playing El partido estaba pausado Postcondiciones Se desactiva el panel de pausa y se hace invisible 28 Caso de uso Pausar escenario b Pausarjuego Pantalla de pausa VolverMenuPrincipal CambiarEstado Menu principal Figura 4 12 An lisis Diagrama de secuencia escenario b Operaci n VolverMenuPrincipal Actores Jugador sistema Responsabilidades se el partido actual y se vuelve al men principal Precondiciones El objeto juego est en estado Playing El panel de pause est activado y visible Postcondiciones Se libera la memoria ocupada por los elementos del partido y se desactiva el men de pausa 29 Caso de uso Mover futbolista escenario principal Usuario Sistema MoverFutbolista NORMAL Jugador desplazado y orientado Figura 4 13 An lisis Diagrama de secuencia Mover futbolista escenario principal Operaci n MoverFutbolista Actores Jugador sistema Responsabilidades mueve al personaje por el mundo 3D Precondicion
40. le por la l nea de fondo 1 El portero oponente saca de puerta 3d El bal n sale por la l nea lateral 1 El equipo contrario saca de banda en la posici n por la que sali el bal n Caso de uso Ver Cr ditos Caso de uso Ver Cr ditos Descripci n Se muestran la pantalla de cr ditos donde se reflejan los creadores del juego Actores Usuario Precondiciones Ninguna Postcondiciones Ninguna Escenario principal 1 El sistema muestra la pantalla de cr ditos 2 El usuario pulsa la opci n volver 3 El sistema vuelve al men principal Extensiones flujo alternativo a El usuario cierra la ventana de la aplicaci n y sale de la aplicaci n Caso de uso Salir Caso de uso Salir Descripci n El usuario desea cerrar la aplicaci n Actores Usuario Precondiciones Ninguna Postcondiciones Se sale de la aplicaci n Escenario principal 1 El usuario desea salir de la aplicaci n y pulsa la opci n salir del men principal 2 El sistema cierra la aplicaci n Extensiones flujo alternativo a El usuario cierra la ventana de la aplicaci n y sale de la aplicaci n 22 4 3 Modelo conceptual de datos Este apartado del an lisis sirve para especificar los requisitos del sistema y las relaciones est ticas que existen entre ellos Para este fin se utiliza como herramienta los diagramas de clase En estos diagramas se representan las clases de objetos las asociaciones entre dichas clases los atributos que c
41. lt Bweg gt ayersAyrug NoTABAd 4ay gt yeds qa essaw welbaja T s bess wp e1 q Sze Ss 1eqo19 Joyeinsjeyyodsynoddns 4adaayleog 41 I uesllsmaosl aaa a A Pare ee Pate uo 634 Ayyu3aseg En ambos diagramas de clases de pueden apreciar un conjuntos de clases que no est n relacionadas con ninguna otra del diagrama Estas clases a las que nos referimos siguen un patr n Singleton que permite que cualquier clases pueda acceder a ella desde cualquier parte del sistema S lo existir una nica instancia de cada una de las clases Singleton que se crear en la primera llamada que se realice a ellas A continuaci n se muestra una lista con las diferentes clases necesarias para la realizaci n de sistema Junto a cada una de las clases habr una peque a descripci n sobre la labor que desempe a cada una Game Clase principal de la aplicaci n encargada de inicializar el sistema y el flujo entre unos apartados y otros StateMachine Clase con las necesidades b sicas de una m quina de estados para el juego en si EntityStateMachine Clase con las necesidades b sicas de una m quina de estados para los jugadores State Clase con las necesidades b sicas de los estados del juego o los personajes Playing Clase encargada de gestionar el juego del partido MainMenu Clase que gestiona el men principal Credits Clase que gestiona el men de selecci n de personaje Base Entity Clase virtual que re
42. ma de secuencia Ment principal escenario 2b Operaci n SeleccionarSalir Actores Jugador sistema Responsabilidades Salir de ment principal y salir de la aplicaci n Precondiciones El aut mata juego est en estado MainMenu Postcondiciones Se elimina el objeto Game 26 Caso de uso Jugar partido escenario principal Usuario Sistema Pantallajuego Interactuar End Of Match CambiarEstado Menu principal Figura 4 10 An lisis Diagrama de secuencia Jugar partido escenario principal Operaci n PantallaJuego Actores Jugador sistema Responsabilidades carga muestra e inicia la pantalla de juego Precondiciones Ninguna Postcondiciones Se crea un objeto de Playing Se crea un objeto de SoccerPitch Se crea un objeto de Player por cada futblista especializando en los porteros en GoalKeeper Se crea un objeto de Ball a Se crean dos objetos de Goal Operaci n Interactuar Actores Jugador sistema Responsabilidades permite al jugador interactuar con el mundo 3D y los elementos que este posee Precondiciones a El juego est en estado Playing Existen objetos Player estando uno de ellos seleccionado por el Jugador Postcondiciones Ninguna 27 Caso de uso Pausar escenario principal Usuario Sistema Pausarjuego Pantalla de pausa Reanudarjuego Vuelve al juego Figura 4 11 An lisis Diagrama de secuencia Pausar escenario princ
43. me of the original author or publisher of that section if known or else a unique number Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work In the combination you must combine any sections Entitled History in the various original documents forming one section Entitled History likewise combine any sections Entitled Acknowledgements and any sections Entitled Dedications You must delete all sections Entitled Endorsements 6 COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License and replace the individual copies of this License in the various documents with a single copy that is included in the collection provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects You may extract a single document from such a collection and distribute it individually under this License provided you insert a copy of this License into the extracted document and follow this License in all other respects regarding verbatim copying of that document 7 AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works in or on a volume of a storage or distribution medium is called an aggregate if the copyright resulting from the compilation is not used t
44. n trados Tambi n esta disponible toda la documentaci n del proyecto generada con doxygen Aqu un enlace al directorio de dicha documentaci n https forja rediris es plugins scmsvn viewcvs php trunk doc html root cusl5 fea 6 1 F sicas y Colisiones La detecci n de las colisiones es una de las cosas m s b sicas de la mayor a de los juegos y m s a n en los deportivos ya que la pelota cobra especial protagonismo al interactuar con todos los jugadores el campo y las porter as Adem s hay que tratar las colisiones entre futbolistas y de stos con los postes de la porter a Debido a la complejidad del espacio 3D en el que hay que tener en cuenta factores m s complejos co mo el bote del bal n o la direcci n en la que sale despedido ste cuando choca con la porter a se opt por Bullet OgreBullet de manera que todo esto se manejase autom ticamente Sin embargo esta liberaci n de la responsabilidad de tratar estas colisiones introduce una dificultad adicional la integraci n de la librer a con el sistema y la interactuaci n con las imprevisibles actividades realizadas por el usuario El principal problema encontrado es la necesidad de conocer c anto tiempo tardar el bal n en alcanzar una posici n si se le aplica una fuerza Esta funcionalidad no es soportada por ninguna librer a de f sicas libre por lo que al resultar imposible aproximarlo por f rmulas matem ticas se tuvo que crear un mundo f sico paralelo y
45. n lisis Diagrama de casos de uso 2 2 2 Comm 18 An lisis Diagrama de clases conceptuales o oo o 23 An lisis Diagrama de secuencia Men principal escenario principal 24 An lisis Diagrama de secuencia Men principal escenario 2a 2 22200 25 An lisis Diagrama de secuencia Men principal escenario 20 26 An lisis Diagrama de secuencia Jugar partido escenario principal 27 An lisis Diagrama de secuencia Pausar escenario principal 28 An lisis Diagrama de secuencia escenario b ooo oo 29 An lisis Diagrama de secuencia Mover futbolista escenario principal 30 An lisis Diagrama de secuencia Mover futbolista escenario la 30 An lisis Diagrama de secuencia Pasar Bal n escenario principal 31 An lisis Diagrama de secuencia Pasar Bal n escenario 2a 32 An lisis Diagrama de secuencia Pasar Bal n escenario 3a 33 An lisis Diagrama de secuencia Chutar Bal n escenario principal 34 An lisis Diagrama de secuencia Chutar Bal n escenario 3a 35 An lisis Diagrama de secuencia Chutar Bal n escenario 30 36 An lisis Diagrama de secuencia Chutar Bal n escenario 3d 37 An lisis Diagrama de secuencia Cr ditos escenario principal 38 Dise o Captura de la interfaz del si
46. n del proyecto y las distintas etapas que esta com puesto el mismo An lisis fase de an lisis del sistema empleando la metodolog a seleccionada Se definir n los requisitos funcionales del sistema diagramas de caso de uso diagramas de secuencia y contrato de las operaciones Dise o realizaci n del dise o del sistema diagramas de secuencia y clases aplicadas al dise o Implementaci n aspectos m s relevantes durante la implementaci n del proyecto Y problemas que han aparecido durante el desarrollo de este Pruebas y validaciones pruebas realizada a la aplicaci n con el fin de comprobar su correcto funcionamiento y cumplimiento de las expectativas Conclusiones conclusiones obtenidas tras el desarrollo de la aplicaci n Ap ndices e Herramientas utilizadas explicaci n de todas las herramientas usadas a lo largo del desar rollo del proyecto e Manual de instalaci n manual para la correcta instalaci n del proyecto en el sistema e Manual de usuario manual de usuario para el correcto uso de la aplicaci n nuevos estados a los futbolistas a Bibliograf a libros y referencias consultado durante el desarrollo del proyecto a Licencia GNU GFDL texto completo sobre la licencia GNU GFDL Cap tulo 2 Descripci n general del proyecto 2 1 Descripci n El proyecto consiste en un juego sencillo y din mico de f tbol en tres dimensiones con equipos de 5 Vs 5 en el que el jugador deber competir co
47. n el mismo ofreciendo sus opiniones sobre aspectos que deber an ser modificados o errores que aparec an a lo largo de la ejecuci n del juego Se hicieron pruebas sobre la interfaz a medida que se implementaba el men de juego donde se probaban la reacci n de esto ante situaciones para las que no estaban pensado su uso En definitiva la organizaci n de los casos de pruebas fue la siguiente 1 Tras finalizar la implementaci n de cada m dulo se realizaban pruebas unitarias sobre estos 2 A medida que distintos m dulo que anteriormente probados individualmente deb an colaborar entre ellos se llevaban a cabo pruebas de integraci n 3 Con las distintas versiones jugables se realizaban pruebas de jugabilidad 4 Pruebas de interfaz sobre el men que se implement 7 1 Pruebas unitarias Esta pruebas se realizaron junto a la fase de implementaci n conforme se implementaban nuevos m dulos necesarios para la aplicaci n se realizaban pruebas individuales sobre estos m dulos De esta forma se buscaban todos los caminos posibles que podr a dar cada m dulo teniendo en cuenta aquellos que fueran m s predispuesto a fallos 53 De esta forma todas las sentencias se ejecutaban como m nimo una vez y los posibles fallos se encon traban de una forma m s sencilla Por lo que tambi n eran m s f cil localizar donde estaba el problema y afrontar la soluci n de este 7 2 Pruebas de integraci n Conforme aparec an nuevos m d
48. n las dos partes siguiente Especificaci n de los requisitos estudio de los requisitos que deber cumplir el juego Recurso necesarios recursos necesarios que deberemos usar durante el desarrollo del proyecto 3 3 Fase Aprendizaje Dado que el proyecto abarca un campo que hasta ahora no hab a tocado como es el mundo de los videojuegos ten a que aprender los principales conceptos de stos as como cada una de las librer as empleadas que a su vez inclu an conceptos matem ticos y f sicos Paralelamente deb a aprender a mod elar texturizar y animar en 3D Esta fase se extendi a lo largo de bastante tiempo y para la cual le varios libros intent entender c digo ya escrito y ver videotutoriales acerca del manejo en general y en particular de herramientas 3D Por lo tanto esta fase se dividi en tres etapas principales Aprendizaje del desarrollo de videojuegos Al no tener experiencia previa en este campo decid adentrarme leyendo 1 que adem s conten a c digo fuente para a adirle un punto m s pr ctico Y es que este libro toca muchos palos de los videojuegos desde la arquitectura de ste para hacerla funcional y extensible como la propia inteligencia artificial con muchas ideas para aplicar sobre un juego de f tbol a Aprendizaje del arte fue la tarea m s ardua ya que no hab a tenido ning n conctacto antes con los conceptos ni con las herramientas Para optimizar el tiempo decid aprender a la vez qu
49. ntra el ordenador Figura 2 1 Descripci n Logo FEA 2 2 Caracter sticas del videojuego El videojuego ofrece una alternativa libre y gratuita para jugar a un juego de f tbol en tres dimen siones teniendo en cuenta que en los repositorios oficiales de distribuciones UNIX como Ubuntu no existe ninguna opci n El nico modo de juego disponible es jugador contra ordenador que auna la complejidad de ambos y su interacci n en el flujo de la ejecuci n del videojuego Este modo de partido r pido tendr una duraci n de 5 minutos 2 2 1 Elementos de juego En esta secci n se har una peque a descripci n de los distintos elementos que encontraremos a lo largo del juego Futbolistas Los elementos b sicos del juego son los encargados de interactuar entre s y con el bal n Dependien do de si pertenecen al equipo local o al equipo visitante emplear n un uniforme u otro y ser n manejados por el jugador o el ordenador Cada uno podr tener caracter sticas propias tales como la velocidad o la potencia de golpeo Figura 2 2 Descripci n Futbolista de FEA Bal n Un elemento b sico en el f tbol y que en este proyecto podr interactuar con los futbolistas y con el entorno reaccionando cuando sale del campo entra en la porter a o choca con un poste de sta r O Figura 2 3 Descripci n Bal n FEA modelos High y Low Poly gt 2 3 Colaboradores Todo el apartado del proyecto referente a la pro
50. o A Equipo B ARES Terreno de Juegc Figura 4 4 An lisis Boceto de men de pausa 4 1 2 Requisitos funcionales Los requisitos funcionales que el sistema debe ofrecer son los siguientes a Salir de la aplicaci n desde cualquier ventana Ver cr ditos Jugar Pausar el juego Pasar bal n Chutar bal n Mover Jugador Los distintos tipos de jugadores son Humano es el controlado por una persona M quina controlado por el ordenador Existe un nico modo de juego a Partido r pido consiste en la realizaci n de un partido de 5 minutos disputado entre el ordenador y la m quina 16 4 1 3 Requisitos de rendimiento El rendimiento de la aplicaci n debe ser tal que permita un desempe o agradable de juego Por lo que la respuesta a las acciones realizadas por el usuario deben ser respondidas lo m s r pido posible sacrificando en el caso de que sea necesario el consumo de la memoria principal Lainteligencia artificial debe estar optimizada de forma que no se ralentice la partida en el tiempo dedicado a los c lculos necesarios para tomar decisiones 4 1 4 Restricciones de dise o Como comento en uno de los puntos del apartado anterior el tiempo de respuesta tiene que primar sobre el consumo de memoria principal o secundaria Esta ser la principal restricci n de dise o que tendr nuestra aplicaci n Los videojuegos est n pensados como aplicaci n principal de form
51. o limit the legal rights of the compilation s users beyond what the individual works permit When the Document is included in an aggregate this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document If the Cover Text requirement of section 3 is applicable to these copies of the Document then if the Document is less than one half of the entire aggregate the Document s Cover Texts may be placed on covers that bracket the Document within the aggregate or the electronic equivalent of covers if the Document is in electronic form Otherwise they must appear on printed covers that bracket the whole aggregate 8 TRANSLATION Translation is considered a kind of modification so you may distribute translations of the Document under the terms of section 4 Replacing Invariant Sections with translations requires special permis sion from their copyright holders but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections You may include a translation of this License and all the license notices in the Document and any Warranty Disclaimers provided that you also include the original English version of this License and the original versions of those notices and disclaimers In case of a disagreement between the translation and the original version of this License or a notice or disclaimer the original version will prevail
52. omponen las clases y las relaciones de integridad 4 3 1 Diagrama de clases conceptuales En la siguiente imagen podemos ver el diagrama de clases asociado a los requisitos obtenidos Se muestran las clases relacionadas con la pantalla de juego y su relaci n con el men principal y cr ditos as como las clases principales que intervienen en la gesti n de la pantalla de juego i Agent 7 Juego Maquina de Estados seat M quinaEstados lt Juego gt 2 Entidad Estado lt Juego gt CAS ES A A Porteria _2 E Region Controlador ComportamientosDirigidos 1 Jugador er E Owner StateMachine 1 Portero MaquinaEstadosEntidades lt Jugador gt lt gt 3 EstadoEntidad lt Jugador gt Figura 4 6 An lisis Diagrama de clases conceptuales 4 4 Modelo de comportamiento del sistema El modelo de comportamiento especifica como debe actuar el sistema El sistema es el que engloba todos los objetos y el modelo consta de dos partes Diagramas de secuencias del sistema muestran la secuencia de eventos entre el usuario y el sis tema Contrato de las operaciones del sistema describen el efecto que producen las operaciones en el sistema 4 4 1 Diagramas de secuencia y contrato de las operaciones del sistema No todos los posibles diagramas de secuencia aparecer n nos centraremos en los m s importantes los que implican alg n tipo de cambio en el sistema Caso de uso
53. on or MMC contained in the site means any set of copyrightable works thus published on the MMC site CC BY SA means the Creative Commons Attribution Share Alike 3 0 license published by Creative Commons Corporation a not for profit corporation with a principal place of business in San Francisco California as well as future copyleft versions of that license published by that same organization Incorporate means to publish or republish a Document in whole or in part as part of another Docu ment An MMC is eligible for relicensing if it is licensed under this License and if all works that were first published under this License somewhere other than this MMC and subsequently incorporated in whole or in part into the MMC 1 had no cover texts or invariant sections and 2 were thus incorporated prior to November 1 2008 The operator of an MMC Site may republish an MMC contained in the site under CC BY SA on the same site at any time before August 1 2009 provided the MMC is eligible for relicensing ADDENDUM How to use this License for your documents 74 To use this License in a document you have written include a copy of the License in the document and put the following copyright and license notices just after the title page Copyright YEAR YOUR NAME Permission is granted to copy distribute and or modify this document under the terms of the GNU Free Documentation License Version 1 3 or any later versi
54. on published by the Free Software Foundation with no Invariant Sections no Front Cover Texts and no Back Cover Texts A copy of the license is included in the section entitled GNU Free Documentation License If you have Invariant Sections Front Cover Texts and Back Cover Texts replace the with Texts line with this with the Invariant Sections being LIST THEIR TITLES with the Front Cover Texts being LIST and with the Back Cover Texts being LIST If you have Invariant Sections without Cover Texts or some other combination of the three merge those two alternatives to suit the situation If your document contains nontrivial examples of program code we recommend releasing these exam ples in parallel under your choice of free software license such as the GNU General Public License to permit their use in free software 75
55. or 3a El bal n es interceptado por un miembro del equipo contrario 1 El oponente controla el bal n 3b El bal n es interceptado por otro miembro del mismo equipo 1 El otro jugador controla el bal n Caso de uso Chutar Bal n Caso de uso Chutar Bal n Descripci n El usuario desplaza al futbolista seleccionado por el terreno de juego Actores Usuario Precondiciones Se est jugando un partido hay un futbolista seleccionado y ste posee el bal n Postcondiciones Ninguna Escenario principal 1 El usuario pulsa el bot n cuadrado del joystick durante un tiempo concreto 2 El sistema ejerce una fuerza sobre el bal n acorde al tiempo que se ha mantenido pulsado el bot n cuadrado en la direcci n en la que est mirando el lanzador 3 El portero contrario intercepta el disparo y controla el esf rico Extensiones flujo alternativo a El usuario cierra la ventana de la aplicaci n y sale de la aplicaci n 21 3a El bal n es interceptado por un jugador de campo y su potencia o altura impiden el control por parte del futbolista 1 Elsistema hace rebotar al bal n en la orientaci n adecuada 3b EI bal n es interceptado por un jugador de campo y su potencia o altura permiten el control por parte del futbolista 1 El futbolista controla el bal n 3c El bal n entra en la porter a 1 El marcador del equipo del lanzador se incrementa en una unidad y el equipo contrario saca de centro 3d El bal n sa
56. ovimiento de la cruceta del joystick 2 El sistema mueve al futbolista en la direcci n seleccionada 3 El sistema comprueba que no ha colisionado con otro cuerpo Extensiones flujo alternativo a El usuario cierra la ventana de la aplicaci n y sale de la aplicaci n la El usuario pulsa el bot n R1 al mismo tiempo que la direcci n 1 El futbolista se mueve a mayor velocidad en la direcci n indicada 3a El sistema detecta que ha colisionado con un oponente compa ero o porter a 1 El sistema corrige la posici n del futbolista 20 Caso de uso Pasar Bal n Caso de uso Pasar Bal n Descripci n El usuario ordena al futbolista seleccionado a ejecutar un pase en su orientaci n actual Actores Usuario Precondiciones Se est jugando un partido hay un futbolista seleccionado y ste posee el bal n Postcondiciones Ninguna Escenario principal 1 El usuario pulsa el bot n X del joystick 2 El sistema ejerce una fuerza sobre el bal n en la direcci n del miembro del mismo equipo que recibe siendo ste el m s pr ximo a la orientaci n actual del pasador 3 El receptor controla el bal n Extensiones flujo alternativo a El usuario cierra la ventana de la aplicaci n y sale de la aplicaci n 2a El sistema detecta que no hay ning n miembro del equipo cercano a la orientaci n actual del pasador 1 El sistema ejerce una fuerza sobre el bal n en la direcci n a la que actualmente est mirando el pasad
57. po cercanas a su porter a Figura 6 8 Implementaci n Atacar y Defender Balon parado Posiciona a los futbolistas en las regiones adecuadas seg n el tipo de saque puerta centro banda corner Adem s deshabilita deshabilita el resto de comportamientos hasta que no se saque 51 Figura 6 9 Implementaci n Bal n Parado 52 Cap tulo 7 Pruebas El dise o de casos de pruebas para un videojuego es algo complicado no s lo para F tbol Es As si no para la mayor a de los distintos tipos de videojuegos existentes Esto se debe a que estamos en un escenario simulando como interact an much simos elementos entre s Pero las pruebas son algo necesario si deseamos un software con una calidad aceptable Todos los m dulos que componen la aplicaci n han sido probados individualmente como pueden ser aquellos m dulos encargados de la inteligencia artificial o la gesti n de los partidos Tambi n se realizaron muchas pruebas de integraci n ya que hab a m dulos una vez probado en solitario deb an realizar distintas acciones junto con otros m dulos Como pueden ser las colisiones y f sicas o la entrada del usuario Esto requer a de mucho esfuerzo ya que se empleaban librer as externas sumado a que la entrada del usuario es imprevisible y su interactuaci n con el entorno debe ser aceptable Otras pruebas que se realizaron fueron las de jugabilidad tanto yo como personas ajenas al desarrollo de proyecto probaro
58. presenta las entidades del juego Ball Clase que representa el bal n Goal Clase que representa la porter a Player Clase que gestiona al futbolista GoalKeeper Clase especializada de Player para gestionar lo exclusivo de los porteros InputManager Clase encargada de manejar la entrada del usuario ParamLoader Clase encargada de cargar par metros predefinidos en un documento de texto SoccerTeam Clase que gestiona un equipo MessageDispatcher Clase encargada de enviar mensajes entre entidades del juego Region Clase que representa cada una de las zonas en las que est subdivido el terreno de juego SteeringBehaviors Clase encargada de gestionar los comportamientos de los futbolistas Song Clase para representar las canciones que suenen en el men principal Telegram Clase que representa el contenido de un mensaje entre entidades Attacking Clase que gestiona el comportamiento de un equipo de f btol cuando est atacando Deffending Clase que gestiona el comportamiento de un equipo de f btol cuando est defendiendo PrepareForKickOff Clase que gestiona el comportamiento de un equipo de f btol cuando hay un saque de banda corner centro o porter a 42 SupportSpot Clase que que representa los puntos de apoyo imaginarios dibujados sobre el terreno de Juego SoccerPitch Clase que que representa el terreno de juego GlobalPlayerState Clase que que representa el estado global de un futbolista Resting Clase que que representa el e
59. r Texts you must enclose the copies in covers that carry clearly and legibly all these Cover Texts Front Cover Texts on the front cover and Back Cover Texts on the back cover Both covers must also clearly and legibly identify you as the publisher of these copies The front cover must present the full title with all words of the title equally prominent and visible You may add other material on the covers in addition Copying with changes limited to the covers as long as they preserve the title of the Document and satisfy these conditions can be treated as verbatim copying in other respects If the required texts for either cover are too voluminous to fit legibly you should put the first ones listed as many as fit reasonably on the actual cover and continue the rest onto adjacent pages If you publish or distribute Opaque copies of the Document numbering more than 100 you must either include a machine readable Transparent copy along with each Opaque copy or state in or with each Opaque copy a computer network location from which the general network using public has access to download using public standard network protocols a complete Transparent copy of the Document free of added material If you use the latter option you must take reasonably prudent steps when you begin distribution of Opaque copies in quantity to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time
60. ra el men de inicio de F tbol Es Asi as como todas las opciones generales del juego disponibles que son las siguientes Jugar Creditos Salir En este men y en los siguiente que se describan se usar el rat n para navegar por ellos y solo ser necesario hacer click sobre la opci n deseada para acceder a ella 13 F tbol Es As Jugar Cr ditos Salir Figura 4 1 An lisis Boceto del men principal Ventana de cr ditos En esta pantalla figura 4 2 se mostrar n los creadores de F tbol Es As Ten dremos a nuestra disposici n un bot n para volver al men principal F tbol Es As Cr ditos Dise o y Programaci n Alberto Cejas S nchez Nombre Apellido1 Apellido2 Volver al Men Sonido Nombre Apellido1 Apellido2 Figura 4 2 An lisis Boceto de la pantalla de cr ditos Ventana de juego Ventana principal de todo el juego figura 4 3 Mostrar el partido actual que se est 14 dispuntando as como el marcador y el cron metro Se podr acceder al men de pausa pusando el bot n pause del joystick F tbol Es As olx EA po 0 0 Terreno de Juegc Figura 4 3 An lisis Boceto de ventana de juego Ventana de pausa Unicamente accesible desde la ventana de juego figura 4 4 Esta nos permitir detener el juego en curso siendo posible reanudar el juego o volver al men principal 15 F tbol Es As ox Equip
61. rsion as the publisher Preserve all the copyright notices of the Document Add an appropriate copyright notice for your modifications adjacent to the other copyright notices mi ee Mo Include immediately after the copyright notices a license notice giving the public permission to use the Modified Version under the terms of this License in the form shown in the Addendum below G Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document s license notice 71 H Include an unaltered copy of this License I Preserve the section Entitled History Preserve its Title and add to it an item stating at least the title year new authors and publisher of the Modified Version as given on the Title Page If there is no section Entitled History in the Document create one stating the title year authors and publisher of the Document as given on its Title Page then add an item describing the Modified Version as stated in the previous sentence J Preserve the network location if any given in the Document for public access to a Transparent copy of the Document and likewise the network locations given in the Document for previous versions it was based on These may be placed in the History section You may omit a network location for a work that was published at least four years before the Document itself or if the original publisher of the version it refer
62. s instruction or reference 1 APPLICABILITY AND DEFINITIONS This License applies to any manual or other work in any medium that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License Such a notice grants a world wide royalty free license unlimited in duration to use that work under the conditions stated herein The Document below refers to any such manual or work Any member of the public is a licensee and is addressed as you You accept the license if you copy modify or distribute the work in a way requiring permission under copyright law A Modified Version of the Document means any work containing the Document or a portion of it either copied verbatim or with modifications and or translated into another language A Secondary Section is a named appendix or a front matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document s overall subject or to related matters and contains nothing that could fall directly within that overall subject Thus if the Document is in part a textbook of mathematics a Secondary Section may not explain any mathematics The relationship could be a matter of historical connection with the subject or with related matters or of legal commercial philosophical ethical or political position regarding them 69 The Invariant Sections are certain S
63. s mejores jugadas para repetirlas implementar una opci n que grabara las jugadas de gol almacen ndolas en un fichero y as poder visualizarlas posteriormente 58 Ap ndice A Herramientas utilizadas A 1 Lenguaje de programaci n Una de las decisiones m s importante que consideraba a la hora de desarrolla el proyecto era la elecci n de un lenguaje de programaci n adecuado y que cumpliera todas las expectativas necesarias Opt por C debido a 1 Lenguaje que hemos visto y aprendido a lo largo de toda la carrera y con m s profundidad en la asignatura de Programaci n Orientada a Objetos Por lo que ya se ten a una soltura y conocimien tos previos que no se tenfan con ning n otro lenguaje 2 Lenguaje compilado por lo que su velocidad y eficiencia es mucho mayor que la de otros lengua jes Aspectos muy a tener en cuenta a la hora de desarrollar un videojuego 3 Multiplataforma 4 Conjunto de bibliotecas est ndar muy amplias y muy bien documentadas Esta eficiencia y velocidad se hace aun m s necesaria en el desarrollo de videojuegos 3D ya que demandan altas exigencias A 2 Motor de renderizado Tras la decisi n final del lenguaje de programaci n que se usarfa a lo largo de todo el desarrollo del proyecto la siguiente decisi n de gran importancia que se deb a tomar era la elecci n demotor de renderizado que usarfamos en F tbol es Ast En este caso se tuvo clara la elecci n desde el momento en el que se
64. s to gives permission K For any section Entitled Acknowledgements or Dedications Preserve the Title of the section and preserve in the section all the substance and tone of each of the contributor acknowledgements and or dedications given therein L Preserve all the Invariant Sections of the Document unaltered in their text and in their titles Section numbers or the equivalent are not considered part of the section titles M Delete any section Entitled Endorsements Such a section may not be included in the Modified Version N Do not retitle any existing section to be Entitled Endorsements or to conflict in title with any Invariant Section O Preserve any Warranty Disclaimers If the Modified Version includes new front matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document you may at your option designate some or all of these sections as invariant To do this add their titles to the list of Invariant Sections in the Modified Version s license notice These titles must be distinct from any other section titles You may add a section Entitled Endorsements provided it contains nothing but endorsements of your Modified Version by various parties for example statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard You may add a passage of up to five words as a Front Cover Tex
65. stado de no hacer nada en un futbolista Walking Clase que que representa el estado de andar en un futbolista ChaseBall Clase que que representa el estado de perseguir el bal n en un futbolista KickBall Clase que que representa el estado de intentar disparar a puerta en un futbolista Dribble Clase que que representa el estado de regatear en un futbolista SupportAttacker Clase que que representa el estado de apoyar desmarcarse en un futbolista KickOff Clase que que representa el estado de sacar de banda corner centro porter a en un futbolista Wait Clase que que representa el estado de esperar en un futbolista ReturnToHomeRegion Clase que que representa el estado de volver a la posici n que ocupa en el campo en un futbolista ReceiveBall Clase que que representa el estado de recibir un pase en un futbolista TendGoal Clase que que representa el estado de cubrir la porter a en un portero InterceptBall Clase que que representa el estado de interceptar un bal n en un portero Running Clase que que representa el estado de correr en un futbolista Passing Clase que que representa el estado de pasar en un futbolista 43 44 Cap tulo 6 Implementaci n Durante todo el desarrollo del proyecto han ido aparenciendo diversas dificultades y problemas que se debieron ir resolviendo para el correcto y continuo avance del proyecto Por lo que en este cap tulo se exlicar n las distintas soluciones para los principales problemas enco
66. stema o oo 39 Dise o Diagrama de Interacci n lt s s a kee Erna ee 40 Dise o Diagrama de clases de dise o l oo e 40 Dise o Diagrama de clases de dise o 2 o oo e ee ee 41 Implementaci n Seek 2 444 4 feud He pa aa ee eek Sad be ws 46 6 2 6 3 6 4 6 5 6 6 6 7 6 8 6 9 AT A 2 A 3 AA AS A 6 CL C 2 Implementaci n Pursuit tobera hades 2a Pho e SS ee aS Whe Ge 47 Implementaci n Interpose cs s ra moaia naar et ee nen 47 Implementaci n Flujo posesi n gt 5 aia nun eran a 48 Implementaci n Disparo viable fuente 1 o a AE a S 49 Implementaci n Pase viable fuente 1 24 eae ed a don ae a a eS 49 Implementaci n Puntos de apoyo fuente 1 2 2 Cum nennen 50 Implementaci n Atacar y Defender 2 2 CC mm onen 51 Implementaci n Bal n Parado s e e ee ee a 52 Herramientas utilizadas Logo de Ogre3D LL LL LL LL LL RE 60 Herramientas utilizadas Logo de Bullet 2 LL LL LL non 60 Herramientas utilizadas Logo de Blender oo o 61 Herramientas utilizadas Logo de Gimp o o e eee 61 Herramientas utilizadas Logo de TEX o o e e 62 Herramientas utilizadas Logo de Dia o e e e 62 Manual de usuario Men principal o o e e e 65 Manual de usuario Pantalla de Juego o oc
67. t and a passage of up to 25 words as a Back Cover Text to the end of the list of Cover Texts in the Modified Version Only one passage of Front Cover Text and one of Back Cover Text may be added by or through arrangements made by any one entity If the Document already includes a cover text for the same cover previously added by you or by arrangement made by the same entity you are acting on behalf of you may not add another but you may replace the old one on explicit permission from the previous publisher that added the old one The author s and publisher s of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version 5 COMBINING DOCUMENTS You may combine the Document with other documents released under this License under the terms defined in section 4 above for modified versions provided that you include in the combination all of the Invariant Sections of all of the original documents unmodified and list them all as Invariant Sections of your combined work in its license notice and that you preserve all their Warranty Disclaimers 72 The combined work need only contain one copy of this License and multiple identical Invariant Sections may be replaced with a single copy If there are multiple Invariant Sections with the same name but different contents make the title of each such section unique by adding at the end of it in parentheses the na
68. tengan f rmulas matem ticas Figura A 5 Herramientas utilizadas Logo de IAIEX IXT X es un sistema de composici n de textos que est formado mayoritariamente por rdenes macros construidas a partir de comandos de TeX IAIFXes una herramienta pr ctica y til pues a su facilidad de uso se une toda la potencia de TeX A 12 Realizaci n de diagramas Dia Para la realizaci n de todos los diagramas necesarios que aparecen a lo largo de toda la memoria se ha usado el creador de diagramas Dia Dia es un programa de creaci n de diagramas en GNU Linux MacOS X Unix y Windows bajo la licencia GPL Puede ser utilizado para dibujar diferentes tipos de diagramas Actualmente cuenta con herramientas para dibujar diagramas entidad relaci n diagramas UML diagramas de flujo diagramas de red y muchos otros diagramas Figura A 6 Herramientas utilizadas Logo de Dia 62 Ap ndice B Manual de instalaci n B 1 Linux Ubuntu Desde c digo fuente Debido a la alta complejidad de empaquetar un proyecto en Ogre a un deb se procede a explicar como instalarlo a partir del c digo fuente Para poder ejecutar F tbol Es As desde el c digo fuente ser necesario la instalaci n de varias dependencias para el correcto funcionamiento de la aplicaci n En primer lugar hay que descargar SVN para instalarlo ejecutamos la siguiente orden en una termi nal sudo apt get install subversion En segundo lugar debes descargar
69. ulos cuya implementaci n era necesaria y a su vez estos requer an el uso de otro m dulos que posteriormente hab an sido probados individualmente se realizaban pruebas de integraci n entre dichos m dulos Conforme se avanzaba en el desarrollo de F tbol Es As se realizaban pruebas de integraci n a mayor escala No solo entre m dulos del mismo sistema sino entre varios sistemas del juego En este apartado los principales problemas se encontraron a la hora de integrar las librer as externas con el sistema sobre todo la librer a de f sicas y colisiones que practicamente supusieron la mayor parte del tiempo de pruebas 7 3 Pruebas de jugabilidad Cada vez que estaban disponibles nuevas versiones jugables del juego se ped an la ayuda a personas totalmente ajenas al desarrollo de la aplicaci n que probaran las distintas demos disponibles De esta forma cada uno de los colaboradores daba su opini n sobre distintos aspectos como la jugabilidad dificultad respuesta del juego o nivel de la inteligencia artificial Tras recopilar la informaci n que todos ellos proporcionaron se proced a a realizar los ajustes necesarios a los distintos par metros requeridos la mayor a de ellos recogidos en Params ini Entre los distintos aspectos a probar que se le recomendaban a los colaboradores que hicieran especial hincapi son los siguiente F sicas se les ped a que comprobar n las potencias de disparo pase seg n la distancia y
70. you distribute an Opaque copy directly or through your agents or retailers of that edition to the public It is requested but not required that you contact the authors of the Document well before redistribut ing any large number of copies to give them a chance to provide you with an updated version of the Document 4 MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above provided that you release the Modified Version under precisely this License with the Modified Version filling the role of the Document thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it In addition you must do these things in the Modified Version A Use in the Title Page and on the covers if any a title distinct from that of the Document and from those of previous versions which should if there were any be listed in the History section of the Document You may use the same title as a previous version if the original publisher of that version gives permission B List on the Title Page as authors one or more persons or entities responsible for authorship of the modifications in the Modified Version together with at least five of the principal authors of the Document all of its principal authors if it has fewer than five unless they release you from this requirement State on the Title page the name of the publisher of the Modified Ve
71. z de men s de la que est compuesto el juego men principal cr ditos pausa resultado actual del partido etc Inteligencia artificial posiblemente el punto m s complejo del proyecto ya que tendr compor tamientos espec ficos de los jugadores as como de los equipos Dotar al juego de facilidad de ampliaci n Integraci n del sonido La insercci n de m sica en el men principal o efectos de sonido al golpear el bal n 3 5 Pruebas y correcciones Una de las etapas m s importantes si no es la que m s del desarrollo de cualquier proyecto Esta etapa se realizar a en paralelo a la de desarrollo ya que conforme se implementan nuevas funcionalidades deb an ser probadas exhaustivamente en cualquiera de las posibles situaciones que pudiera suceder hasta obtener el comportamiento esperado 10 3 6 Redacci n de la memoria La redacci n de la memoria se ha redactado conforme se iba avanzando en el desarrollo del proyecto Pero tras la finalizaci n de este se le ha dedicado m s tiempo a su finalizaci n corrigiendo puntos que finalmente no se han adecuado al producto final 3 7 Diagrama de Gantt A continuaci n se muestra la planificaci n anteriormente comentada en su correspondiente diagrama de Gantt 11 ed 20 eLIOWSW e ap UOMIEPaY MN E ing ap sauonnjos seqanid S m ayy Jejyajdwo gt Sb ta zeJJ3Ju 3 snuaW vb en jenynse enuabnaul Er tn J0151 03 A SE21SIJ ap J0J0W Tr eee
Download Pdf Manuals
Related Search
Related Contents
IGMP スヌーピング ストレイトネス(STRAIGHTNESS) Automatic sewing machine User Manual Garmin GTX 330 Wheelchair User Manual Jurisprudence du droit des médias 2e semestre 2012 MC-377 Manual Copyright © All rights reserved.
Failed to retrieve file