Novedades del Blog

martes, 24 de noviembre de 2009

Moving... all the people moving...

Pues si, Nestor hizo un modelo con 4 animaciones en ella y pude verlo bien en el motor. El siguiente paso es ver la animacion con CelShading.
Ahora mismo, Puedo ver la animacion correctamente con luces DirectX


[Eng]
Moving... All the people Moving..
.


Yes, Nestor maked a mesh with four animations in it and I could view right in the engine. Next step is view the animation with Cel Shading.
At the moment, I can view right the animation with lights DirectX.

jueves, 15 de octubre de 2009

Gran receso (solo el blog)

Este verano, no he actualizado el blog, pero he estado trabajando en el Remake.
Intentaré publicar los progresos que he hecho estos meses en el blog:
- BatEditor v2.o (antiguo Editor de Niveles): Ahora es un Editor de Niveles, Editor de Entidades y Editor de Efectos (en progreso).
- Nuevos Efectos: Añadido el Cel Shading.
- Nuevo Sistema de Debug: Me ayudara en el desarrollo. (En progreso).

Además, el equipo ha cambiado, algunos han dejado el proyecto, algunos han vuelto y algunos han comenzado en el Remake.

!El Remake continua vivo¡

[Eng]
Big break (only the blog)

This summer, I haven't updated the blog, but I have been working in the Remake.
I will try to publish the progress that I have made these months in the blog:
- BatEditor v2.0 (old Level Editor) : Now is a Level Editor, Entities Editor and Efectts Editor (in progress).
- New Effects: Add Cel Shading.
- New Debug System: Help to me in the development. (in progress)

Moreover, the team have changed, somebody have left the project, somebody have returned and somebody have begin in the Remake.

Remake still alive!

viernes, 12 de junio de 2009

Breve receso

Durante las últimas semanas he tenido dificultades, he estado estudiando.
Hace 2 días, acabe los exámenes y he vuelto a retomar la programación del remake y la actualización del Blog.

Antes, estaba programando algunas cosas del Editor de Niveles, y ahora, sigo con el desarrollo.
He incluido algunas nuevas caracteristicas ( dar de alta nuevos modelos para la aplicación, crear imágenes de ayuda para ellos, etc...). Esto ayudará a los artistas 3D para testear sus nuevos modelos en el Engine.

Además, he creado un nuevo sistema de luces, este sistema permitirá establecer luces por cada habitación.

Despues programare un pequeño formulario que permitirá definir nuevos Bounding box para las entidades. Ahora puedes hacerlo si modificas el fichero XML con el notepad.

[Eng]
Little break

During the last weeks there have been difficulties, I have been studying.
Two days ago, I finnished the exams and I have taken up again the programming of the remake and the updating of the Blog.

Before I was programming somethings for the Level Editor, and now I'm following the development.
I have included some new characteristics ( to join new models for the application, to create help pictures to them, etc...). This will help the 3D Arts to test your new models in the Engine.

Also, I have created a new lights system, this system will allow to set some lights in each room.

Later, I'm going to program a little form that will allow to define new Bounding Box to the entities. Now, you could do it, if yo modified the XML file with the notepad.

martes, 2 de junio de 2009

Primer Aniversario

Hace un año, Empecé a desarrollar el Remake, otra vez. Entonces no tenia nada, pero ahora tengo un pequeño motor con luces básicas, animaciones básicas, movimientos básicos, etc... Además, también tengo un Editor de Niveles.

Hace un año, yo empecé este proyecto solo, pero ahora somos 5.

Hace un año, nadie leía este blog y ahora 50 personas leen este blog semanalmente, más o menos.

¡Gracias por vuestro interés!
Saludos.

[Eng]
First Anniversary

One year ago, I started to development the Remake, again. Then I haven't anything, but now I have a little engine with basic lights, animations, movements, etc... Also I have a Level Editor, too.

One year ago, I started this project alone, but now We are 5.

One year ago, Nobody read this blog and now, 50 people read this blog weekly, more or less.

Thank you for your interest!
Regards

miércoles, 20 de mayo de 2009

Nuevo compañero

Un nuevo colega nos ayudara en las tareas 3D. Su nombre es Bruno y podeis ver sus trabajos en http://proyectofalconcrest.blogspot.com/

Bienvenido Bruno y deseo que podamos hacer un buen trabajo.

[Eng]
New co-worker

A new guy will help us with the 3D tasks. His name is Bruno and you could see his works in http://proyectofalconcrest.blogspot.com/

Welcome Bruno and I hope that we'll be able to a good job.

jueves, 16 de abril de 2009

Bugs en el Editor

Este mes, estuve arreglando bugs en el Editor de Niveles y después estuve de vacaciones de Semana Santa y no hice nada. La primera versión beta del Editor de Niveles esta lista, puedo crear las habitaciones mas fácil y rápidamente.

Ahora, continuare con el desarrollo del juego.

[Eng]
Bugs in Level Editor

This month, I was patching bugs in the Level Editor and I was in holiday Easter (Holy Week in Spain) and I didn´t do nothing. The first beta version of the Level Editor is ready, I can create the rooms easier and quicker.

Now, I'll continue with the development of the game.

sábado, 28 de marzo de 2009

Primera Habitación

Es demasiado tarde hoy (2:20 AM) pero no podía esperar a mañana. He creado la primera habitación del remake con el Editor de Niveles. Ademas, el 'departamento' ;) de arte ha creado algunos nuevos modelos 3D.
Estos modelos son la primera versión y los usaremos para hacer pruebas.

La imagen es del Editor de Niveles.


[Eng]
First Room

Today, it's too late (2:20 AM) but I don´t wait for tomorrow. I have created the first room of the remake with the Level Editor. Also, the 'department' ;) of Art have created some new 3D models. These models are the first version and we'll use to test.

This picture is from Level Editor.

martes, 17 de marzo de 2009

Nuevos compañeros

Hace dos días, dos personas contactaron conmigo. Ellos son Kel y N3sThoR, ellos me ayudaran con el remake. Ellos serán los responsables de las tareas artísticas del remake.
Espero que podamos hacer un buen trabajo y poder disfrutar con ello.
Muchas gracias Kel y N3sThoR.

Aquí pongo sus blogs:
Kel: http://ruberboy.wordpress.com
N3sThoR: http://n3sthor.deviantart.com

[Eng]
New partners

Two days ago, two persons contacted with me. They are Kel and N3sThoR, they will help me with the remake. They will be the responsabilities for the Art jobs.
I hope that we be able to do a good work and we can enjoy with it.
Thank you Kel and N3sThoR.

Here I put ours blogs:
Kel: http://ruberboy.wordpress.com
N3sThoR: http://n3sthor.deviantart.com

viernes, 6 de marzo de 2009

Primeros pasitos con las 3D

Este es mi primer paso con las 3Ds. Es el logo de la Universidad de Castilla la Mancha. Es muy fácil, pero yo nunca he creado antes un modelo 3D.
Para ello, use Blender, GIMP y el tutorial de Carlos Gonzalez Morcillo ("Aprende en 24 horas Blender & Yafray").

Además, estoy programando el Editor de Niveles. Creo que acabare la primera beta en pocos días. Después yo solo aprenderé diseño 3D hasta que tenga los modelos básicos del juego (jugador, suelo, puertas, enemigos, etc...)


[Eng]
First Step in 3D

This is my first step with the 3D Design. It's the logo of Castilla La Mancha University. It's very easy, but I have ever created a 3D model.
I used Blender, GIMP, and the tutorial of Carlos Gonzalez Morcillo ("Learn in 24 hours Blender & Yafray").
Anyway, I am programming the Level Editor. I think that I'll finnish the first beta in a few days. Next I'll only learn to 3D design until I'll have the basic models of the game (player, floor, doors, enemys, etc...)


lunes, 23 de febrero de 2009

Level Editor

Un diseñador 3D se puso en contacto conmigo, pero el no me contesto. Antoni, si estas viendo esta entrada, enviame un e-mail por favor.

Yo he dejado el desarrollo del motor del juego. Ahora estoy programando el Editor de niveles y estoy aprendiendo diseño 3D con Blender.

Cuando tenga algun modelo 3D, volvere con el motor del juego.


[Eng]
A 3D designer was in touch with me, but he didn´t reply to me. Antoni, if you are seeing this post, send to me an email please.

I have left the development of game engine. Now, I´m programming the Level Editor and I´m learning 3D Design with Blender.

When I'll have some 3D model, I'm going to continue with the game engine.


This is a image to the Level Editor (beta 0.001 :D):

viernes, 13 de febrero de 2009

Blog Dual

En Google Analytics, he visto que hay gente de otros países que visita el Blog. He decidido que voy a intentar escribir las entradas en Ingles también.
Saludos.

[Eng]
In Google Analytics, I saw that many people from other countries are watching this blog. Then I decided that I'll try to write the next posts in English, too.
Regards.



