ALAN, Project PGZ, Rumble City y Crazy Cars, fueron los trabajos presentados en el Salón de actos de la Facultad. El primero, un asistente para GNU/Linux en lenguaje natural y el resto tres videojuegos, alguno de ellos premiado...
La presentación de los trabajos de la asignatura de Ingeniería del software en el Salón de actos era una tradición dentro de la Facultad. Interrumpida durante un tiempo, ha sido recuperada por los profesores Jorge Gómez Sanz y Pablo Moreno Ger.
Ayer se presentaron de una forma muy amena cuatro trabajos:
1º Proyecto PGZ Automatic Game Generator
PGZ es un generador de juegos en 2D, con dos módulos:
- Generador
- Intérprete
Su reto ha sido crear un código eficiente y robusto, y un motor con una buena programación. y las dificultades, que el Generador es un campo poco estudiado y el Intérprete ha supuesto un desarrollo complicado, lo que provocaba cambios continuos.
Desarrollo del sistema:
Octubre 2010: Reuniones, Motor-Generador, Motor-freeware,
Se usaron tres capas de abstracción y código libre CSML
Motor en lenguaje C++ por ser un lenguaje más conocido y más manejable para los autores que Ensamblador.
Diciembre 2º Iteración. Generador: Mundo, Mazmorras, etc
Marzo 2011 Recta final: Módulo intérprete y Algoritmos
Finalmente se hizo una explicación del juego y una práctica del mismo
2º ALAN
Se trata de un asistente para GNU/Linux abierto y en lenguaje natural. Su propósito es el de ayudar al usuario medio con los problemas que pueda tener con un sistema operativo de tipo Linux. Y por ello consideramos que la forma mas fácil de ayudarle es a través del lenguaje natural.
Motivos:
- Fomentar el Software libre
- 40% de las personas conoce Linux pero no lo usan por la dificultad
Con ALAN se intenta acabar con este problema, para lo cual se le da al programa las siguientes funcionalidades:
Programa de ayuda
Automatización de procesos
Búsqueda de archivos
Los componentes de su Arquitectura son:Paquetes-Interfaz OWI, NLP, Program D, jColibri2
Las Bases de datos utilizadas: MySQL, Php, aplicaciones en flash para gestionarla externamente
Se utilizó Razonamiento basado en casos. El sistema de razonamiento:
Cómo comparar dos frases en lenguaje natural
Usando Librería NLP
Como procedimiento separar las unidades de la frase y extraer la raíz de ellas.
Es preciso establecer guiones de conversación con preguntas del tipo:
¿Cómo te conectas a la red?
Posibles respuestas: Modem, Router, Wifi
También dispone de un sistema de realimentación para actualizar la aplicación y mejora el rendimiento CBR
Se basa en un Arquitectura Cliente-Servidor
Disponen de una página web en la que se puede conocer más sobre la aplicación
3º Rumble City
Ganador del premio Slick al videojuego más innovador.
Se trata de un videojuego que consiste básicamente en construir, reconstruir, demoler o unir edificios, construir templo del agua o el de la salud en una ciudad, acciones estas que sólo se pueden hacer durante el día y combatir contra las amenazas catastróficas destructoras de la ciudad durante la noche, como pueden ser incendios, virus, alienígenas, Tsunamis, lluvia de meteoritos, etc.
La fórmula utilizada: Simulación de ciudades y uso de Arcade para que se pueda jugar rápido
Dentro de la Interfaz gráfica, presenta: Mapa de la ciudad, botones de acción, dinero, tiempo
En cuanto al Motor Gráfico, se ha utilizado:
Java open source basado en LXJGL
Para el mapa de la ciudad se ha usado Tiledmap editor y las imágenes se han hecho con Paint
Un punto fuerte del videojuego es Colabora con nosotros que permite que otros mejoren o amplíen el videojuego al estar hecho éste en código libre y encontrarse en un repositorio para que se pueda cargar por cualquiera. Se puede ampliar pues con nuevas clases de catástrofes y sus soluciones y durante la presentación se ejemplificó cómo hacerlo.
La elaboración del trabajo se hizo de noviembre a mayo y trabajaron en él diez personas, con 850 líneas de código por persona/mes y 15 páginas/KLDC
Se puede usar un demo abierta y se podrá descargar en:
4º Crazy Cars del Grupo Daphal
Se trata de un videojuego de carreras de coches realizado con Arcade 3D y Python ogre (motor gráfico elegido por su gran potencia y por tener una comunidad de desarrolladores muy amplia).
Cifras:
5.600 líneas de código, 130 páginas, 5.300 horas, 700 líneas de código al mes, 78 líneas por persona/mes...
Usaron Python como lenguaje de programación, descartando C++ y Java, pues consiguieron el mismo rendimiento de C++ y la modularidad de Java, pero con menos trabajo.
Para el diseño gráfico, Blender por su facilidad para aprenderlo.
Desarrollo:
Para el Motor Gráfico se tuvieron en cuenta: Scenemanager, Entities (objetos de la escena), Viewpoint (partes en las que se divide la pantalla), Cámaras (punto de vista del jugador), y luces y sombras
Para el Motor físico: Bodies (amortiguación , giros...) y Joints (unen diferentes bodies)
Se puede jugar en tres modos diferentes:
--Contrareloj (con velocímetro y marchas)
--Dual con la pantalla dividida en superior e inferior para dos jugadores
--En red
Usaron Python (sockets) y una librería PodSixNet
Se puede descargar el juego desde
http://es-la.facebook.com/people/RumbleCity-Notokotekla/100002339457481