Bueno este mapa va hecho para todos aquellos españoles que se animan hacer un mapa y se encuentran por medio

otro idioma, y dedica con más ímpetu a Kotf y a Kotfspa. Espero que os sea útil y saludos de Han Solo for Kotfspa, ya me debes una nene xD (NOTA IMPORTANTE): el radiant esta hecho para tanto el Q3 como los JK2 Y 3, este tutorial ha sido creado para el Q3, pues algunas cosas como la compilación y hacer el pk3 serán distintas que para el JK3, este tutorial ha sido sacado de la pagina http://www.pbgtkradiant.da.ru/ y copiado por si algún día cierra la pagina. Aunque el tutorial en su final parte a sido recogido por mi

Bueno empecemos por descargarnos las cosas que nos serán de utilidad, aquí encontrareis todo lo que necesitaremos:

Página oficial del editor más famoso para Q3, y creador del tanto para JK3 como JK2, ya que el motor de JK se basa en el del Q3 Donde te podrás descarga la versión 1.4
http://www.qeradiant.com/?data=files&files_id=77

Q3Build. Este es un programa que te permite compilar los mapas desde una aplicación que no sea el propio editor. Además te permite añadir bots a tu mapa.

Arena Master: Te permite editar los ficheros .arena que dicen el juego de que tipo es tu mapa, bots que juegan, etc.

Q3 ASE. Editor de Shaders realmente útil para editar o crear tus propios shaders. Además te crea el script necesario para cada shader automáticamente.

Estos tres últimos archivos los encontraras aquí como un amplio tutorial en español sobre la creación de mapas http://www.pbgtkradiant.da.ru/

Vamos al tema, el tutorial de arriba esta un poco pasado ya que es de la versión 1.2 del programa Instalación: de lo mas fácil, te lo bajas, lo instalas y al instalar al comenzar te saldrá una ventana y seleccionas el jedi academy, y le das a ok ya esta dentro del creador

Iconos: tenemos que tomar familiarización con los iconos y la ventana

Pues aquí lo tenemos, la pantalla principal de editor. Como se ve en la imagen hay 4 zonas bien diferenciadas, ventana 2D (2Dview), ventana 3D (3Dview), Ventana de texturas (Texture view) y Ventana Eje Z (Zview). En la parte de abajo de la ventana (donde pone Map_New) también podemos ver la consola, lugar donde nos aparecerán los mensajes que nos devuelve el editor para informarnos desde que ya ha terminado una tarea o si estamos haciendo algo mal. Ventana 2D: Es en esta ventana donde trabajaremos gran parte del tiempo. El rombo con las 2 líneas en ángulo representa nuestra cámara, el ángulo nos indica el campo de visión, lo que en ese momento estemos viendo en la ventana 3D. Para poder movernos en esta ventana podemos usar las flechas para mover nuestro punto de vista y si pinchamos con el botón derecho del ratón en cualquier parte de la ventana y arrastramos, moveremos la cuadricula y podremos ver partes que antes no entrasen en la pantalla. El botón Changue View nos será muy útil cuando estemos en esta vista, ya que nos permitirá cambiar los ejes de representación de esta ventana. Por defecto se representan el eje X y el eje Y (Para complementar a el Eje Z en su propia ventana), pero con el botón Change view podremos ver desde los ejes X y Z y los ejes Y y Z. Cada vez que se pulse el botón cambian los ejes mediante una secuencia cíclica. Ventana 3D: Aquí veremos evolucionar nuestro mapa en 3D. Nos podremos mover en todas direcciones usando el ratón y las flechas, como si estuviésemos en el juego, pero como espectador, solo que aquí podremos atravesar las paredes y esas cosas (útil para ciertas cosas). Para poder movernos en esta ventana situaremos el cursor en la Vista3D y pulsaremos el botón derecho del ratón. Una pequeña cruz aparecerá en la pantalla (como si fuera el punto de mira) y ya podremos movernos usando las flechas y el ratón. Para dejar de movernos (veréis que el cursor desaparece y no podréis editar mientras estéis "navegando el mapa") hay que volver a dar al botón derecho del ratón. Desde esta vista se pueden seleccionar los poliedros (brush-brushes) que conforman vuestro mapa. Solo hay que seleccionarlos con el b. izquierdo del ratón con el shift pulsado (se pueden seleccionar mas de uno a la vez). También podremos seleccionar una sola cara de nuestro "brush" pulsando el control y el shift a la vez que se selecciona la cara deseada con el ratón (botón izquierdo). Si lo que queremos es seleccionar varias caras, además del control y el shift, pulsaremos el alt y las caras que deseemos con el B.I del ratón. Por ahora con esto es mas que suficiente de la vista 3D. Ventana Eje Z: Esta ventana nos mostrara las alturas de nuestros poliedros del mapa. Será útil para igualar poliedros a la misma altura o subir alguno a un determinado nivel (haciendo uso de las marcas numéricas que tiene tan cerca). Hay que aclarar que esta ventana siempre muestra las alturas con respecto al eje

Z. Por mucho que se le de al botón de Change View (ver más arriba) esta ventana quedará inalterada. Botones del editor: En esta parte del tutorial nos fijaremos en los botones que hay justo debajo de los menús del editor Pulsa este botón para abrir tus mapas. El programa auto salvará cada 5 min. por defecto (ver Preferencias), si no, puedes darle a aquí para que lo haga cuando tu quieras Invierte la posición de un grupo de poliedros seleccionados con respecto al eje x Rota 90º (por defecto, mirar Preferences) un grupo de poliedros seleccionados con respecto al eje x Invierte la posición de un grupo de poliedros seleccionados con respecto al eje y Rota 90º (por defecto, mirar Preferences) un grupo de poliedros seleccionados con respecto al eje y Invierte la posición de un grupo de poliedros seleccionados con respecto al eje z Rota 90º (por defecto, mirar Preferences) un grupo de poliedros seleccionados con respecto al eje z Usando un poliedro, y dándole a este botón, seleccionaremos todos aquellos poliedros que se encuentren dentro de la altura máxima del poliedro utilizado como señalador. Con un poliedro seleccionado, con este botón se seleccionarán todos aquellos que estén tocando al poliedro señalizador Con un poliedro seleccionado, con este botón seleccionaremos todos los poliedros que se encuentre dentro del poliedro señalizador tanto como completa como parcialmente.

Con un poliedro seleccionado, con este botón seleccionamos todos los poliedros que se encuentren completamente dentro del poliedro señalizador. Con un poliedro seleccionado y dentro (completa o parcialmente) de otro (no seleccionado), con este botón restaremos el volumen del primero al

