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

Introducción ORTS

  • Upload
    kennan

  • View
    55

  • Download
    0

Embed Size (px)

DESCRIPTION

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 /. - PowerPoint PPT Presentation

Citation preview

Page 1: Introducción ORTS

Introducción ORTSModelado y Comportamiento de Personajes

MIGJRV 2011-2012

Luis Peña

Page 2: Introducción ORTS

ORTSArquitectura Cliente / ServidorMúltiples plataformas: Windows, Linux, Mac???Recomendado usar Linux.Creación modular de controladoresFácil de instalar ?

http://skatgame.net/mburo/orts/

Page 3: Introducción ORTS

InstalaciónDos opciones

Descargar el Daily Snap: http://skatgame.net/mburo/orts/src_snapshot/snap.html

Descargar del SVN svn co svn://[email protected]:/all/pubsoft/orts svn co

svn://[email protected]:/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)

Page 4: Introducción ORTS

LinuxSe requieren las librerías:

Boost library, SDL, SDL_net, zlib, OpenGL, glew, and freeglut.

Sobre ubuntu: apt-get install libboost-dev libsdl-dev libsdl-net1.2-dev

zlib1-dev freeglut3-dev libglew1.5-dev

Page 5: Introducción ORTS

WindowsPara windows es necesario descargar el fichero

que viene en la página http://skatgame.net/mburo/orts/files/windows/win32.

zipTeó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í.

Page 6: Introducción ORTS

DesarrolloLa 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.

Page 7: Introducción ORTS

DesarrolloPara 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.

Page 8: Introducción ORTS

Desarrollo. Estructura del DirectorioEjemplo: 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)

Page 9: Introducción ORTS

Desarrollo. Fichero app.mkAPP_DIR := destroyer

APP_LIBS := kernel network serverclient gfxclient ai/low kmlocal mapterrain pathfinding/simple_terrain pathfinding/dcdt/se pathfinding/dcdt/sr pathfinding/triangulation pathfinding/triangulation/gfxclient ai/movement

APP_EXT_HD +=

APP_EXT_LIBS :=

APP := $(APP_DIR)

include config/app.rules

Nombre de la IA

Librerías que empleemos. Es posible que no queramos liarnos

empleando muchas. Pero ya hay bastantes cosas hechas. Mirad un poco

Page 10: Introducción ORTS

Desarrollo. Clase EventHandler.CEs 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

Page 11: Introducción ORTS

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>/docsTampoco 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)

Page 12: Introducción ORTS

Desarrollo. CompilaciónSi todo ha ido bien es sencillo.

Sólo hay que hacer (Linux): Desde el directorio raíz del ORTS make destroyer << nombre de nuestra IA. Eso generará en el directorio <ORTS>/bin un fichero

ejecutable destroyer que será el cliente para manejar un bando.

Page 13: Introducción ORTS

EjecuciónSe propondrá un