Aravid

Tutoriales, Gamer Sense, opinión y más

UDK: Estructura de carpetas

El siguiente paso, una vez tenemos las herramientas instaladas y correctamente configuradas es entender cómo gestiona UDK un proyecto y dónde debemos colocar las cosas para que sean visibles desde UDK. También es importante conocer ciertos archivos que se esconden en la estructura de carpetas de la instalación, así que la comentaré, haciendo hincapié en los ficheros que utilizaremos, y las carpetas que debemos crear para nuestro proyecto.

En la instalación limpia, disponemos de las siguientes carpetas:

  • Binaries
  • Development
  • Engine
  • UDKGame

Ahora comentaré una a una las carpetas, y la importancia detrás de cada una de ellas.

Binaries

UnrealFrontend.exe será nuestro centro de operaciones, desde él tenemos acceso a todo lo que nos permite UDK.

Captura de pantalla del UnrealFrontend, con el proyecto que estoy realizando, DCleaner

No voy a entrar en muchos detalles, porque el UnrealFrontend merece un artículo para él solo. Sí que os digo que en el menú de la izquierda salen los distintos proyectos que están disponibles para trabajar, pero ya comenté que no es recomendable trabajar con más de un proyecto por instalación de UDK, por eso sólo tengo uno.

UnrealFrontend.Profiles

Es una carpeta donde, en formato xml, se almacenan los datos de los proyectos, que son leídos por el UnrealFrontend. Aquí no es necesario hacer nada, porque los cambios realizados se guardan automáticamente, pero es importante conocer la existencia de la carpeta, por si utilizáis algún sistema de control de versiones para añadir el fichero de información del proyecto.

Recomendación: Para conseguir un proyecto propio, lo mejor es clonar uno ya existente, renombrarlo y eliminar todos los mapas que están añadidos. Una vez hecho esto, ya podemos comenzar a utilizarlo.

Development

Dentro de Development, tenemos la carpeta de Src, y dentro de ella, debemos de crear una carpeta para nuestro trabajo. Si nuestro proyecto se llama DCleaner, lo recomendable sería mantener ese nombre para las carpetas.

  1. Development
    1. Flash
    2. Src
      1. DCleaner
        1. Classes

Como se ve en el esquema de arriba, la carpeta DCleaner tiene que ser creada en Src, y dentro de la carpeta que hemos creado, tenemos que crear una llamada Classes. En esta carpeta, se guardarán todos nuestros ficheros en UDKScript, con extensión .uc, pero no es suficiente para que UDK lo encuentre. Tenemos que especificarlo en un fichero de configuración. En el siguiente apartado, se comentará la ubicación del fichero.

Engine

Nada importante para nosotros.

UDKGame

En este fichero es donde estará casi todo nuestro juego, a excepción de los ficheros de UDKScript. Vamos poco a poco:

Config

Lo que voy a decir suena raro, pero la lógica utilizada aquí a veces lo es. Si observáis la carpeta, veréis que la mayoría de los ficheros están duplicados con un nombre ligeramente distinto, por ejemplo, DefaultInput.ini y UDKInput.ini. El sentido común podría dictarnos que el fichero DefaultInput.ini no debería de ser tocado, ya que son los valores por defecto, y tendremos que trabajar con el otro. Pues no.

El fichero con el que debemos trabajar es con el Default, porque los otros ficheros, cada ejecución de Unreal, son borrados y creados de cero, para asegurar que los valores se mantienen. Una vez comentada esta curiosidad, hablaré de los ficheros que debemos cambiar, y lo importante dentro de cada uno de ellos:

DefaultEngine.ini Aquí es donde especificamos la carpeta creada arriba, donde están nuestros ficheros de UDKScript, para que sea tenida en cuenta por el motor. Tenemos que buscar el bloque [UnrealEd.EditorEngine] y al finalizar el mismo, añadir la línea +ModEditPackages=DCleaner (siendo DCleaner el nombre de vuestra carpeta). Debería de quedar así:

