:: Program till the end ::

Ha pasado ya un mes desde que presenté el proyecto fin de carrera, así que ya va siendo hora de poner una demostración. Hace unos meses, ya puse una entrada con capturas, y una primera imagen del simulador, que aún estaba recién comenzado. Ahora, podréis ver tanto el editor como el simulador en funcionamiento.

El vídeo de demostración que incluyo lo he grabado con CamStudio y montado con Windows Movie Maker. El Movie Maker disminuye la calidad (al parecer se pierde contraste o información de color), con lo que el resultado se ve peor de lo que debería, a lo que se une la baja calidad de los vídeos de Youtube, por lo que se ve bastante peor que en las aplicaciones reales. Además de eso, el CamStudio no captura a la tasa de frames real, y he tenido que grabarlo con baja resolución para que capture a una tasa de frames decente, por lo que, en definitiva, el vídeo final no se ve ni por asomo como se ven en realidad las aplicaciones, en cuanto a suavidad, nitidez, y colores. Pero, os haréis una buena idea de cómo son.

Tanto en el vídeo como en la descripción del mismo en Youtube, he puesto todas las explicaciones en español y en inglés, para que lo entienda más gente. Aquí la descripción:

-----------------

Vídeo de demostración de mi Proyecto Fin de Carrera de Ingeniería Informática: Simulador de Conducción con Editor de Entornos. Desarrollado entre octubre de 2006 y septiembre de 2007 en la Universidad de Granada.

El proyecto consta de dos aplicaciones: un Editor de Entornos, con el que se crean modelos urbanos tridimensionales llanos, y un Simulador de Conducción, con el que se controla un vehículo por modelos urbanos creados previamente con el Editor. La simulación se limita al control de físicas del vehículo así como avisos sencillos: no salir de carretera, no ir en dirección prohibida, y no saltar un semáforo en rojo.

El vídeo no representa la calidad visual real de las aplicaciones, ni en nitidez, ni en colores, ni en tasa de frames.

No he establecido aún licencias para el proyecto, por lo que, por el momento, no voy a publicar el software.



Y ahora unas capturas (clic para verlas más grandes):

Imagen del editor. Ejemplo de edición de un tramo de carretera a partir de los puntos de control que definen una curva B-Spline.

A partir de aquí, todas las capturas son del simulador. En las primeras, se utiliza para las sombras una técnica que aprendí durante la carrera y que he llamado (a falta de otro nombre) objetos arrojados. Se trata de un truco muy sencillo que consiste en proyectar la geometría contra el suelo en color negro, con una transformación dependiente de la posición de la fuente de luz. De esa forma se produce la sensación de sombra, aunque no se permite self-shadowing (sombras de un objeto sobre sí mismo), las sombras se proyectan únicamente sobre el suelo, y además son totalmente negras.













Las siguientes capturas se tomaron con el mapa de sombras activado:

Al contrario que con la otra técnica, con el mapa de sombras se obtienen sombras arrojadas de unos objetos sobre otros. Aunque, entre otros, tiene el problema de producir bordes dentados en las sombras, como se aprecia en la imagen.





Aquí se ve cómo el mapa de sombras permite self-shadowing: el espejo retrovisor del coche, proyecta sombra sobre éste último.

Algunas cuestiones:

1- ¿Tiene antialiasing el simulador? Finalmente, al contrario de lo que dije hace unos meses, no se lo he implementado. Intenté hacerlo con el Multisampling de OpenGL, pero me encontré con que esta forma de hacerlo es una castaña. ¿El motivo? Su dependencia de varias extensiones, incluidas extensiones específicas de plataforma (es decir, una implementación dependiente del sistema operativo para el que se compile), y una configuración bastante extraña. Los problemas que me dio me llevaron a pasar del Multisampling. Lo mejor es implementarlo con un shader, pero aún no he implementado ni un solo shader, siendo esto algo que aprenderé próximamente, por lo que tampoco pude hacerlo de ese modo. Así que, finalmente lo dejé sin antialiasing.

