domingo, 1 de julio de 2012

Tutorial 3: Introducción a los ficheros DBR


En este pequeño tutorial vamos a familiarizarnos con algo básico en el modeo del Titan Quest, los ficheros .DBR. Digo que son algo básico porque cualquier cosa que veáis en el World Editor, tiene por debajo un fichero .DBR que lo define.

Un NPC, por ejemplo, tiene por debajo un fichero .DBR que es el que le da nombre, dialogo, etc. Un monstruo (a los que abreviadamente se les llama MOBs) tiene un fichero .DBR que contiene sus características (puntos de vida, habilidades, etc.)

Echad un vistazo a la imagen siguiente. En ella vemos un fragmento del poblado donde se inicia la historia del Mod que estoy creando. Ahí podemos ver unos niños, un malabarista, un pozo, un árbol, etc


Si seleccionamos, por ejemplo, al malabarista, podéis ver que en la parte inferior de la pantalla se puede ver el fichero .DBR al que apunta.


Si habéis leído los anteriores tutoriales ya estaréis más o menos familiarizados con el World Editor, y sabréis que todo elemento que queráis colocar sobre el mapa se encuentra en la parte de la derecha.


Pues bien, todo elemento que se encuentra en esa sección, tiene un .DBR por debajo.

Cuando construyamos nuestro mapa, iremos usando los elementos que tenemos disponibles en el editor pero, tarde o temprano, llegaremos a un punto en que queramos añadir algo nuevo y que no se encuentra ahí.

En estos casos podemos hacer dos cosas, la opción difícil y no recomendable o la opción menos difícil y más recomendable.

La opción más recomendable es buscar un elemento parecido al que queremos añadir, hacer una copia y modificar su fichero .DBR para adaptarlo a nuestras necesidades.

La opción no recomendable es la de crear un fichero .DBR desde cero, usando los templates que nos instalamos tal y como expliqué en el Tutorial 01: Primeros pasos. Esta opción no es recomendable porque los .DBR pueden ser, desde muy sencillos (por ejemplo, el .DBR de una piedra) hasta increíblemente complejos, como el .DBR de un cofre aleatorio.

Así pues, intentar crear algo más o menos complejo desde cero usando un template no es buena idea.

Dicho esto, vamos a ver la opción más recomendable. Para hacer una copia de un .DBR ya existente debemos hacer lo siguiente: primero buscamos el elemento que nos interesa duplicar en el world editor. Vamos a hacer la prueba cogiendo un NPC y cambiándole el nombre, que es algo fácil.


En la parte inferior podéis ver la ruta donde se encuentra el .DBR seleccionado. Con esa ruta en mente, abriremos el Art Manager.

En el Art Manager seleccionamos la opción Database à Import y se nos mostrará la misma estructura de carpetas que teníamos en el world editor.


Abrimos la carpeta donde está el .DBR que nos interesa, y pulsamos OK.


Ahora iremos a la pestaña “Database” y vemos que se nos ha creado una estructura de carpetas igual a donde estaba el fichero .DBR seleccionado.

Antes de continuar, decir que la estructura de carpetas que debemos tener en esta pestaña es totalmente libre. Cada uno se puede hacer las que le interesen y con las que se sienta más cómodo.

Como idea, yo lo que hago es crearme una carpeta por área que vaya a tener mi Mod. Y dentro de cada área creo 4 carpetas:

-          Una llamada “NPC” donde meto los .DBR de los NPC.
-          Una llamada “Dialogos” donde meto los .DBR de los diálogos.
-          Una llamada “Monstruos” donde meto los .DBR de los enemigos (llamados Mobs).
-          Una llamada “Objetos” donde meto los .DBR de cualquier otra cosa que vaya a usar como cofres personalizados, puertas, objetos de misión como llaves, anillos, etc