segundo. Seleccionamos varios poliedros, y si estos no poseen una parte cóncava, este botón convertirá a todos esos poliedros en unos solo. (Útil después de varios Substract). Con un poliedro seleccionado, este botón crea un espacio en su interior con las paredes de un ancho igual al ancho que tengamos señalado en el "grid" del mapa (ver menús). A parte de un tipo de mecheros, esta "herramienta" permite poner hasta 3 puntos en la vista 2D. Este es uno de esos botones que no se para que valen exactamente. Este botón nos permitirá cambiar la vista de la ventana 2D para poder ver nuestro mapa desde distintos planos. Este botón sirve para cambiar la forma en la que vemos las texturas en la ventana 3D. Desde no ver ninguna hasta verlas con filtro trilineal. Es útil si no disponemos de un buen pc y al ver algunos mapas muy lentos de mover en la vista 3D. Esta otra herramienta es muy útil para mapas muy grandes o pc poco potentes, ya que afecta a la ventana 3D haciendo que no se dibuje todo a la vez, si no que solo dibuja los poliedros que están a una determinada distancia, ignorando el resto (y aumentando la velocidad de la vista 3D. Pues eso, con un poliedro seleccionado, pulsando este botón y usando el ratón, podemos rotar dicho elemento en los 3 ejes del espacio. Se usa para poder escalar el tamaño de cualquier poliedro en cualquier eje del espacio Se usa para poder escalar el tamaño del cualquier poliedro en el eje X Se usa para poder escalar el tamaño del cualquier poliedro en el eje Y Se usa para poder escalar el tamaño del cualquier poliedro en el eje Z Este botón se debe de activar si no queréis seleccionar los poliedros de los

modelos (Ven un poco mas adelante) Este botón se debe de activar si no queréis seleccionar patches (elementos basados en superficies NURB, ver mas adelante)
(elementos basados en superficies NURB, ver mas adelante)

Pulsa este botón para rodear con un cubo los patches que uses en tu mapa Con este botón los patches de tu mapa se mostraran como una malla de alambre. Si pulsas este botón mientras tengas un patch seleccionado tendrás la posibilidad de doblar ese patch por los ejes principales. Para cambiar de ejes sólo tienes que pulsar el tabulador Usa este botón cuando quieras tapar las bases de un cilindro, el exterior del arco... lo puedes seleccionar desde el menú que te aparece... Este botón viene pulsado por defecto y creo que sirve para que al mover las aristas de un poliedro, se muevan todos los vértices a la vez (o algo) Este botón viene pulsado por defecto y creo que sirve para mover vértices que estén en línea o algo así. Este último botón te da la opción de elegir la representación que tendrán las entidades en tu vista 3D. Las opciones van desde la representación mas sencilla, hasta la más compleja (pero claro, también hará que tu editor sea más lento) ATAJOS MUY IMPORTANTES DEL TECLADO Barra Espaciadora: Te hartarás de usar esta tecla, por que una ves seleccionado cualquier elemento del mapa (poliedros, modelos, entidades, patches,...) lo que sea y en cualquier medida, si pulsamos la tecla espaciadora, el editor creará una copia exacta de lo que tengas seleccionado. Con una sola pulsación creamos el mismo efecto que si hiciésemos el control+c y el control+v. Tecla "R": Pulsando esta tecla mientras se tiene seleccionado, aparecerá un eje rosa en el centro del poliedro o poliedros seleccionados. Tras eso, si pinchamos el poliedro y movemos el ratón, rotara libremente sobre el eje no representado en la ventana 2D (por ejemplo, si estamos en la representación X,Y, rotaremos el poliedro sobre el eje Z). Para volver al estado normal, solo hay que volver al pulsar la tecla "R".

Tecla "E": Para poder mover las aristas (edge=arista, tecla E) pulsamos esta tecla y aparecerán esas marcas azules (ver imagen). Pinchando en ellas (botón izquierdo) podremos cambiar el aspecto de nuestro poliedro. Para quitarlas, solo hay que volver a pulsar "E".

Tecla "V": Para poder mover los vértices (vertex=vértice, tecla V) pulsamos esta tecla y aparecerán esas marcas verdes (ver imagen). Tal y como si fuera el caso anterior, pinchamos y arrastramos. Pulsando la tecla V volvemos al estado inicial.

Tecla "N": Si queremos editar las propiedades de una entidad (eNtity=entidad, tecla N) pulsamos esta tecla. Hay que estar atento, por que aunque sea la misma ventana la que sale en distintas entidades, hay opciones distintas para cada una (en la región donde pone KEYS se puede encontrar una valiosa ayuda para esa entidad). La de la imagen corresponde a una luz.

Tecla "S": Cuando queramos ajustar una textura (surface inspector=inspector de superficies, tecla S) a una cara o aun arco (patch) solo debemos de seleccionarlo y pulsar esta tecla. Se nos mostrara una ventana en la que tendremos múltiples opciones de ajuste. Para aprender bien a usarlo es necesario un poco de práctica, os dejo que testéis por vosotros mismos

Tecla "K": A la hora de poder cambiar el color ("kolor"=color, Tecla K) de una luz, por ejemplo, deberemos pulsar esta tecla y elegir el color.

Básico:
¿Qué es un mapa? Para empezar a editar hay que tener un concepto muy claro, y es que qué es un mapa. Un mapa es un espacio cerrado formado por poliedros, patches, entidades,... en el que el jugador tiene libertad para moverse e ir superando retos. Una cosa que tendremos en cuenta es que no puede haber ninguna abertura hacia la parte exterior, hacia donde no hay nada. Si esto ocurriera, el mapa se consideraría "leaked". El editor nos avisaría mostrando una flecha hacia el agujero. Esto es un error de principiante y deberemos de evitarlo al máximo (muy útil la herramienta de hollow). A la hora de compilar el mapa, el programa navega el mismo viendo que es lo que se ve en cada lugar, y así saber que se ve en cada sitio y solo dibujar esa parte si el jugador se encuentra ahí. Esta es una manera de mejorar la velocidad del juego, pero que hace que compilar el mapa sea algo lento. Los Poliedros (brushes)

Los poliedros son los elementos básicos que componen un mapa. Pero ¿cómo se crean? No podría ser más sencillo. Situamos el cursor en la ventana 2D, pinchamos con el botón izquierdo y arrastramos. Un rectángulo rojo discontinuo nos indicará que hemos tenido éxito. Ahora lo podremos mover usando el botón derecho del ratón. Para poder cambiar el tamaño de nuestra pequeña creación, pincharemos con el botón derecho del ratón fuera del rectángulo pero cerca del lado por el que queramos cambiar el tamaño, y arrastramos. En el caso de que pinchemos fuera y cerca de una esquina, lo que conseguiremos es que el cambio de tamaño se haga a lo alto y a la ancho (para ser exactos eso depende de la vista elegida en la ventana 2D. Si queremos crear poliedros de más lados deberemos crear un poliedro, y con este seleccionado entrar en el menú "brush" y elegir el número de lados y listo (para cambiar el tamaño recomiendo que se haga por aristas [E] y no pinchando por un lado y arrastrando. Para deseleccionarlos o los volvemos a seleccionar (quedará como al principio) o damos a la tecla ESCAPE (Esc), deseleccionando todo lo que tengamos seleccionado (hay que recordar esto por que se aplica a cualquier cosa del mapa que tengamos seleccionada). Por último es necesario saber que para poder borrar un poliedro hay que darle al retroceso. Si se tienen muchos elementos seleccionados, se borraran igualmente.

Las Superficies NURB (patches) Las superficies NURB (patch en adelante) Estas superficies basadas en matrices y fórmulas matemáticas de cónicas son muy importantes por su versatilidad. Pero a lo que vamos. ¿Cómo se pueden crear? Primero creamos un poliedro (brush) y con este seleccionado nos vamos al menú "Curve". Aquí se nos plantean múltiples opciones, desde crear cilindros (con pocos o muchos lados de "detalle"), conos (como en la imagen), bóvedas de cañón (end cap) y semiarcos (bevel). Además podremos crear simples superficies planas (simple patch mesh) con la posibilidad de editarlas como si fuera un patch. A la hora de editar estos elementos, se pueden varia de tamaño como un poliedro cualquiera, pero para poder editar la forma es necesario que los editemos vértice por vértice. Y eso o haremos pulsando la tecla "V" y moviendo las marcas azules, verdes y rosas que nos aparecerán en la vista 2D (ver imagen). Para deseleccionarlas pulsamos escape, como con los poliedros. También podremos borrarlos de igual manera. Hay una utilidad dentro del menú Curve que es especialmente útil, ya que nos permite invertir estos patches. Por ejemplo. El cono de la imagen, si lo observamos desde arriba en la ventana 3D veremos que es opaco (con la textura que hayamos elegido). Pero si lo miramos por debajo e intentamos ver el interior, lo veremos transparente y no se representará en nuestro mapa compilado. Imaginemos por un momento que queremos representar una especie de ensaladera gigante en nuestro mapa. Creamos un cono, le damos la vuelta y lo modificamos para que parezca el fondo

de la ensaladera. La veremos en formad e malla de alambra (transparente) por que ese "cono" esta creado para mostrarse si se ve desde fuera. Bien, si queremos que se "invierta" esta representación, deberemos irnos a Curve->Matrix->Invert (o control+I). Veremos que ahora aparecerá opaca nuestra superficie. Fijarse en las imágenes para aclararse bien. La de la izquierda esta tomada desde abajo y sin invertir. La de la derecha esta tomada desde arriba, y está invertida.

Texturas y Shaders Que no os asusten los nombres de estos 2 elementos. Las texturas no son más que imágenes en formato digital, en .jpg y en .tga en su mayoría. La elección de la textura adecuada es algo que solo se puede conseguir con algo de práctica y sobre todo sabiendo, mas o menos, que textura esta en cada categoría. ¿Pero cómo se eligen las texturas? En la barra de menús, bajo el nombre Textures veremos una primera parte de opciones y des pues las texturas organizadas alfabéticamente por categorías. Seguramente, nada mas instalar tu Quake 3 y tu GTK, no dispongas de tantas categorías como las que aparecen en la imagen, a mi me aparecen tantas por que cada vez que instalas un .pk3 de un mapa con texturas propias, se crea una categoría con el nombre del mapa. Veamos las opciones. Los shaders ya son harina de otro costal. Si, están basados en texturas, pero lo bueno es que esas texturas pueden tener transparencia, efectos como girar o cambiar de tamaño, etc. Podrás identificar que texturas son shaders por que en la ventana de texturas, éstas están rodeadas por un recuadro blanco. Las que estén con un recuadro verde, es que ya se han usado. Como apunte final de shaders decir que las que tengan fondo negro,

éste se vuelve transparente ofreciendo un buen numero de posibilidades creativas. Para poder aplicar una textura a una cara o poliedro, primero se selecciona este y después se pincha en la textura deseada. Verás que en la vista 3D aparece la textura en el poliedro. Show In Use: Con esta opción marcada, solo aparecerán en la ventana de texturas, las que se hayan usado hasta el momento en el mapa en el que se trabaje. Show All: Cuidado al seleccionar esta opción, ya que cuando arranque el editor, no estará listo hasta que no cargue todas las texturas. Si tenemos en cuenta que por lo menos, en mi lista, hay más de 250 megas en texturas, el editor tardaría un rato en cargarlas. Además, nuestra Ram desaparecería a pasos agigantados. Y si solo disponemos de 128 megas (lo mínimo para el editor) será un horror trabajar. Show Shaders: Con este botón dejaremos aparecen a los shaders en nuestra ventana de texturas. Flush&Reload: Es como hacerle un reset a las texturas, en el caso de que editor empiece a mostrarlas mal (no pasa mucho, pero suele pasar. Y es más cómodo darle a esta opción, que guardar, salir y ejecutar de nuevo. Load Directory: Se le da un directorio donde tengamos texturas, y el editor nos la mostrara en la ventana de texturas Directory List: Lista todos los directorios donde el GTK encuentre texturas. Surface Inspector: Ver "ATAJOS IMPORTANTES DEL TECLADO" Render Quality: Nos da la posibilidad de elegir la calidad con la que las texturas se nos mostrarán en la vista 3D. En ordenadores poco potentes esta opción les ahorrará uso de CPU. Find/Replace: Encontrar y sustituir, para cambiar todas las texturas de un mismo tipo en el mapa sin tener que cambiar todas una por una. Texture Lock: Bloquea las texturas para impedir que se giren o se desplacen cuando se hacen transformaciones en los poliedros. Texture Windows Scale: Para cambiar el tamaño de representación de las texturas en la pantalla de texturas. Shaderlist.txt Only: Solo carga las texturas que aparecen en el archivo Shaderlist.txt

Para terminar el apartador de texturas, decir que si se quiere profundizar mas en los Shaders, ir a la parte de archivos y descargaros el editor de Shaders.

Los Modelos Es la hora de introducir adornos en nuestro mapa. Quake 3 posee la posibilidad de introducir modelos que en su mayoría han sido editados con un programa externo

al GTK. Se suele usar el 3D Studio. Pues bien, para poder introducir estos modelos (hay bastantes y además se pueden descargar de Internet) hay que pinchar con el botón derecho del ratón en la ventana 2D y seleccionar Misc -> misc_model. Veremos una ventana de Windows y una carpeta "mapobjects". Abrimos, veremos los archivos clasificados por carpetas. Los modelos tienen extensión .md3. Una de las cosas que se deben de tener en cuenta es que un modelo en un mapa compilado es "transparente" al jugador, se ve, pero se puede caminar a través de él. Para solucionar esto, es necesario que se rodee al modelo con un poliedro con textura "cushion" (cojin) no se ven en el mapa pero son "sólidos" y no se pueden atravesar. Para mas detalles ver la sección de Common Textures, un poco más adelante.

Las Entidades

No todo en un mapa son poliedros, patches y modelos. Veremos las más comunes. Debemos introducir elementos para poder indicarle al mapa las zonas iluminadas, los spawn (de donde salen los jugadores al principio del juego o cada vez que los matan y vuelven a salir. También es necesario indicarle al mapa detalles como donde poner las armas, la minución, los items). Además de lo indicado anteriormente, las entidades abarcan cosas más técnicas como las funciones asociadas a piliedros y a texturas. Empecemos por una de las entidades más usadas: las luces. Las encontraremos pinchando con el botón derecho del ratón en la ventada 2D. Una vez pinchemos en la opción en light veremos la ventana donde podremos indicar la cantidad de luz que emitirá la entidad. Si deseamos cambiar el color a la luz, la seleccionamos y pulsamos la tecla "K". La manera de representar las luces en el editor se hace mediante la forma de un diamante. Otra entidad que usaremos mucho será la de los info_player_... Estas entidades indican de donde saldrán los jugadores durante el juego. Se encuentran dentro de la categoría info. info_player_deathmatch: Se usa para indicar de donde saldrán los jugadores en las partidas DM info_player_start: Esta entidad es la que se usa por defecto para el spawn de los jugadores, y sobretodo para poder probar los mapas antes de poner todo lo necesario. Un mapa no cargara si no existe por lo menos el info_player_start. info_player_intermision: Esta entidad es usada para indicar la cámara que se usa entre partida y partida, donde se muestran las puntuaciones y esas cosas. Esta entidad y todas las de info poseen una flecha que indica en que dirección estará orientado el jugar cada vez que salga en ese spawn. Pulsando "N" y con las teclas de ángulos lo podremos cambiar.

Ammo: Aquí se clasifican las entidades que se usan para poner munición en el mapa. Si ya has jugado al quake 3, verás que las municiones que aquí aparecen, son las del juego, así que no me extenderé en explicarlas una por una. Si no has jugado, juega antes de ponerte a hacer mapas :P. Func: Es en este menú donde se encuentran la mayoría de las entidades que se aplican a un con junto de poliedros. Estas entidades necesitan de configuración adicional para definir velocidad y cosas por el estilo. Esto se hace siempre seleccionando la entidad (si es un grupo de poliedros se seleccionarán todos a la vez si se selecciona solo uno) y pulsando la tecla "N" (ver atajos del teclado). Para aplicar una función a un grupo de poliedros, los seleccionamos y pinchando encima de ellos con el botón derecho seleccionamos la función que deseemos. Hay que tener en cuenta que las funciones van asociadas a poliedros, si deseamos que tab se mueva un modelo con la función hay que indicarlos con el kay model y el valor del path donde se encuentre, ven la ayuda de la ventana. Veamos de qué funciones disponemos. func_bobbing: Esta función se usa para que el poliedro o el grupo de poliedros a los que se aplican oscilen en el mapa en cualquiera de los 3 ejes del espacio. Pulsando la tecla

"N" veremos que podemos elegir el eje, la velocidad de oscilación (ver la pequeña ventana de ayuda que sale en la ventana de entidades), la fase, etc. func_button: Esta función se usa para activar otras funciones o elementos del mapa. Esta función hace que el poliedro o poliedros asociados se muevan a la hora de que un jugador los toque. Esto hace activar cualquier cosa que tenga un targetname que coincida con el target del botón. Esto del target y targetname es nuevo en tutorial, así que nos extenderemos un poco. Esto de los targer se usa para que entidades se apunten unas a otras, para que las luces apunten a un determinado lugar, una plataforma que se mueva de un lado a otro. etc. Para hacer que una entidad apunte a otra, seleccionamos la primera, luego la segunda y pulsamos control+k. Veremos una línea verde con una flecha entre las 2 entidades. También se puede hacer a mano, pero es un coñazo enorme. func_door: Con esta entidad podremos crear el efecto del una puerta que se abre automáticamente según nos acerquemos. Una vez que se pone la puerta, deberemos de indicarle la dirección en la que se abre, la velocidad, el tiempo hasta que se cierre de nuevo, esas cosas. Podemos crear dos juntas, ponerles direcciones opuestas y tener una puerta doble. func_group: Se usa para poder elegir un conjunto de poliedros con un solo clic. Para estructuras complejas es bastante útil. func_pendulum: Como su propio nombre indica se usa para hacer péndulos. Es muy parecido a la función bobbing, de hecho necesita los mismos parámetros. Pero además hace falta una cosa más, y es un eje de giro. Para definir este eje de giro, necesitamos colocar un poliedro especial altes de crear la función. Este poliedro se crea en donde queramos que esté el eje de giro (ho hace falta que sea muy grande) y se le aplica la textura "origin" que podemos encontrar dentro de las Common textures. Una vez hecho esto se le aplica al conjunto la función bobbing. Esto tendrá que hacerse también para la func_rotating. func_plat: Esta función existía ya para quake II. Lo que hace es que cuando el jugador se sitúa encima sube hasta una altura máxima que se puede definir. También se puede elegir el tiempo de espera hasta que pueda bajar y esas cosas... func_static: La verdad es que nunca he usado esta función, pero su uso tiene es para crear paredes o modelos condicionales, es decir, su aplicamos es función a un poliedro, este se vuelve no-sólido. Con un trigger sencillo, podemos hacer que ese muro sea sólido y cosas por el estilo func_timer: Para poder realizar funciones controladas por el tiempo, podemos usar esta función. Desde desencadenar funciones cada cierto tiempo o hacer que estas sean parcialmente aleatorias. Con el key wait elegimos el tiempo y con el random el intervalo de variación mínimo y máximo que se usará como aleatorio. func_train: Esta es una función que tiene su gracia debido a que podremos crear plataformas móviles. Podremos elegir velocidad y trayectoria. Lo primero se hace desde la ventana de entidad ("N"). Para ver en más detalle que necesita ver la pequeña pantalla de ayuda que hay. Para poder elegir la trayectoria debemos crearla con path_corners y proceder así. Apuntamos la plataforma hacia el primer path. Ese lo apuntamos al

siguiente y al siguiente, etc. Cuando lleguemos al último de ellos, lo apuntamos al anterior, y ese al anterior, hasta llegar al primero, pero cuidado, no apuntemos el primero hacia la plataforma. Recordar que para hacer esto de una manera rápida y sencilla es elegir el primer elemento (seleccionarlo) después seleccionamos el segundo sin deseleccionar el primero. Tras esto pulsamos control+"K" y veremos una línea verde que une los dos, así de fácil. Con un par de pruebas se ve que no es difícil.

Holdable: En este menú encontraremos los items del juego que podremos llevar y activar cuando creamos necesario. Dependiendo de la versión del juego que tengamos (si solo el quake III o con las modificaciones del team arena) este menú puede cambiar un poco. Veremos 2 de estos items que seguro que seguro que estarán. Holdable_Medkit: El jugador que lo pille en el mapa y le de a intro (tecla por defecto) verá que su vida sube hasta el máximo. Holdable_Teleporter: El jugador que lo pille y lo active aparecerá en otra parte del mapa.

Info: En este menú encontraremos las entidades para colocar los spawns básicos. info_player_deathmatch, info_player_start e info_player_intermision. Este último se usa para la vista que tendrán los jugadores entre mapa y mapa (donde se muestran las puntuaciones). Para las partidas CTF deberemos insertar los spawns del menú CTF. Item: En este menú se reúnen los items que se pueden incluir en el mapa, para que los puedan coger los jugadores. Light: Para introducir luces en el mapa. Misc: Aquí podrás encontrar el menú model con el que se insertan los modelos. Pero hay más... misc_model: Pinchando ahí se abrirá un diálogo de Windows y nos pedirá que escojamos un archivo con extensión .md3 (modelos para quake III). Con el modelo elegido veremos que se nos muestra en pantalla. Mucho cuidado por que no todos los modelos funcionan, algunos no poseen texturas y otros pueden que estén vacíos. No hay mas tema que ir mirando, por que ni yo me los se todos. misc_portal_camera: Estae entidad solo la he usado un par de veces y no sola, si no para crear lo que se llaman portal camera. Si habéis jugado al quake III, en la primera pantalla hay un portal en el que se ve otra parte del mapa. Pues bien, eso es un camera portal. Quizás ponga un pequeño tutorial para crear este efecto... es un poco complicado y quizás no te funcione a la primera, pero mola. Para explicar que es lo que hace, es la entidad que indica al motor del juego que parte va a dibujar, es como si fuera la cámara que usamos para enfocar la imagen.

misc_portal_surface: Otra entidad también usada para los portal camera (lo que explico antes) pero también para crear espejos (aquí se puede ver como construirlos). Básicamente lo que hace es que indica que ciertas superficies deben de ser áreas de dibujo de otras partes del mapa. misc_teleporter_dest: Entidad usada para indicar a los trigger teleporter (transportadores) donde tienen que "dejar" al personaje. También veremos un tutorial para crearlos.

Path -> path_corner: Entidad que se usa para indicar direcciones o lugares al compilador. Puede estar asociado a multitud de cosas. Uno de los usos más frecuentes es el de indicar el camino una func_train. Pero eso ya se ha visto anteriormente. shooter: Las entidades de este menú se usan para crear "cañones" que disparen solos. Dependiendo de la entidad usada, el arma dispara será diferente. Hay que tener en cuenta que es necesario que lo "dispare" algo. Lo más usual para que dispare cada cierto tiempo es usar una func_timer o un trigger_multiple. shooter_grenade: Usa esta entidad para que dispare grenades. shooter_plasma: Usa esta entidad para que dispare como una plaspa gun. shooter_rocket: Usa esta entidad para que dispare rocket.

Target: Dentro de este menú encontraremos entidades muy útiles a la hora de crear los mapas. Hay muchas y muy variadas, y la verdad no estoy muy seguro de lo que hacen todas. Como último recurso siempre podéis leer la ayuda de la pantalla de entidades. target_delay: Es como el target_relay, (para hacer funcionar cosas cada cierto tiempo), pero se diferencia en que este tienen que ser activado para que funciones... es como activar un temporizador, pero claro, hay que activarlo. target_give: Esta entidad da algo (arma, munición, powerups, lo que sea) al jugador que active esta entidad tocando el trigger que lo active. Para más info, consultar la pantalla de entidades dándole a la "N" con la entidad seleccionada. target_kill: Si queremos que el jugador "muera" cuando active algo, necesitaremos que ese algo apunte a esta entidad. El jugador será entonces historia. target_location: Para poder definir zonas en un mapa (muy útil para las partidas CTF). Solo debamos situar la entidad en la zona determinada. Además deberemos de usar la key message y poner el nombre de la zona en la que se ha puesto la entidad. Cuando se juegue, el jugador se encontrará en la zona del target_location más cercano. target_position: target que se usa para ayudar a otras entidades como misc_portal_camera o trigger_push (para los rebotadores). También se usa crear el

efecto de "foco" con las luces. Normalmente las luces iluminan como si fueran una esfera de luz. Si apuntamos una luz a un target_position (recuerda, usando control+"K") la luz se dirigirá hacia el target en el sentido de la flecha verde que aparece cuando los unes. target_print: Cuando es activado, imprime un mensaje en el centro de la pantalla, que por defecto, verán todos los jugadores. Esto se puede configurar, ver en la pantalla de entidades. target_push: Se usa para crear jumps_pads. La dirección se ajusta con el key angle, pero también se puede hacer apuntando a un target_position o a un info_nonull. Por defecto no funcionará al arrancar el mapa. Hay que activarlo para que funcione. Los jumpads siempre funcionan. target_relay: Este target se debe de activar. Entonces el relay activa sus propias entidades y trigger y lo que sea o algo. target_remove_powerups: El jugador que lo active (mediante un botón, un trigger multiple, lo que sea) se quedará sin los power up que el jugador tuviese en ese momento. target_score: Este target se usa para dar puntos al jugador que lo active. Se puede activar con los info_player_loquesea y los CTF respawns. También, con cualquier otro trigger se puede activar. target_speaker: Target muy importante ya que nos permite introducir sonidos en el mapa. Se puede regular el volumen, hacer que el sonido se oiga por todo el mapa y también hacer que el sonido se reproduzca continuamente (hablo de los controles global y looped on) target_teleporter: A diferencia del trigger_teleport, esl target_teleport tiene que ser activado por el jugador. El destino de este target se debe de indicar con misc_teleporter_dest.

Team: Aquí encontraremos entidades relacionadas con los mapas de CTF, tales como los respawn y las banderas. team_CTF_blueflag: Con este podrás introducir la bandera azul en el mapa. team_CTF_blueplayer: A la hora de hacer los spawn de CTF, tenemos que poner dos clases de entidades. Con esta, la blueplayer ponemos donde saldrán los jugadores del equipo azul por primera vez, nada más cargar el mapa. Pero ya no se vuelven usar. Para poner los respawns debemos de usar el bluespawn. team_CTF_bluespawn; Con esta entidad es con la que colocamos los respawn de el equipo azul, la que se usa cada vez que se muere y se entra otra vez en el mapa. team_CTF_redflag: Para poner la bandera del equipo rojo.

team_CTF_redplayer: Como blueplayer, pero para el equipo rojo. Sólo se usa la primera vez. team_CTF_redspawn: Con este es con el que sí que se colocan los respawn del equipo rojo, como bluespawn para el azul.

Trigger: En este menú encontraremos los elementos necesarios para activar entidades o eventos en el mapa. trigger_always: Esta entidad activa las entidades del mapa a las que apunta nada mas cargarse el mapa. Por eso de lo de always (siempre). trigger_hurt: Esta entidad se usa para que cuando un jugador la toca se hace un determinado daño. Para poder usarlo hay hay que aplicarlo aun poliedro con la textura trigger. trigger_multiple: Al aplicar esta entidad a un poliedro con la textura trigger podremos disparar cualquier cosa en cuanto un jugador lo toque. trigger_push: Estre trigger empujará al jugador en una determinada dirección, incluso volando, en el momento en que el jugador en cuestión lo toque. Para determinar la dirección debemos apuntar el trigger hacia un info_nonull o un target_push. trigger_teleport: Como los anteriores esta entidad se aplica a un poliedro con textura trigger (seleccionando el poliedro y pulsando el botón derecho del ratón encima de él y seleccionando esta entidad). Se apunta a misc_teleporter_dest y en el momento en que el jugador toque el poliedro se teletransportará al lugar donde se ponga el misc_teleporter_dest.

Weapon: Para poder incluir armas en el mapa deberemos entrar en este menú. Están todas y es tan sencillo como seleccionarlas y ponerlas en el mapa.

Las texturas Common
Además de con los shaders, se pueden obtener grandes efectos en nuestros mapas gracias a las texturas common. Hay que tener en cuenta que estas texturas se muestran en la vista 3D tal y como son en la vista de texturas, pero ojo, no se muestran tal y como quedarán compiladas. Con ellas podremos crear espejos, superficies resbaladizas, indicar el eje de giro de una func_rotating... y asi muchas cosas que darán vidilla a nuestro mapa. Aquí se muestran las más.

Bot do not Enter: Utiliza un poliedro con esta textura y colócalo en la parte del mapa donde no quieras que los bots entren, un pasillo, una sala, lo que sea. Ellos no pasarán por hay.

Caulk: IMPORTANTISIMA textura a la hora de compilar mapas. Los editores de mapas de ID son muy meticulosos a la hora de usar esta textura. El efecto que produce aplicar esta textura a una cara o a un poliedro, es que no se muestra en el juego, pero además es como si hubiera un agujero en el mapa. Es un efecto muy raro lo podéis probar. Pero la función real de esta textura es que a la hora de compilar, ignora esa cara o poliedro. La manera de usarla es aplicarla a las caras que los jugadores no pueden ver mientras juegan (por ejemplo, la base de un cubo situado en el suelo). Así se le ahorra mucho trabajo al compilador que, en nuestro ejemplo, sería la base del cubo. Úsala con cabeza, pues una caulk mal puesta, puede quedar muy mal.

Cluster Portal: Pero para poder explicar que es lo que hace habría que describir la estructura del árbol BSP (el mapa compilado). Por encima, el árbol bsp "explica" que es lo que ve el jugador en cada una de las partes "jugables" del mapa. Pues bien, la textura

cluster portal bloquea una parte del árbol bsp para que el jugador no lo vea, o lo que es lo mismo, para que el motor gráfico del quake 3 no lo renderize, y por tanto que valla más rápido. Pero, ¿dónde usarlos? Bien, no os comáis el tarro. Si hay pasillos que unen salas en tu mapa y estos tienen ángulos en su recorrido, poner un poliedro de esta textura en los vanos de las puertas que comunican dichas habitaciones. Esto combinado con la textura hint, ayudamos al motor gráfico a ahorrar tiempo de dibujo en pantalla.

Cushion: Cuando en la parte de modelos se comentaba que era necesario rodearlos con la textura de la que hablamos ahora, es por que el efecto que produce es, si la aplicamos a un poliedro, este, dentro del mapa no se ve, pero es sólido. Por eso se usa con los modelos para que estos no sean "atravesables". Si por ejemplo quisiéramos hacer una plataforma invisible, o cualquier otra cosa, usamos la textura cushion con los poliedros adecuados en cada ocasión. Hint: Esta textura se usa para crear poliedros limitadores de regiones de dibujo. Se tienen que poner ocupando todo el espacio de las regiones que forman un todo en el mapa (que solo se dibujan en pantalla cuando se esta muy cerca de ellas o si estamos en ellas). Se usa para optimizar el tiempo que se usa para mover el mapa. Mirror1: Esta textura se usa para crear superficies reflectantes para crear el efecto de espejo. Como nota, y para aquellos de mentes más retorcidas, hay que decir que el efecto de infinitos reflejos al poner un espejo delante de otro, no funciona, así que no penséis ya en cosas raras. Aquí podéis ver como se crea. No Draw: Textura muy útil si se usa con shaders con transparencia. Supongamos que usamos una textura de tipo "grate" (rejilla). Usamos la textura en cuestión en una cara, y en el resto usamos la no draw para que no se vea y parezca una sola cara con la textura de rejilla. Las otras serán sólidas pero no producirán partículas si las disparamos. La diferencia con la textura cushion es que ésta si que produce partículas. No Draw Non Solid: Esta textura tiene el mismo efecto que la anterior, pero con la ventaja, de que esta convierte al poliedro en cuestión atravesable por el jugador. Esto se usa para hacer el efecto de "light beam" rayo de luz, los halos de luz que salen de las luces... Origin: (origen) Como su propio nombre indica, esta textura se usa para indicarle al editor el centro de algunas funciones, como la de func_rotating (hacer rotar los poliedros respecto a un eje). Hay un apartado que explica las funciones.

Slick: Esta textura hace que los poliedros a los que se aplique se vuelvan transparentes, pero el si se coloca justo encima del suelo, este se volverá MUY resbaladizo, haciendo el efecto de una pista de patinaje. Es relativamente divertido si no se abusa de él.

Terrain: Esta textura es la que indica al compilador que a lo que esta aplicado es una entidad. De hecho es una entidad terrain y una entidad funcgroup. El caso es que esta se suele aplicar sola al usar el plugin GenSurf, para generar terrenos, y el compilador usa las texturas que le indiques en relación con la altura.

Trigger: Esta es una textura de muchas aplicaciones. Cuando un poliedro tiene esta textura, este poliedro puede realizar muchas funciones. El caso es que esta textura se utiliza para indicar al compilador que va a estar asociado a una determinada función. No todas las funciones se aplican usando la textura Trigger, pero una gran parte (y algunas muy importantes) se usan usando poliedros con textura trigger. Ver el apartado de funciones.

Primer paso: creación room

1- Para crear nuestra primera debemos de crear un cubo de un tamaño medio, unos 256 de alto, unos 500 de largo y otros 256 de ancho. Para crear el cubo o poliedro solo debemos pinchar con el botón izquierdo del ratón en la ventana 2D y arrastrar, como ya deberíamos de saber. Para ajustar la altura podemos hacerlo desde la vista del eje Z o cambiando la vista de la ventana 2D. Una vez este creado (seguramente en una textura

azul y negra -shader not found-) lo seleccionamos todo y le damos textura caulk a todo el cubo.

Una vez que ya tengamos el cubo en rosa (caulk) buscaremos el botón Hollow y lo pulsamos. Veremos que el cubo se ahueca y de ha un espacio en su interior. El tamaño de las paredes (en unidades) será igual que el valor del Grid que tengamos puesto en el editor (ver Menú Grid. Nota: Yo suelo trabajar en grid 8, pero para detalles en grid 2 e incluso en grid .50 -para ajustar vértices-).

Ahora deberemos texturizar las caras interiores del cubo, que serán las caras que veremos a la hora de jugar nuestro primer mapa. Para ello deberemos seleccionar solo las caras (control+alt+shift y pinchar con el ratón la cara adecuada de la vista 3D ). Para poner las texturas de las paredes, las seleccionamos y cargamos las texturas de base base_wall. En las paredes he puesto c_met7_2, en el suelo atech1_f y en el suelo floor_wall_3 (sólo si queréis que vuestra habitación sea como la del ejemplo, pero poned la textura que os de la gana, ir probando).

Deberemos ahora de incluir luces a nuestro mapa. Si no pusiéramos ni luces ni texturas con luz, el mapa nos quedaría en negro. Pero hay una manera más de incluir luz en un mapa, y es usando texturas de "cielo". Si por ejemplo, en vez de usar la textura de techo que hemos puesto, ponemos una de el menú "sky" (por ejemplo hellsky) esta iluminará el mapa con luz, muy parecida a la natural o a la de un posible sol. En nuestro caso pondremos 4 luces (para ponerlas solo deberemos pinchar con el botón derecho en la ventana 2D y elegir light) de entre 100 y 170 de cantidad de luz. Veremos que al poner la luz en el mapa se nos abre una ventana para poder elegir la cantidad de luz (como se ve en la imagen). Si quisiéramos cambiar la cantidad de luz sin tener que borrar y volver a crear, pulsamos la tecla "N" y en key ponemos light y en value el que queramos darle de cantidad de luz, como si fuera la ventana que decíamos antes

Para que podamos entrar en nuestro mapa hay que poner un info_player_start (dentro del menú info del menú que sale pulsando con el botón derecho del ratón. Creo que empezaré a llamarle menú de la ventana 2D). Si queremos cambiar la dirección de la flecha (hacia donde mirará el jugador cuando salga por ahí) pulsamos la tecla "N" y elegimos el ángulo en los botones de la esquina inferior izquierda. Para poder compilar y jugar nuestro mapa deberemos hacer antes un par de cosas. La primera, guardar el mapa con el nombre que sea e ir a edit->preferences->BSP monitoring y seleccionar "Run engine after compile". Esto hará que ejecute el quake 3 con el mapa una vez lo hayamos compilado. Ahora deberemos darle al menú BSP y elegir -vis -light (hará el render de poliedros quitando las caras que nos e ven y la iluminación). Con estos pases hemos completado ya nuestra habitación

Insertar Niebla

Para comenzar a aprender como se usa la niebla, primero debemos de crear un mapa en donde ponerla. Y nada más sencillo que usar nuestra primera habitación. La cargamos y abrimos las texturas SFX.

Ahora creamos un poliedro de la altura la mitad de la entidad info_player_start (para que a la hora de jugar veamos la niebla a la altura de nuestras rodillas. Si queremos una zona abierta con efecto niebla al estilo Londres solo debemos hacer que los elementos del mapa queden dentro del cubo de niebla. Ahora, con nuestro "cubo de niebla" creado y seleccionado le ponemos a TODAS sus caras la textura FOG. Hay varias, de varios colores, que representan el color de la niebla que veremos en el mapa. Que no os engañe el aspecto del poliedro... una vez compilado el poliedro es atravesable. Ya tenemos nuestro mapa con niebla

Creación de rebotadores:

Antes de crear un pad necesitamos crear una habitación. En la imagen se ve una sala bastante alta con una plataforma elevada, que es a la que queremos llegar con el pad. Ahora creamos un poliedro de 64x64 y lo colocamos en el suelo. Por ahora la textura da igual.

Ahora le prestaremos atención a la textura que vamos a usar. Nos vamos a SFX dentro del menú textures. Navegamos un poco y buscamos las texturas circulares, como las de las imágenes. Seleccionamos la cara de arriba de nuestro poliedro del suelo y le aplicamos dicha textura. Si a la hora de aplicarla aparece movida, como en la imagen, pulsamos la tecla del surface inspector, Le das a la "S" y pulsas el botoncito que pone "FIT" (el marcado en rojo). Verás que la textura se ajusta automáticamente (acuérdate de esto que es MUY útil a la hora de hacer un mapa).

Para darle un efecto menos cuadrado al pad, lo que hemos hecho es mostrar las aristas del poliedro y estirar las de abajo un poco. Se puede ver como tiene que quedar (aunque es solo un ejemplo) pero es una idea.

Bien, ahora hay que explicar un par de pasos. Se supone que con poner un poliedro encima de nuestro pad y darle la textura trigger (dentro de common) bastaría, pero para ajustarlo a la forma del circulo le he dado a brush y después a 8 sided. Lo que hemos hecho es coger un poliedro de 4 lados y convertirlo en uno de 8 lados. No hace falta ponerle más, para ahorrarle vétices al motor del juego. Bueno, total, le damos la textura de trigger y le asignamos una trigger_push (pulsar con el botón derecho del ratón en el poliedro seleccionado desde la vista 2D).

Vale, ahora que ya tenemos el push tenemos que elegir hasta donde va a empujar a el jugador. Creamos un target_position (desde el menú de la pantalla 2D entramos en target). Fíjate donde esta puesto en la imagen y asi te podrás orientar un poco.

Hacer líquidos:

Bienvenidos a este nuevo tutorial sobre GTK Radiant. Esta vez la cosa va de líquidos, de como se crean un mapa y esas cosas. Para empezar a trabajar es necesario que creemos un mapa. Lo más sencillo es coger nuestra primera habitación y empezar por ahí. En nuestro caso hemos quitado las luces y cambiado la textura del techo por textura de cielo (hellsky). Tendremos iluminación y un efecto chachi. No será un habitáculo cerrado y angosto, ahora será del mismo tamaño, pero parecerá más grande. También hemos metido un par de bañeras para retener el líquido. Es aconsejable que sea así para darle un aspecto real al mapa, porque salvo en el espacio el líquido sin recipiente se desparrama.

Bueno, al lió. Creamos un poliedro con la forma y el tamaño que queramos que tenga el agua dentro de las bañeras. Normalmente, yo, antes de dar textura de agua a un poliedro

lo selecciono todo con textura no draw, es una manía, no es necesario, pero no se... lo hago así y ya esta.

Hay 2 maneras de usar la textura de agua (dentro de liquids en textures). Una, que es la más rápida, es dar toda la textura al poliedro. La desventaja es que si unimos 2 bloques de agua (por ejemplo para hacer un conducto de agua) las caras que se toquen harán un efecto raro. Para evitar esto, se hace de una segunda manera. Se da textura no draw a todo el poliedro menos a la cara que se va a ver por los jugadores (ahora me acuerdo por que pongo siempre no draw antes de poner textura de agua). Y así se evita el efecto raro ese.

Vamos ahora a poner lava (que hace pupa). Ponemos un poliedro con la forma y el tamaño que tendrá la lava. Damos textura no draw a todo el poliedro menos a la cara que van a ver lo jugadores. En esa cara ponemos la textura de lava que mas nos guste (que este rodeada con rectángulo blanco para que sea un shader).

En esta imagen se ve la textura que hemos escogido para poner en la bañera. Recuerda, solo en la cara que van a ver los jugadores.

Ahora creamos un poliedro igual que el de la lava, pero un poquito más bajo. Le damos textura de trigger. Le damos la propiedad de trigger_hurt (tal y como lo hacíamos con el

trigger_teleporter). Con el poliedro trigger_hurt damos a la "N" y abrimos las opciones de la entidad. Ahí podremos definir cuanto daño hace nuestra lava (no pongáis demasiado :D)

INTRODUCCIÓN:

Antes de empezar este tutorial, tengo que advertiros que es de los mas difíciles de explicar por que es el que mas teoría sobre mapas tiene. Con teoría me refiero a la manera en que "funciona" y se almacena un mapa, tanto en .map, como en .bsp. Todas las explicaciones que se dan en este tutorial son muy por encima y simplificando mucho para no aburriros con cosas que ni yo entiendo. Para introduciros un poco en el tema os diré que los mapas se almacenan en el famoso árbol binario del bsp. Este árbol almacena la información en ramas. Cada una de estas ramas son las posiciones que puede ocupar el jugador en el mapa. Desde cada una de esas posiciones hay determinados elementos (poliedros y demás historias que se han guardado solo su información de las caras que poseen divididas en triángulos) que se ven y que no se ven. Pues bien, en esas posiciones solo se guardan los que se ven, y así se evita al motor gráfico del juego que se dibuje todo el mapa a la vez.

Para empezar a compilar es necesario tener una serie de archivos mínimos para completar toda la fase de compilación. Estos se instalan (sobre todo los de la imagen) cuando se instala el GTK Radiant, quedando colocados en una carpeta que crea el programa llamada radiant dentro de el directorio ...\Quake III Arena\Radiant. 1.- El mapa a compilar .map

2.- El archivo q3map.exe (el verdadero compilador) 3.- El archivo bspc.exe (para poder meter bots)

Cada uno de estos archivos tiene sus propias funciones. El .map almacena nuestro mapa y lo crea el Radiant. El bspc.exe es el que navega nuestro mapa UNA VEZ COMPILADO para ver por donde pueden ir los bots. Y el q3map es el más importante de todos, ya que nos permite hacer los 3 pasos necesarios para pasar de un .map a un .bsp, que es el mapa compilado. Estos tres pasos son el -bsp, el -vis y el -light. El primero de ellos crea el bsp sin ningún tipo de optimización, o lo que es lo mismo, sin borrar las caras que no se ven desde la vista de los jugadores. El siguiente paso, el -vis, es que optimiza el arbol bsp y las caras que no se ven, etc... El tercer paso es el de iluminación (aquí es donde os explicaría que es eso que sale de portalclusters, numportals, etc... pero es que muuuuy laaaargo de explicar y no me apetece. Si queréis enteraros, mandadme un mail). En este paso, se cogen las entidades light, las surfacelight, los shaders, y en definitiva, todo lo que da luz, y se miden las distancias a las paredes cercadas de cada una de las entidades. Dependiendo de la distancia se crea un patrón de colores en 24 bit y se le va cambiando el brillo dependiendo de la distancia que haya hasta la luz que le ilumina. Esto es a grandes (muy grandes rasgos) lo que pasa a la hora de compilar, por eso hay que hacerlo en máquinas rápidas para no eternizarnos.

Pero metámonos en la parte práctica, que al fin y al cabo es la que vamos a usar, las que vienen por defecto en el GTK. La imagen de la izquierda esta sacada directamente del menú bsp del programa. Aquí se encuentran las opciones más comunes de compilación. Pasemos a explicar las que mas se usan:

1.- BSP,-vis,-vlight: Crea el bsp, lo optimiza, pero hace una iluminación "vertex light", es decir, de calidad inferior a un -light, pero tarda menos. 2.- BSP,-vis,-light -extra: Este es el que uso yo a la hora de hacer la compilación final. Es el que mas tarda por que suaviza la iluminación (-extra) una vez terminado el tercer paso. 3.- BSP,-vis,-light: Este es la compilación correcta y estándar, ya que hace los pasos necesarios y justos, pero no optimiza la iluminación. Tarda un poco menos que la anterior. 4.- BSP,-vis -fast,-light: Hace un optimizado rápido del bsp y lo ilumina. Rápido, pero no muy recomendable para una compilación definitiva.

5.- BSP,-vis; Creación del bsp y optimización, pero NO LO ILUMINA. Tendremos un mapa "full bright" 6.- BSP,-vist -fast,-light -extra: Una de las opciones mas raras. Crea, el bsp, lo optimiza poco (fast) y luego lo ilumina a tutiplen (extra) no lo suelo usar mucho por que tarda tela para el resultado que da. 7.- BSP: Sólo crea el bsp. Es el mas rápido. Lo uso para ver como están quedando las cosas en cuanto a texturas se refiere sin poner luces, ya que NO ilumina. 8.- -light -extra: Ilumina el mapa "chachimente" siempre que hayamos creado el bsp antes. Eso lo sabe el programa mirando si esta el fichero nombremapa.prt, que se crea como referencia desde el bsp para iluminarlo. 9.- -light: Idéntico a lo anterior, pero sin el "chachimente".

Ahora bien, no todo está terminado aquí, ni mucho menos. Ahora es la parte del bspc, es decir, el programita que permite coger tu bsp y crear el fichero .ass, que es el que carga el juego para mover los bots por pantalla. Yo, su os digo la verdad, no me preocuparía mucho por el tema. ya que con el GTKBUILD (ver sección de descargas) se hace dándole a un botón (básicamente). Pulsamos directamente sobre el botón de advanced (A). Se nos abre otra ventanita. Seleccionamos desde la lista 1 el bsp deseado y directamente le damos a build (B) (toquetead las opciones cuando ya tengas un .ass definitivo). Cuando termine (saldrá una ventanita de consola de comandos) al lado de donde tengamos nuestro archivo .bsp, tendremos nuestro .ass. Con ese fichero podremos crear nuestros mapas con bots. No hay que hacer nada especial, si no que solo tenemos que asegurarnos el el quakeIII cargue el ass junto con el mapa. Si carga el mapa y el ass esta en la misma carpeta os aseguro que cargará.

Pues esta es la base para compilar un mapa. Si queréis que se ejecute el juego con el mapa que acabais de compilar iros al menú edit->preferences, lugo en el arbol pulsais bsp y después en las opciones, "run engine after compile". Satara el quakeIII con tu mapa en cuanto termine de compilar.

Creando el PK3 archivar una vez que hayas acabado tu mapa que es hora de convertirlo del archivo estándar de .bsp a un archivo .pk3. Tendrás que hacer esto si deseas publicar tu mapa y dejas siempre a la gente jugarlo. PakScape es la utilidad de la opción que comprimirá tu trabajo y lo hará substancialmente más pequeño para la transferencia directa. Si has utilizado siempre una herramienta de la compresión del archivo como Winzip entonces tú tiene una idea básica sobre archivos de compresión y transferencias directas uncompressing del archivo. PakScape hace la misma cosa pero apoya el formato .pk3 que la identificación utiliza contraer los mapas dentro del juego. Tu mapa de encargo debe conformarse con un formato específico de la carpeta para que el juego para utilizar el nivel que has creado. La mayoría de los mapas nuevos publicaron venido hoy con la ayuda del en-juego que permiten que el usuario desabroche simplemente el archivo en la carpeta baseq3 y utilice la “sola opción del jugador/de la escaramuza” dentro del juego para jugar el mapa. Esto es lo que demostraré te a cómo lograr. El primer paso es conseguir PakScape descargándolo aquí. El paso siguiente será crear una carpeta en “mis documentos” llamados “mi mapa”. Desearás crear las carpetas siguientes dentro de esta carpeta como sigue.

Si entras la carpeta arena III “temblor/baseq3” encontrarás todos los archivos necesarios después de que se ahorre tu mapa. los “levelshots” demuestran la imagen exhibida cuando el mapa carga. los “mapas” tienen el archivo de .bsp y de .ass que dibuja el mapa con la ayuda del BOT. las “escrituras” son donde el archivo de .arena se reclina permitiendo la ayuda del en-juego. los “sonidos” son donde tendrás tus propios archivos de .wav para el sonido. las “texturas” son donde reside cualquier textura de encargo que

hayas utilizado. Ir a continuación y lanzar PakSacape y reducir el programa a una ventana que sea exhibida en tu tablero del escritorio. Después abrir la carpeta de “mi mapa” en “mis documentos” y hacer igual de modo que la ventana esté sobre PakScape como el tiro abajo Ahora copiar los archivos de la carpeta baseq3 en las carpetas apropiadas en tu carpeta de “mis mapas”. Una vez que ésta sea fricción justa hecha las carpetas en PakScape y excepto el entero sortean pues un archivo .pk3. El objetivo es mímico la estructura de archivo en el juego dentro de tu archivo .pk3. El único archivo adicional a agregar será “me leyó” el archivo que explica al usuario cómo instalar el mapa y algunos detalles sobre cómo el mapa fue hecho incluyendo créditos a cualquier persona ti pidieron prestados de. Esto podía incluir texturas, las casas prefabricadas, o los modelos. Por un ejemplo del “leerme” archivo chascan aquí. Apenas abrir la libreta en la sección de los accesorios de Windows para escribir el archivo. Entonces tomar “me leen” archivo junto con tu .pk3 y lo comprimen otra vez pero ahora que usa PakScape excepto la combinación como archivo de .zip de modo que la gente pueda descargarlo y utilizar

Crear teletrasportes:

esta sección te demostrará cómo hacer un teleporter básico y lanzar en otros cuartos. Teleporters es bastante fácil de crear. ¡Son como los saltadores en su funcion pero en vez de saltar te manda a otra sala! La primera cosa que necesitaremos es un modelo del transportador. Derecho clikear encendido la ventana del wireframe donde quisieras que el modelo fuera seleccionar “misceláneo”, entonces “misc_model”. Ir a la carpeta del teleporter y seleccionar “teleporter.md3”. Esto demostrará para arriba como modelo rosado del wireframe en tu mapa con una caja de limitación alrededor de él. El postition el modelo en tu mapa que se cerciora de él es llano ahora con el cepillo del piso. Clikenado “n” traerás para arriba el menú del enity que permitirá que rotes el modelo usando las llaves en la esquina izquierda más baja. Puedes seleccionar 180.360, o lo que para hacer frente al modelo a tu tener gusto. En el cuadro debajo de ti puede ver la trayectoria deseada en el otro cuarto

Una vez que se ponga el modelo crear un cepillo que cubra la columna en el centro del modelo. Cerciorarte de que el cepillo amplíe apenas poco sobre la caja de limitación del modelo para corregir futuro. Ahora con el cepillo todavía seleccionado van a la opción de las texturas en el toolbar y cargan el “campo común” y entonces la textura del “disparador”. Ahora con el tecleo derecho todavía seleccionado del cepillo tu ratón y elige la opción del “disparador”, entonces “trigger_teleport”. Traer para arriba el menú del enity golpeando “n” y en el campo dominante incorporar la “blanco”. En el campo de valor incorporar “trans1”. Esto hará el cepillo un enity teleporting cuando está tocada.

El valor de “trans1” podía ser cualquier cosa. Es justo el nombre de tu teleporter y se utiliza alinearlo para arriba con la destinación apropiada. Ahora es hora de acabar la segunda mitad

Ahora es hora de hacer una destinación para usted nuevo teleporter. No reelija el cepillo sobre el que usted solamente trabajaba por golpeando el chasquido 'esc' clave y derecho sobre la ventana wireframe en la destinación deseada. Seleccione 'el objetivo' y luego la opción 'target_teleporter'. Usted verá una pequeña caja aparecer lo que puede ser movido alrededor. Ponga la caja alrededor de la misma altura que el modelo de teleporter y con ello todavía siendo seleccionado, el clike boton derecho. Seleccione la opción 'objetivo' y luego 'target_teleporter'. En el campo clave entran en 'targetname' y en el campo de valor entran en 'trans1'. Esto corresponderá ambas entidades por usando el mismo valor. No reelija la caja por hitting'esc '.

Usted ahora debería ver una línea verde ir del teleporter a su caja objetivo. No preocúpese si la línea examina paredes y tal, esto es solamente una línea directa al objetivo. La única cosa dejada para hacer ahora es de hacer los lados del teleporter sólidos. Siempre que use modelos recuerdan que los jugadores no pueden correr directamente por ellos a no ser que su hecho sólido. El método que uso es de solamente dibujar un cepillo alrededor de la parte del modelo del que usted quiere obstruirse. Entonces acérquese a la opción de texturas en la barra de tareas y cargue la sección 'común'. Seleccione la textura 'de cojín' para cubrir sus nuevos cepillos y luego deslect cuando terminado. Los cepillos serán invisibles, pero sólidos en el juego

Conectar salas:
Comenzar con la fabricación de un cuarto simple:

Ahora seleccionar una de las paredes y utilizar la herramienta del truncamiento cortan un agujero en la pared en la forma del pasillo que deseas.

,

Cómo utilizar la herramienta del truncamiento: Seleccionar la herramienta del truncamiento por la prensa “X” o chascando el botón ' ' 2. Chascar donde quisieras el truncamiento comenzara y donde quisieras que acabara 3. La parte del cepillo que será guardado se destaca con un diverso color (en mi caso, amarillo) 1. 4. Presionar la "entrada para confirmar el clip, presionar “Ctrl+Enter” para seleccionar la otra parte del cepillo, o presionar “Shift+Enter” para guardar ambas partes del cepillo.

Debes terminar para arriba con algo similar:

Ahora crear un cuarto idéntico pero hacer frente a la dirección opuesta (puedes seleccionar todos los cepillos en el cuarto por shift+click, después duplicas con el “espacio”, y finalmente rotas con ):

Usando un método similar a lo que hacías tu sitio inicial; crear un cuarto largo, ampliable (paredes, techo y piso del IE 2) ese los ajustes los agujeros en tus cuartos principales:

Puertas:

Crear la entidad de la puerta usando uno de estos métodos:
• • En el menú de la entidad del popup, seleccionar el func_door del grupo funcional para crear una puerta del defecto. Seleccionar un cepillo y convertirlo a una puerta seleccionando func_door.

2 Presionar “N” al popup las características de la puerta. 3 Agregar una llave del ángulo, o la prensa justa una de los botones de la dirección. La puerta no se moverá a menos que tenga un ángulo válido de la abertura.

4 Agregar una llave del soundset para oír sonidos cuando la puerta se mueve. Los nombres de los soundsets de la puerta del paria de Jedi se enumeran abajo

Visión superior

Características de la puerta

Puertas deslizantes dobles

1. Hacer dos puertas deslizantes y cambiar el ángulo de la abertura de uno de modo que se mueva en la dirección opuesta. 2. Agregar una llave del equipo a ambas puertas. El nombre debe ser igual para cada puerta si son acercar.

Visión superior Características superiores de la puerta

Bajar las características de la puerta

Activación del disparador 1. Crear la entidad del disparador usando uno de estos métodos:
• • En el menú de la entidad del popup, seleccionar el trigger_multiple del grupo del disparador para crear un disparador del defecto. Seleccionar un cepillo y convertirlo a un disparador seleccionando el trigger_multiple.

Volver a clasificar según el tamaño el disparador para caber dentro de las paredes. Cerciorarte de que sea bastante grande para que camine el jugador o el npc a través.
2-

3-Crear un acoplamiento de la activación del disparador a la puerta usando uno de estos métodos

• •

Seleccionar el disparador y la puerta, en esa orden. Presionar CTRL+K para crear un acoplamiento del defecto. Agregar una llave de la blanco al disparador, y una llave del targetname con el mismo nombre a la puerta.

4-Agregar

una llave de la espera al disparador y hacerla levemente más larga que el tiempo de la espera de la puerta. Esto para el disparador que activa mientras que la puerta está abierta.

Visión superior

Características de la puerta

Características del disparador

Activación del botón 1-Crear una entidad del botón usando uno de estos métodos:
• • En el menú de la entidad del popup, seleccionar el func_button del grupo funcional para crear un botón del defecto. Seleccionar un cepillo y convertirlo a un botón seleccionando el func_button.

2-Colocar

el botón de modo que sea no vaya completamente la pared cuando esté activado. Aumentar tu característica del labio para prevenir esto. 3-Fijar el ángulo móvil del botón de modo que se mueva en la pared cuando esté activado.

4- Crear un acoplamiento de la activación del botón a la puerta, como en el ejemplo arriba.

Visión superior

Características de la puerta

Características del botón

Cambiar la activación del panel 1-Crear una entidad del disparador que el jugador pueda estar parado adentro mientras que toca el interruptor. 2-Crear un acoplamiento de la activación entre el disparador y la puerta, como en el ejemplo arriba. 3-Comprobar las banderas de la freza de PLAYERONLY, de los REVESTIMIENTOS, y de USE_BUTTON del disparador. También, hacer el punto del ángulo del disparador hacia el interruptor. 4-Crear dos paneles para el interruptor usando uno de estos métodos:

• •

En el menú de la entidad del popup, func_usable selecto del grupo funcional para crear un panel del defecto. Seleccionar un cepillo y convertirlo a un panel seleccionando func_usable.

5-Agregar

una llave del targetname a cada panel, usando el mismo nombre que la llave de la blanco del disparador 6-Comprobar la bandera de la freza de STARTOFF para saber si hay un panel de modo que siga ocultado hasta que se activa el otro panel. Éste será el panel de "ON". 7-Colocar ambos paneles sobre uno a de modo que puedan cambiar mientras que aparezcan ser un solo interruptor. 8-Agregar un cepillo detrás del interruptor para asegurarse de que el nivel no se escapará si se ocultan ambos paneles. 9-Este interruptor, como la mayoría en el paria de Jedi, no cambia detrás después de que la puerta se cierre. Ese tipo es manejado mejor por una escritura.

Vision superior

Características del panel de "OFF"

Características del panel de "ON"

Activación del panel de la seguridad 1. Comprobar la bandera TRABADA de la freza de la puerta. La puerta se abrirá solamente una vez si no se traba primero. 2. En el menú de la entidad, seleccionar el misc_security_panel del grupo misceláneo para crear el panel. 3. También, item_security_key selecto del grupo de los artículos para crear la llave. Tiene que ser una llave de la seguridad porque una llave de la fuente no trabaja. 4. Crear un acoplamiento de la activación del panel a la puerta, como en el ejemplo arriba. 5. Fijar la dirección delantera de los revestimientos del panel para alinear su parte posteriora con la pared. 6. Agregar una llave del mensaje a la llave del panel y de la seguridad. Los nombres deben ser iguales para que la llave trabaje.

Visión superior

Características de la puerta

Características del panel de la seguridad

Características dominantes de la seguridad

Características de la puerta
Banderas START_OPEN: Se mueve a su destinación cuando está frezado, y funciona en revés. FORCE_ACTIVATE: La poder solamente sea activada por un empuje o un tirón de la fuerza TRITURADORA: No abre de nuevo si está bloqueado. PALANCA: Esperas en los estados del comienzo y del extremo para un acontecimiento del disparador. BLOQUEADO: Comienzo trabado, con el animmap del shader en el primer marco e inactivo. GOODIE: Se abre solamente si el activador tiene una llave de la fuente del “goodie” en su inventario. PLAYER_USE: El jugador puede utilizarlo con el botón del uso INACTIVO: Debe ser utilizado por un target_activate antes de que pueda ser utilizado.

Llavellaves Blanco: Fuegos cuando la puerta comienza a moverse desde su posición cerrada a su posición abierta. Opentarget: Los fuegos después de la puerta alcanzan su posición abierta.

target2: Fuegos cuando la puerta comienza a moverse desde su posición abierta a su posición cerrada. Closetarget: Los fuegos después de la puerta alcanzan su posición cerrada. model2: Modelo MD3 también a dibujar. Ángulo: Determina la dirección de abertura. Targetname: Nombre del botón o del campo alejado del disparador que activa la puerta. Velocidad: Velocidad del movimiento (el defecto es 100). Espera: Segundos a esperar antes de volver (el defecto es 3, nunca vuelve es -1). Retrasa: Segundos a esperar antes de mover (el defecto es 0). Labio: Labio restante en el final del movimiento (el defecto es 8). Dmg: Dañar para infligir cuando está bloqueado (el defecto es 2, fijó a la negativa para ningún daño). Color: Color de la luz emitido por la puerta. Luz: Radio de luz emitido por la puerta. Salud: La cantidad de daño a la puerta antes de ella se abrirá. Soundset: Sonido fijado al juego cuando la puerta se mueve. Linear: Fijar a 1 para que la puerta se mueva linear más bien que con la aceleración (el defecto es 0). Localización de averías 1- La puerta no se mueve. Fijar un ángulo de la abertura en las características de la puerta. Debe haber una flecha en el centro de la puerta. 2- Ningunos sonidos juegan cuando la puerta se mueve. Agregar un soundset a las características de la puerta 3- Solamente uno de las puertas dobles se abre. Comprobar que ambas puertas tengan el mismo nombre para su llave del equipo. 4- El disparador no trabaja. Comprobar tu tamaño. Cerciorarte de que el jugador o el npc pueda tocarlo. 5- El botón resbala a lo largo de la pared. Está utilizando el ángulo móvil del defecto porque no se dio ninguno en sus características. 6- Cambiar el panel no trabaja. Comprobar que el disparador tenga una flecha el hacer frente del interruptor. También comprobar los spawnflags y los targetnames.

7- Cambiar los parpadeos del panel cuando está activado. El disparador necesita un rato de la espera mayor que él es defecto de 0. 8- La llave no abre la puerta. Comprobar que sea una llave de la seguridad con el mismo nombre del mensaje que el panel. 9- La puerta no se abrirá otra vez después de usar el panel de la seguridad. La puerta se debe trabar primero. El propósito del panel de la seguridad es abrirlo, para no abrirlo. Puerta con interruptor 1- Construir el umbral (y la puerta). Esto es bastante directo. Estructura justa la pared, con un agujero en él, donde está la puerta. 2- El tecleo derecho tu puerta, y te hace un func_door. Presionar N, y chascar “encima” del botón. Entonces darte una “blanco dominante” con un valor de “door01_switch”. Darte un “closetarget” con el mismo valor que “blanco”. Finalmente, darte una llave del “soundset” con un valor de “impdoor1”. 3- Crear un cepillo para ser el botón básico. Esto se hace exactamente de la misma manera que en mi clase particular anterior del elevador. Pegarlo en la pared, o encajarlo, lo que tienes gusto. Derecho-tecleo y te hace un func_usable. Presionar N y darte un “targetname dominante” con el valor “door01_switch”. Texture lo con una textura del switch_off tal como kejim/lift_off. 4- Reproducirla, y texture la con una textura del switch_on tal como kejim/lift_on. Colocarla exactamente donde está el interruptor original. Entonces presionar N, y chascar “comienzan” la bandera de la freza. 5- Con la textura del calafatear, crear un cepillo el mismo tamaño que el interruptor y colocarlo immediatly delante del interruptor. Fijar tu tamaño de la rejilla a 2, y hacer el cepillo tan fino como sea posible. Debe correcto para arriba contra el interruptor, delante de él. Éste es el interruptor real, no apenas para la demostración como las otras. el Derecho-tecleo este cepillo estupendo de la cosa y te hace un func_static. 6- Crear un target_speaker cerca de tu puerta e interruptores. Presionar N, y chascar el botón “sano”. Si has desempaquetado el contenido de assets0.pk3, puedes hojear para un archivo de los sonidos. Si no, tienes que hacerlo la manera dura. Agregar un “ruido dominante” con un valor del “sonido/de motores/de los interruptores/switch1.mp3”. Éste es el ruido básico de la activación. 7- Seleccionar la cosa del calafatear, después seleccionar tu target_speaker. ¡Te cercioras de selecto ellos en esa orden! Presionar Ctrl+K para ligarlo 8- Seleccionar el thingermajig caulky otra vez y la puerta, en esa orden, y ligarlos. 9- Seleccionar apenas el cepillo del calafatear, presionar N, y dar la que la freza señala el “f_push por medio de una bandera”, el “f_pull”, y el “player_use”.

Bueno para finalizar el largo tutorial que recoje lo fundamental, link donde encontraras ayuda necesaria para crear ya mapas profesionales :D:D Bueno, nos vemos y recuerda… “Que la fuerza te acompañe”