1 / 13

Introducción ORTS

Introducción ORTS. Modelado y Comportamiento de Personajes MIGJRV 2011-2012 Luis Peña. ORTS. Arquitectura Cliente / Servidor Múltiples plataformas: Windows, Linux, Mac??? Recomendado usar Linux. Creación modular de controladores Fácil de instalar ?. http:// skatgame.net / mburo / orts /.

kennan
Download Presentation

Introducción ORTS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introducción ORTS Modelado y Comportamiento de Personajes MIGJRV 2011-2012 Luis Peña

  2. ORTS • Arquitectura Cliente / Servidor • Múltiples plataformas: Windows, Linux, Mac??? • Recomendado usar Linux. • Creación modular de controladores • Fácil de instalar ? http://skatgame.net/mburo/orts/

  3. Instalación • Dos opciones • Descargar el DailySnap: • http://skatgame.net/mburo/orts/src_snapshot/snap.html • Descargar del SVN • svn co svn://anonymous@skatgame.net:/all/pubsoft/orts • svn co svn://anonymous@skatgame.net:/all/pubsoft/orts_data • Password: guest • Sólo es necesario el orts. El paquete de ORTS_DATA es necesario si quieres levantar el interfaz 3D (no necesario para la práctica)

  4. Linux • Se requieren las librerías: • Boostlibrary, SDL, SDL_net, zlib, OpenGL, glew, andfreeglut. • Sobre ubuntu: • apt-getinstalllibboost-devlibsdl-devlibsdl-net1.2-dev zlib1-dev freeglut3-dev libglew1.5-dev

  5. Windows • Para windows es necesario descargar el fichero que viene en la página • http://skatgame.net/mburo/orts/files/windows/win32.zip • Teóricamente no requiere librerías para hacerlo funcionar, pero si requiere que se creen los ejecutables orts.exe • Para poder compilar función en VisualStudio 2008 (creo que para 2010, etc también… pero no lo hemos probado) • Es necesario crear una solución (.sln) para VisualStudio y compilar desde ahí.

  6. Desarrollo • La práctica consistirá en desarrollar un controlador para un torneo entre IA’s. • Para montar el entorno de desarrollo aconsejo emplear eclipse (Linux) o VisualStudio(Win), pero no incluyáis dentro del entorno el SVN. • Cread un proyecto con todas las fuentes del paquete ORTS (directorio orts/trunk/) así tendréis todas las clases del sistema.

  7. Desarrollo • Para crear un cliente que maneje a un bando debemos crear un directorio dentro de la carpeta <ORTS>/apps. • Os recomiendo crearos una copia de una IA básica llamada sample. • Es necesario que nombréis las carpetas con un nómbre en minúsculas y que en la memoria indiquéis claramente el nombre de la IA.

  8. Desarrollo. Estructura del Directorio • Ejemplo: destoyer • destroyer/ • GRUPO.txt <En este fichero se incluirán los nombre de los miembros del grupo. • MEMORIA.pdf (.doc) < Memoria explicativa de las decisiones de diseño de la IA • src/ • app.mk < Hay que modificarlo (ver siguiente trasparencia) • destroyer_main.C <Debe tener el mismo nombre de la IA + _main • SampleEventHandler.C (.H) < Manejador de los eventos (donde empezaremos a codificar /mirar)

  9. Desarrollo. Fichero app.mk Nombre de la IA APP_DIR := destroyer APP_LIBS := kernel networkserverclientgfxclientai/lowkmlocalmapterrainpathfinding/simple_terrainpathfinding/dcdt/se pathfinding/dcdt/srpathfinding/triangulationpathfinding/triangulation/gfxclientai/movement APP_EXT_HD += APP_EXT_LIBS := APP := $(APP_DIR) includeconfig/app.rules Librerías que empleemos. Es posible que no queramos liarnos empleando muchas. Pero ya hay bastantes cosas hechas. Mirad un poco 

  10. Desarrollo. Clase EventHandler.C • Es la que se encarga de analizar cada vez que se producen cambios en el entorno. • Se invoca cada Tick de actualización y espera a que se actualice la acción de cada objeto controlado por esta IA dentro del Tick. • Nos interesa el método compute_actions • Devuelve todos los objetos. Los propios y los contrarios. • Observad el código de ejemplo del sample • Ojo a las macros FORS/FORALL/ERR definidas en orts/libs/kernel/src/Global.H

  11. Desarrollo. Más documentación. • Documentación Doxygen: • http://skatgame.net/mburo/orts/doxygen/html/ • No es la mejor documentación del mundo, pero …  • Documentos en <ORTS>/docs • Tampoco son demasiados, pero algo más de información dan. • Otras IA’s. Dentro de <ORTS>/apps hay otras IA’s y librerías que os pueden ayudar. • Tutorías y clases (algunos ratos dedicaremos a ver algún contenido teórico aplicado al ORTS)

  12. Desarrollo. Compilación • Si todo ha ido bien es sencillo. • Sólo hay que hacer (Linux): • Desde el directorio raíz del ORTS • makedestroyer << nombre de nuestra IA. • Eso generará en el directorio <ORTS>/bin un fichero ejecutable destroyer que será el cliente para manejar un bando.

  13. Ejecución • Se propondrá un

More Related