martes, 10 de febrero de 2009

I wanted a 3D Designer...

Desde hace tiempo había 2 personas que me iban a ayudar desinteresadamente en las labores de Diseño y Modelado 3D. De uno de ellos no se nada hace mas de 2 meses y el otro me ha dicho que no puede ayudarme. Lo primero de todo darles las gracias por interesarse en el proyecto y decirles que tienen las puertas abiertas si quieren volver alguna vez.

Debido a esto, como bien pongo en el titulo, busco un Diseñador 3D que se encargue de la parte artística del proyecto, sera encargado de crear todos los modelos, animarlos e intentar darle una apariencia lo mejor posible al proyecto.
Lo único que puedo ofrecerte es la satisfacción personal de haber participado en la creación de un videojuego, ya que este proyecto es para aprender y sin animo de lucro.

Si estáis interesados y queréis saber mas detalles, podéis dejar un comentario con vuestro email para que me ponga en contacto con vosotros o enviar un email a batman3d@data6.com.

Muchas gracias y un saludo.


domingo, 1 de febrero de 2009

Paseando por habitaciones

Como anuncie en mi anterior entrada, estos días iba a estar codificando el Componente Portal y hoy ya lo he acabado, he puesto un vídeo para que podáis verlo.


En un principio pensé en crear un componente que se añadiera a las puertas para poder hacer el efecto de pasar de una habitación a otra, pero me acorde que durante el juego también se puede caer de una habitación a otra.
Entonces decidí crear el Componente Portal y además una entidad llamada Portal, la cual contiene solamente un Bounding Box. Cuando se produce colisión de Batman con este Bounding Box se produce el cambio de habitación.
Si se produce el cambio a través de una puerta, en este componente indico por cual puerta de que habitación deberá salir.
Si se hace mediante el suelo de la habitación o el techo, entonces le indico las coordenadas por las que tengo que salir en la siguiente habitación a la que se dirige.

martes, 27 de enero de 2009

Batman ya puede saltar.

Como ultima característica del Componente Navegacion ya he conseguido que Batman salte teniendo en cuenta las colisiones con objetos. De momento, este Componente ya esta acabado, aunque seguramente tenga que volver a hacer alguna pequeña modificación cuando implemente el componente de Items.

Mi siguiente objetivo sera la creación del Componente Portal que se encargara de detectar cuando se cambia de habitación y así cargar la siguiente.

sábado, 24 de enero de 2009

Frikadaaaaa!!!!!

Hace tiempo lo vi por Internet y me gusto bastante la idea de personalizar mi portátil, pero no tenia claro como. El martes buscando por Internet encontré la imagen, me decidí, ayer lo recibí y hoy mi portátil ya no es el mismo jejeje...



Las fotos no son muy buenas ya que están hechas con el móvil, pero de verdad, la calidad de la pegatina es altísima y lo mejor es que se puede quitar y poner sin marcas... menudo FRIKAZO que soy jejejje :)

viernes, 23 de enero de 2009

Teniendo en cuenta a Newton...

Ayer por la noche conseguí acabar la implementación de la gravedad, de momento, solo acusaran la gravedad las entidades que se mueven o lo que es lo mismo, aquellas que tengan el Componente de Navegación.

Aunque espero optimizarlo, ahora mismo, se hacen dos comprobaciones de colisiones por ciclo, una para el eje Y y otro para el eje X o Z. Aunque creo que podría hacerlo con una sola comprobación, no voy a complicarme mas, ya que no se aprecia penalización en el framerate haciendo 1 o 2 comprobaciones. Por suerte, esa comprobación de colisiones, es un proceso que me ha quedado bastante bien y no consume apenas tiempo de reloj jeje:)
El esquema básico es este:

1º Coloco la entidad en la posición del eje Y indicada (si salta aumento en Y y si cae disminuyo en Y).
2º Compruebo si colisiona con alguna entidad.
3º Si hay colisión vuelvo a colocar la posición del eje Y en la posición antigua que no colisionaba, sino dejo la posición Y en la misma posición.
4º Coloco la entidad en la posición del eje X o Z indicada (dependiendo en que dirección se mueve la entidad)
5º Compruebo si colisiona con alguna entidad.
6ºSi hay colisión vuelvo a colocar la posición del eje X o Z en la posición antigua que no colisionaba, sino dejo la posición X o Z en la misma posición.

Este componente solo lo tiene Batman, porque es la única entidad que es manejada por el usuario, pero cuando implemente la Navegación con IA para los NPCs, tendrán que tener la opción de activarla o no.

Lo siguiente que tengo que hacer es que salte la distancia y el tiempo exacto al original, cosa que parece sencilla, pero después de estudiarlo un poco, tiene su miga.

lunes, 19 de enero de 2009

Facilitar el paso por las puertas

Como en su edición original, estos días he estado implementando la acción de que cuando este cerca de una puerta y se dirija hacia ella, el personaje se desplaza lateralmente en busca de el hueco de la puerta. He puesto un vídeo para que se vea mejor:




También he corregido algunos bug en los Bounding Box que no cogían bien el offset aplicado a algunas entidades y provocaba pequeños fallos en las colisiones.

Ahora intentare implementar la gravedad y que Batman pueda saltar, con estas dos funcionalidades más, daré por terminada la implementación del Componente de Navegación.

miércoles, 14 de enero de 2009

Mi dia del pajaro (My birthday) :) jajaja

Pues eso mismo que hoy es mi cumple y lejos de tener un día tranquilo, ha sido un día bastante completito, a partir de ahora es cuando voy a tener un par de horas mías.

Espero que para el año que viene por estas fechas, como mucho, pueda yo regalaros una versión del Batman totalmente operativa y descargable, y por supuesto, totalmente GRATIS jejeje...

No creáis que porque sea mi cumple hoy voy a descansar, voy a intentar acabar una cosita nueva que estoy implementando...jeje.

jueves, 8 de enero de 2009

Subcolisiones de Colisiones

Después de implementar las colisiones AABB, me surgió un pequeño problema, y era como hacer para que Batman pudiera pasar por el hueco de la puerta, si toda la puerta era un cubo contra el que colisionaba. Al final lo he conseguido como se muestra en la imagen:


Para conseguir esto pensé varias opciones:

La primera opción (fue la que use en la versión C++ hace 2 años) era crear un cubo dentro del bounding box llamado 'área no colisionable', en el cual, como su nombre indica, no colisionaría otra Entidad. El proceso seria mirar si se colisiona con el Bounding Box y en caso afirmativo, mirar que no se colisione con ese área dentro del Bounding Box. Para las puertas era suficiente pero no me acababa de convencer.

La caja roja seria el Bounding Box de la Entidad y la caja verde el 'área no colisionable' del Bounding Box.


La segunda opción (la que he implementado ahora) es crear varios Bounding Box dentro del Bounding Box genérico que contiene toda la entidad. Primero hago las comparaciones con los Bounding Box genéricos y si se produce alguna colisión (Colision) , miro uno a uno sus Bounding Box de dentro (Subcolisión), lo que me permite hacer el hueco de la puerta y mas precisión en las colisiones.

La caja roja seria el Bounding Box genérico que contiene todo la entidad, después en azul claro hay 2 Bounding Box mas pequeños que serian las columnas de la puerta y de color azul oscuro el tercer Bounding Box para la parte superior de la puerta.

Estos Bounding Box se especifican en el fichero de configuracion de la malla, mediante coordenadas y mediante el ancho, alto y profundidad de cada uno de ellos.

sábado, 3 de enero de 2009

Las colisiones AABB ya funcionan

Hace algunos días que ya lo tengo implementado, pero ahora que estoy de vacaciones, tengo menos tiempo de actualizar el blog que cuando estoy trabajando :).
He utilizado el método AABB (Axis Aligned Bounding Box) que es de los mas simples que hay, pero para este juego tampoco hace falta mayor precisión.

Para usar este método se mira si colisionan dos cajas (2D o 3D dependiendo del juego) pero con la particularidad de que los lados de las Bounding Box tienen que ser paralelos a los ejes de coordenadas.
Después cogemos la esquina mas cercana y la mas alejada del eje de coordenadas de los Bounding Box que queremos saber si colisionan y las comparamos de la siguiente manera:

v3AMax y v3AMin son las esquinas de una BB A.
v3BMax y v3BMin son las esquinas de otra BB B.

if (v3AMax.x <> v3BMax.x)
return false; //no hay colisión
if (v3AMax.y <> v3BMax.y)
return false; //no hay colisión
if (v3AMax.z <> v3BMax.z)
return false; //no hay colisión

return true; //si no ha entrado en ningún if es que hay colisión


Como he dicho antes, este método es de los mas simples de implementar y según he leído se usa bastante en los juegos junto con algún método mas exacto, primero se miran las colisiones de cajas grandes para una primera aproximación y después se usan otros métodos mas específicos y exactos.