Como digo, es sólo una idea y cada uno puede organizar sus carpetas como más le plazca. De hecho, en la imagen de antes hay una carpeta extra llamada "Merchant", que es donde metí los ficheros específicos de los mercaderes, porque tienen un tratamiento especial que veremos en detalle en otro tutorial.

Este inciso me sirve para mostraros una de las (muchas) cosas que tienen las herramientas del Titan Quest que me mosquean bastante. Como decía antes, al importar el .DBR se nos ha creado una carpeta igual a la carpeta donde estaba el fichero importado.

Esto nos obliga a seleccionar el fichero importado, copiarlo a la carpeta que nos interese y borrar todas las carpetas creadas por el programa. Y esto hay que hacerlo cada vez que importemos algo…

Bien, con nuestro fichero .DBR importado, lo podemos renombrar para darle un nombre más acorde al nuevo uso que tendrá el fichero.


Ahora hacemos doble-click sobre él y vamos a ver el contenido. No voy a entrar en mucho detalle porque próximamente haré tutoriales específicos para modificar .DBR de diferentes tipos, pero sí os voy ha indicar las partes más significativas para que os vaya sonando.


En la sección "Header" tenemos los datos generales del fichero. Estos datos no tienen impacto en el juego y son únicamente para que podamos identificar el fichero.

El campo que sí requiere de explicación adicional es el "Class" que identifica la clase del DBR. Como explicamos anteriormente, siempre duplicaremos ficheros DBR, así que tampoco debemos preocuparnos mucho por ésto.


En la sección "NPC Static Dialog" se insertará el fichero que contiene el dialogo del NPC. En un tutorial posterior explicaré la parte de los diálogos, pero de momento nos quedamos con que aquí ponemos el fichero que contendrá los textos del NPC.


La sección "Character" define las característicias del NPC. Tales como el nivel, el daño que hace al atacar, si es invencible (con la opción "Invincible"), etc. 

Como veis, esto no tiene mucho sentido en un NPC normal. Pero sí lo tiene cuando estemos definiendo un DBR de monstruo, o un DBR de un NPC que deba atacar monstruos, por ejemplo.


La sección "Actor Variables" sí es importante, así que vamos a ver los campos un poco en detalle. Esta sección es exactamente igual en todos los DBR, independientemente de que estemos definiendo un NPC, monstruo o una simple roca.

- Description: Este texto es el que dará nombre al objeto, NPC o lo que sea. Es decir, lo que sale en pantalla cuando pasemos el cursor por encima. No es un texto, sino un "tag" que identificará el DBR.  Posteriormente, en el fichero de textos deberemos relacionar el "tag" con el texto que saldrá por pantalla.

- Mesh, Base Texture, Bump Texture: Esto es lo que define la forma y el aspecto del DBR. Más adelante entraremos en detalle. Pero quedaros con que la textura del objeto y la forma 3D del mismo se definen con los ficheros que pongamos aquí (los. TEX).

- Scale, Actor Radius, Actor height: Esto define el tamaño del objeto. Si estamos creando un monstruo, y queremos que sea como un sátiro normal pero gigante, deberemos aumentar la escala.


Character Bio: Aquí se definen las resistencias, atributos, vida, maná, etc del NPC. Nuevamente, no tiene mucho sentido en un NPC, pero sí en un monstruo.


Reward: Aquí se define el oro que suelta el monstruo al morir.


Initial Equipment: Aquí se define el equipo que tendrá el NPC o monstruo. Como veis en la imagen, esto se define a base de un porcentaje de llevar el objeto equipado "chancetoequip" y luego se define el "loot" que es un fichero especial que tiene la fórmula de cálculo de los objetos que puede tener equipados.

Y con esto creo que ya podéis tener una idea general de como funciona un DBR. Si os ponéis a investigar un poco y revisáis algún DBR de los que trae el juego podréis descubrir alguna otra cosa interesante. 

Al fin y al cabo, esto se trata de probar y copiar los ya creados para poder crear los nuestros. 


No hay comentarios:

Publicar un comentario