2- ¿Hay vehículos controlados por la máquina, peatones...? No. Únicamente conducimos "solos" por la ciudad. Esos añadidos estaban pensados, pero requerían mucho trabajo y tiempo para una sola persona, y no disponía de más tiempo. Si hasta pensaba ponerle como huevo de pascua (detalle escondido al que se accede con algún truco o secuencia particular de interacciones), un modo Carmageddon con el que atropellar sin piedad y de manera realista a todos los peatones posibles , pero no ha podido ser. Estos detalles los podría añadir con el tiempo, pero ya dependerá de mis ganas.

3- ¿Lo acabaré publicando? No lo sé. Pensé en ponerle licencia GPL, pero aún no lo he decidido. Si finalmente lo publico, con la licencia que sea, ya informaré en este blog.

4- Si el formato de los vehículos es 3DS, un formato de modelos tridimensionales genérico, ¿cómo se especifican parámetros del vehículo, como su tracción? Definí otro formato, de extensión .car, consistente en ficheros de texto muy sencillos con código XML que contiene la referencia al fichero 3DS y algunas características del vehículo: velocidad, tracción, posibilidad de 4WD, y masa del chasis. Estos ficheros sí tiene que escribirlos el usuario a mano, pero son muy simples y cortos, y además en el manual de usuario proporciono la plantilla para rellenarla.

5- ¿No son un poco simples las ciudades del vídeo y las imágenes? Sí, bastante vacías. Harían falta más edificios para dar más sensación de ciudad. Pero no es problema del editor ni el simulador, sino de echarle tiempo y ganas a crear un modelo más complejo. Además, no dispongo de texturas muy buenas para incluir en los modelos. Esto, repito, no es mi problema, ya que las texturas no forman parte de la aplicación sino del modelo que creas con ella.

Si no me olvido de nada, eso es todo.

12 comentarios :: Enlace permanente
Compartir Compartir
FacebookCompartir
TuentiCompartir en Tuenti
MenéameMenéame Enviar
Comentarios: (del primero al último)
01:42 28/10/2007
seguro que le has echado muchas horas .Enhorabuena. Yo también soy de Granada, :-)
02:00 28/10/2007
Enhorabuena por el producto final! Luce estupendamente, y el incluir ese Celica... :algoverde:

Ni el Granada Racer HOIGA!
Anónimo
09:25 28/10/2007
Espectacular el resultado! y me ha impactado mucho la sencillez para realizar modelos de ciudad gracias al editor, enhorabuena!
11:49 28/10/2007
Luce increiblemente bien! ;-)
16:23 28/10/2007
Increible Maxter2001, buen trabajo.

Merecidisima la matricula de honor.

Saludos :D
Anónimo
23:42 28/10/2007
Chaval... enhorabuena!! realmente ha merecido la pena esperar un año para verlo. simplemente espectacular. felicidades.
21:11 30/10/2007
Brutal el curro que te estas pegando, y la verdad es que luce de fábula, me encanta. Si lo acabas publicando comentamelo, que me encantará tenerlo =).

Y gracias por pasarte por mi blog y decirme lo del color =), ahora ya está arreglado, mersi again.
18:27 06/09/2008
Cuando hablas de que el formatos de los coches esta en 3ds. Seria posible darte modelos echos con esa extensión ? tengo algunos modelos ( creo ) en mi pc echos por mi. Aunque la información de tracion, peso, etc se lo di por el havoc del 3ds max.
13:37 13/01/2009
en que lenguaje esta programado? has usado las sdl?

Saludos
14:56 13/01/2009
mAese: madre mía, creo que no vi tu comentario, y lleva meses ahí :$. No creo que veas mi respuesta, pero bueno, allá va: claro, es posible usar cualquier modelo 3DS siguiendo algunas restricciones que pueden obligar a modificar el fichero (sin que por ello el modelo en sí se vea afectado). Por ejemplo, es necesario incorporar al fichero información que permita identificar las ruedas o mi simulador no tendrá modo de saber dónde están xD. El resto de la información se añade con un sencillo fichero XML.

Alfil69: está programado en C++, siguiendo un enfoque orientado a objetos desde el análisis a la implementación, pasando por el diseño. No usé SDL, sino MFC + Visual C++ 2003, de modo, que son dos aplicaciones desarrolladas expresamente para Windows, al menos en lo que respecta a la GUI. El resto del código intenté que fuera lo más portable posible (y las demás librerías que usé lo son).

Saludos.
21:08 03/03/2009
Hola maxter2001 !!!

Ehorabuena por terminar la carrera y con este proyecto...

Yo me encuentro cursando tambien Ingenieria Informatica en la Universidad Autonoma de Barcelona, y me he escogido un Proyecto similar al tuyo, por no decir muy parecido, sobretodo la parte de creacion de circuitos...

Por eso me preguntaba si me harias el favor, de ayudarme en mi proyecto, y dejarme alguna parte de codigo de la creacion de escena... Mi proyecto incluye tambien inteligencia Artificial, Modo Autoescuela, entre otros.

Gracias de antemano

por favor, ponte en contacto conmigo en jacxon4@gmail.com
22:07 18/03/2009
Hey jacxon4, perdona por no haberte contestado antes, como tengo el blog tan parado últimamente no entro mucho a mirar.

Gracias :)

Pues mira... si acaso te podría dar consejos, de código nada, por varios motivos. Uno de ellos, el que más te interesaría, es que no creo que te sirviera para nada a no ser que te lo diera todo. Es decir, tendrás que diseñar e implementar el asunto, y dependiendo de lo que pretendas obtener y cómo pretendas resolverlo, necesitarás unas cosas u otras. Mi código, así a priori, no te serviría para nada.

Mi proyecto inicialmente también contemplaba que hubiese algo de IA y cosas en plan autoescuela, pero finalmente lo tuve que descartar para terminar.
Participa con tu Comentario:

Este blog no permite comentarios.

:: Program till the end ::

Blog de maxter2001
I program till the end, for my purposes. What about you? [Blog de OK-River (maxter2001 en Vandal)]

Posts destacados por el autor:
· "Hola, mundo!" con Qt
· Odisea en busca de una PS3 de 60 GB, finalizada
· [Proyecto Fin de Carrera] Vídeo demostración + Capturas + Info
· Ingeniería Informática acabada
· [Proyecto Fin de Carrera] Capturas e info
· Programación: Tutorial para manejo de teclas
· The Legend Of Zelda: Twilight Princess terminado: impresiones/análisis
· Final Fantasy X - To Zanarkand (directo)
· Dichosas comparaciones atenuantes
· Juego para descargar: La Bicha 2.0
· Metal Gear Online "impresionado"
· Estreno



Vídeos:
· Música orquestada
· Variados
· Música variada
· El Informal
· Juegos
· Humoristas españoles



Blogs amigos:
alw
ArKiTo
Arxel
Boddhai
Clone
ComIkari
Cornell
De-mon
delojo
EASMO
erizoazul
Ferr
GeRoxx
Granlutz
HWY2HELL
Isnard
Jimmytrius
Kanevsky
Kiriyama
Modo_7
nach
Naruto
NeoYoshimitsu
NoPLo
Resident Hill
RojoRedRouge
Shino-Kun
Sonny Chiba
Sr.A
suzumiya haruhi
vacajinjo
xispax_
Zeroshcr
ZZGRST
_-Sheik-_


Categorías:
Chorradillas
Hablar con propiedad no cuesta un puto duro
Informática
Manga/Anime/Dorama
Música
Personal
Regalos pal hocico
Tutoriales
Varios
Videojuegos


Archivo:
Octubre 2009
Septiembre 2009
Enero 2009
Septiembre 2008
Agosto 2008
Junio 2008
Mayo 2008
Abril 2008
Marzo 2008
Febrero 2008
Enero 2008
Diciembre 2007
Noviembre 2007
Octubre 2007
Septiembre 2007
Agosto 2007
Julio 2007
Junio 2007
Mayo 2007
Abril 2007
Marzo 2007
Febrero 2007
Enero 2007
Diciembre 2006
Noviembre 2006
Octubre 2006


Vandal Online:
Portada
Blogs
Foro

Blogs en Vandal · Contacto · Denunciar Contenido