Vous êtes sur la page 1sur 53

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:


1. 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)

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.

2-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.

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”

Vous aimerez peut-être aussi