[UnrealEd.EditorEngine]
+EditPackages=UTGame
+EditPackages=UTGameContent
+ModEditPackages=DCleaner

Hay más bloques que podrían modificarse, pero tienen menos importancia, como el bloque de [FullScreenMovie] donde se especifican las películas de carga. El necesario es el de arriba para que nuestros ficheros de UDKScript sean compilados.

DefaultGame.ini Aquí hay que especificar algunos ficheros de UDKScript, pero que aún no hemos creado. Os diré qué serán esos ficheros, y la convención de nombres utilizada. Primero, os copio el bloque concreto que hay que modificar, y las primeras seis líneas:

[Engine.GameInfo]
DefaultGame=DCleaner.DCleanerGI
DefaultServerGame=DCleaner.DCleanerGI
PlayerControllerClassName=DCleaner.DCleanerPC
GameDifficulty=+1.0
MaxPlayers=32
DefaultGameType=”DCleaner.DCleanerGI”;

De todo el bloque, tenemos que modificar las primeras tres líneas, y la sexta. El primer DCleaner, que antecede al punto, es la carpeta de nuestros ficheros, que se llama DCleaner, y después es el nombre del fichero de UDKScript.

El fichero DCleanerGI es el Dungeon Cleaner Game Info, en él se especifican las clases que definen aspectos del juego, como la clase que controlará al jugador, la clase que definirá al jugador o la clase que especificará el HUD utilizado.

El fichero DCleanerPC es el Dungeon Cleaner Player Controller, en este fichero está programado el comportamiento del personaje.

Aviso: Estos ficheros los crearemos más adelante, pero lo importante ahora es saber dónde hay que colocarlos, y qué hace cada uno.

DefaultInput.ini Las asignaciones de teclas a las acciones se realizan aquí. Decir que UDK utiliza un sistema que hace de capa intermedia entre el código y la pulsación de una tecla, que es la GBA o Game Bindable Action. El funcionamiento es que a un método que realiza algo, se le asigna una GBA, y luego, a un botón concreto, se le asigna esta GBA en vez del método. La utilidad es que el reasignar teclas dentro del juego, y los botones de las distintas plataformas es más cómodo.

Content

En esta carpeta va todo nuestro contenido del juego, pero para tenerlo todo organizado, hay que crear una carpeta dentro de Content con el nombre de siempre, DCleaner.

  1. UDKGame
    1. Content
      1. DCleaner

Dentro de esta carpeta, guardaremos nuestros ficheros de mapa que crearemos con el UnrealEditor, y los paquetes de Assets que son unos ficheros que encapsulan todos nuestros contenidos, como mallas estáticas, materiales, animaciones, etc.

Flash

La última carpeta, es la de Flash. En ella se guardan las películas creadas en flash para ser introducidas en el juego. El motor implementa ScaleForms, que es un middleware que nos permite utilizar una película en flash dentro del juego, ejecutar código de ActionScript y comunicarnos en los dos sentidos con dicha película, es decir, desde UDKScript con ActionScript, y viceversa.

Para que los ficheros se añadan correctamente, deben de estar dentro de una carpeta, dentro de Flash. Por alguna razón, en la versión en la que trabajo, no puedo especificar el paquete al que quiero importarlo, lo importa directamente en un paquete con el nombre de la carpeta, por ello, crearemos una carpeta con el nombre del paquete de Assets con el que trabajaremos, para que al importar un fichero, lo añada donde queremos. Sabiendo que nuestro paquete de assets se llamará DCleanerAssets, crearemos la siguiente estructura de carpetas:

  1. UDKGame
    1. Flash
      1. DCleanerAssets

Aviso: Los ficheros de Flash deben de tener ciertas características para que funcionen correctamente, al igual que una versión concreta de ActionScript. Estos detalles se comentarán en el tutorial de integración de elementos de Flash con UDK Script.

Anuncios

2 Respuestas a “UDK: Estructura de carpetas

  1. Pingback:Scaleform: Creación del Interfaz I « Aravid

  2. Pingback:Scaleform: Integración en UDK « Aravid

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: