1 Terceros Encuentros de Programadores Java Portico. Introducción a los videojuegos multiusuario
2 Primero de todo... 1.Descargar e instalar: – Eclipse: herramienta de desarrollo [http://www.eclipse.org] – Portico: implementación RTI [http:// www.porticoproject.org] Dos opciones: 1. Desarrollar con las librerias.jar 2. Desarrollar con el código fuente 2.Configurar eclipse* *configuracionEclipse.pdf
3 ¿Qué es? Es un RTI de código abierto sobre Java Alto grado de actualización (versión actual 1.0.1) Implementación completa del estándar
4 ¿Cómo nos comunicamos? RTIambassador Salida de datos compartidos Llamadas a métodos federateAmbassador Entrada de datos Es una interfaz (HLA) Se suele extender a NullfederateAmbassador
5 Lección 1
6 createFederationExecution: Si la federación no existe, el proceso de ejecución del RTI crea un nuevo proceso de ejecución para la federación asociado al nombre pasado como argumento. joinFederationExecution: Asocia un federado a una ejecución de federación existente. Necesita además establecer el embajador del federado sobre el que actuarán las respuestas. tick: El RTI ejecuta una gran cantidad de carga de proceso, por lo que en determinados momentos necesita obtener el control del sistema de procesamiento. regignFederationExecution: Desconecta un federado de la federación. destroyFederationExecution: Termina la ejecución de una federación determinada.
7 Lección 1 Ejecutar varias veces. ¿Qué pasa ? Interpretar las diferencias entre la primera y segunda ejecución Solucionar la excepción sin descomentar los puntos 5 y 6 Comentar el punto 4 y descomentar punto por punto el 5 y el 6
8 Lección 2 Definir estructuras compartidas (FOM) Publicar y subscribir (SOM) Enviar y recibir interacciones
9 Lección 2
10 FederateAmbassador receiveInteraction StringBuilder receive = new StringBuilder(); receive.append("\n"+EncodingHelpers.decodeString(tag)+": "); receive.append(EncodingHelpers.decodeString(theInteraction.getValue(0))); System.out.println(receive);
11 Lección 3 Publicar y subscribir objetos Enviar y recibir actualizaciones de los atributos
12 Lección 4 ¿Puedo crear una clase para el federado? Prueba a integrarlo con un motor de juegos
13 Ejemplo final