El Valve Hammer Editor (abreviado VHE) antes era conocido con el nombre de Worldcraft. Es un editor para hacer mapas de Counter Strike entre otros juegos. Este es el editor original desarrollado por Valve (empresa creadora del Half-Life). Este editor se caracteriza por ser muy práctico, fácil e intuitivo de aprender. Más adelante en nuestro Manual Valve Hammer Editor te vamos a enseñar paso a paso como utilizar todas las herramientas, técnicas, efectos, etc., que brinda el engine de Half-Life.
Desde Zona Counter queremos agradecer el esfuerzo y gran dedicación al apasionante mundo del mapping de nuestro colaborador *-=MORC=-* que ha echo este gran Manual Valve Hammer Editor en su totalidad. Y ahora vayamos al grano.
Si te inicias en esto del mapping para Half-Life te recomendamos que tengas en mente algunos puntos importantes. Para empezar te recomendamos que te bajes la última versión del Valve Hammer Editor. La versión 2.1 del Worldcraft que viene en el CD de Half-Life sirve perfectamente, pero tiene bugs que fueron arreglados y probablemente te ahorres problemas a la hora de mappear.
Otra cosa importante que cabe destacar es la limitación del motor gráfico en cuestión. El Half-Life tiene un motor gráfico (engine) muy limitado, así que las ideas para tus mapas las tenés que hacer pensando en el engine en si y no en el lugar que quieres mappear.
Para que se entienda mejor: No pienses en mapas extremadamente detallados.
Capítulos del Manual VHE: 1) CONFIGURACIÓN Y PUESTA A PUNTO 2) EL ENTORNO VHE 3) LA 1º HABITACIÓN 4) PUERTAS 5) ESCALERAS 6) INTERRUPTORES 7) ASCENSORES 8) CIELOS 9) VAPOR, HUMO Y FUEGO 10) LÍQUIDOS 11) VIDRIOS 12) SONIDOS 13) LLUVIA 14) OBJETOS DESTRUCTIBLES 15) VEHÍCULOS 16) CONSEJOS VALVE HAMMER EDITOR
Configurar Valve Hammer Editor
La configuración del Valve Hammer Editor no es difícil. Solo toma unos minutos y sin esto no podemos empezar a mappear.
Vamos a empezar. Una vez instalado el programa lo corremos y nos encontramos con esta 1ª ventana:
Este mensaje aparece la primera vez que ejecutamos el Valve Hammer Editor y nos informa que no está configurado para ningún juego y nos ofrece una ayuda incluida en el programa.
A esta ventana vamos a decirle que no queremos ayuda ya que tienes el Manual Valve Hammer Editor de Zona Counter en tus manos
Lo próximo que vemos es esta ventana con varias solapas:
En la solapa General vemos varias configuraciones, algunas son muy comunes. Nosotros vamos a enfocarnos en la opción Undo Levels. Esto indica la cantidad de veces que se pueden Deshacer las cosas que hayamos hecho en el mapa. Si tienes un buena PC, con bastante memoria, te recomendamos que dejes ese valor en 50, por otro lado, si tienes un PC un poco viejo te recomendamos que pongas como valor 10 o 5. El resto de las opciones las dejamos como están.
Ahora nos dirigimos a la solapa Game Configurations, allí veremos esta ventana:
Esta es una de las partes más importantes. Lo primero que vamos a hacer es crear un set de configuración para la modificación del Half-Life que vamos a usar. Para ello hacemos clic en el botón Edit y veremos lo siguiente:
Luego hacemos clic en Add para agregar la configuración. Nos va a aparecer una ventana en donde nos pide el Game's Name (Nombre del juego), ahí escribimos Half-Life. Este nombre es relativo, es solo para nosotros y no afecta en nada la configuración del juego. Pero podríamos usarlo cómodamente para distinguir las distintas modificaciones (de ahora en adelante mods) del Half-Life, por ejemplo, si estuviésemos configurando el Counter-Strike utilizaríamos ese nombre para identificar el set de configuraciones.
Una vez que terminamos de agregar la configuración Half-Life hacemos clic en Close y volvemos a la pantalla anterior. Vamos a ver que ahora tenemos en la lista de Configurations el juego que recién creamos.
Entidades FGD del Valve Hammer Editor
Vamos a pasar al casillero de Game Data files. Aquí es donde se diferencian realmente los mods. Cada mod tiene un set de entidades. Las entidades son las propiedades que puede tener un mapa. Estas entidades se almacenan en un archivo con extensión FGD. Para cada mod que mappemos vamos a necesitar este archivo.
En nuestra sección downloads de Counter Strike tenemos los FGD's para hacer mapas del mod Counter Strike.
Una vez que tenemos estos archivos hacemos clic en Add y seleccionamos el FGD correspondiente al Half-Life. Una vez hecho esto vamos a ver que el Valve Hammer Editor agregó una ruta al archivo solicitado y además, llenó automáticamente los campos de:
Texture Format: WAD3 (Half-Life / TFC), esto indica el tipo de texturas que utiliza el Half-Life, el cual vamos a detallar más adelante.
Map Type: Half-Life / TFC, esto indica el tipo de mod que soporta ese FGD. En este caso, se puede utilizar perfectamente para hacer un mapa de Half-Life y/o Team Fortress Classic (TFC).
Default PointEntity Class: Esta es la lista de entidades que se pueden agregar solas sin estar asignadas a ningún otro objeto (sólidos = brushes).
Default SolidEntity Class: Por otro lado, esta es la lista de entidades que sí o sí tienen que estar asignadas a sólidos.
El resto de los casilleros los dejamos como están. Sólo son útiles si también usamos el Valve Hammer Editor para compilar los mapas (más adelante explicaremos que es la compilación).
Las texturas del Valve Hammer Editor
Ahora pasamos a la solapa de Textures y nos vamos a encontrar con lo siguiente:
Aquí es donde vamos a agregar las texturas. Pero primero vamos a explicar que son las texturas. Las texturas son imágenes en 2D las cuales son aplicadas a las caras los sólidos que vamos a crear. Las texturas se almacenan en archivos WAD.
Volviendo a la ventana en cuestión, hacemos clic en Add WAD y buscamos la carpeta del Half-Life. Allí buscamos una sub-carpeta de nombre Valve y encontraremos algunos WAD, de los cuales sólo vamos a utilizar halflife.wad. Ya estamos listos para empezar a mappear, pero antes nos queda un tema que explicar: La compilación.
Esto es algo imprescindible para la creación de mapas. Para empezar vamos a decirte que hay un pack de herramientas llamadas Zoner Half-Life Tools (de ahora en adelante ZHLT). Estas traen varios archivos ejecutables, los cuales solo vamos a usar los siguientes: hlbsp.exe, hlcsg.exe, hlvis.exe, hlrad.exe.
Cada una de estas es un paso de compilación en donde, tomando el mapa que creamos, le agrega las luces, sombras, sonidos, texturas, etc. Y convierte el archivo final en .BSP. Más adelante te vamos a explicar cuando y como compilar tu mapa.
El entorno Valve Hammer Editor
Las diferentes vistas del editor
Ahora vamos a ver el entorno donde vamos a trabajar y todas las emocionantes cosas que tiene el Valve Hammer Editor para ayudarte a crear mapas.
Una vez cerrada la ventana de configuraciones vas a ver una pantalla vacía como esta:
Los recuadros grises son los botones de la barra de herramientas que se van a habilitar cuando creemos un mapa nuevo o abramos uno existente.
Ahora hace click en el menú File -> New
Cada uno de esos recuadros negros son los tipos de vista: en la esquina superior izquierda tenemos la vista en 3D que puede ser ajustada por líneas (3D wireframe), sólidos rellenos (3D flat) y sólidos texturados (3D textured). Después arriba a la derecha tenemos la vista TOP en donde veremos todo desde arriba, en la parte inferior a la izquierda tenemos la vista FRONT (frente) de nuestro mapa, y a la derecha tenemos la vista SIDE (desde un costado).
Se puede ajustar cada uno de los cuadros a gusto, nosotros preferimos dejarlos en el modo que esta y utilizamos en el modo 3D la vista de texturas.
Nosotros vamos a crear los sólidos y agregaremos entidades en los recuadros: TOP, FRONT y SIDE, según nos sea más cómodo, ya que todos son vistas diferentes de lo mismo.
Las herramientas del Valve Hammer Editor
Antes de empezar a crear nuestro mapa vamos a ver un poco que tenemos en la barra de herramientas:
Selection Tool [Shit+S] Esta opción sirve para seleccionar objetos. Este botón lo vamos a utilizar para seleccionar objetos en cualquiera de los 4 espacios que tenemos. Al seleccionarlos aparecen 8 puntos alrededor del sólido en donde podemos agrandarlo o achicarlo según la necesidad, al segundo clic sobre el objeto seleccionado aparecen 4 círculos que nos dejan rotar el sólido, y al tercer clic tenemos la posibilidad de deformar el objeto.
Magnify [Shit+G] Esta opción sirve para hacer zoom. Esta opción es muy fácil de usar, sirve para acercar o alejar cualquiera de los 4 cuadros de trabajo. Con el clic izquierdo se acerca y con el derecho se aleja. Aunque es más fácil si tienes un mouse con rueda de scroll, ya que realiza la misma tarea.
Camera [Shit+C] Esta opción sirve como cámara para navegar en la vista 3D. Esta es la opción de cámara, con ella nos podemos mover en todas direcciones en el cuadro de vistas en 3D. Una sugerencia, presionando la letra Z podemos navegar la vista en 3D como si estuviéramos en el juego.
Entity Tool [Shit+E] Esta opción sirve para aplicar entidades. Este simple iconito sirve para aplicar entidades, para agregarlas seleccionen esta opción y hagan click, en la vista 3D, en alguna pared cercana a donde la quieren, y después muevanla en cualquiera de las vistas 2D a donde la quieran. Recordar que también se pueden agregar entidades a los sólidos, pero no se realiza con esta opción, eso te lo vamos a explicar más adelante.
Block Tool [Shit+B] Esta opción sirve para crear sólidos. Esta es la opción principal, sin ella no podrías ir muy lejos, sirve para crear los sólidos, para que te hagas una idea, los sólidos son bloques, de diferentes formas y tamaños, que sirven para hacer las paredes, pisos, techos, cielo, ventanas, todo lo que existe en el mapa al fin y al cabo. Puedes cambiar el tipo de sólido, abajo a la derecha en la pantalla hay dos menús: Uno dice primitives y otro dice Object. Donde dice Object figuran todos los tipos de sólidos que hay para poder crear: Cubos, triángulos, cilindros, conos, o arcos. Con esta herramienta también puedes crear los famosos Prefabs (Los prefabs son objetos prediseñados por otras personas). Volviendo al tema anterior, en el Valve Hammer Editor vienen muchos Prefabs, solo tenés que abrir el menú de Primitives y seleccionar cualquiera de los que figuran.
Toggle Texture Aplication [Shit+A] Esta opción sirve para aplicar texturas a los sólidos cara por cara. Esta aplicación es muy especial, ya que es la que le da vida a los sólidos. Mediante ésta vas a poder aplicar texturas correctamente, para ello contamos con un montón de opciones las cuales listamos aquí abajo:
Scale x/y: Puedes cambiar la escala de la textura así como achatarla o estirarla.
Shift x/y: Esta opción te permite ubicar una textura con respecto a X e Y.
Rotation: Te sirve para rotar una textura.
Justify: Hay 6 botones para jugar aquí: L (Izquierda), R (Derecha), Fit (Se adapta a la cara), T (Arriba), B (Abajo), C (Centro).
Treat as One: Cuando seleccionas muchas caras esta opción te permite que se las tomen como una sola cara.
Aling World to Face: Estas opciones son un poco difíciles de explicar, World sirve para ubicar texturas basándose en el mapa completo, y Face sirve para ubicar texturas basándose en la cara del sólido.
Texture Group: Sirve para seleccionar o todos los WAD, o cada uno por separado.
Current Texture: Muestra el nombre de la textura que tenemos seleccionada en ese momento.
Hide Mask: Sirve para ocultar la selección roja que aparece al seleccionar algo.
Apply: Sirve para aplicar todos los cambios que hicimos.
Browse: Sirve para buscar en los archivos WAD las texturas.
Replace: Seleccionando esta opción el programa va a tomar la textura seleccionada y la va a reemplazar con la textura que elijamos, pero también va a cambiar todas las texturas con el mismo nombre en el resto del mapa.
Apply Current Texture Esta opción sirve para aplicar texturas en todas las caras de un sólido a la vez. Esta opción sirve para aplicar texturas también, pero tiene una cosa en particular, para aplicarlas de este modo tenés que seleccionar un sólido y al hacer click en este botón se van a aplicar las texturas de todas las caras a la vez, siguiendo la textura que tenemos seleccionada.
Apply Decals [Shit+D] Esta opción sirve para aplicar decals. Este botoncito te da la posibilidad de que apliques los famosos decals. Los decals son texturas que están superpuestas a las texturas. Una de las más famosas es el bomb target, es el gráfico que indica donde hay que poner la bomba. Los disparos en las paredes también son decals, las grietas, etc.
Clipping Tool [Shit+X] Esta opción sirve para cortar objetos. Este botón sirve para cortar a gusto los sólidos. Para usarla tienes que seleccionar el sólido primero, luego apretar este botón. Ahora que lo tienes listo para cortar simplemente haz 2 veces click en puntos diferentes y vas a ver que te aparecen 2 círculos unidos por una línea blanca, esta línea es por donde vamos a cortar el objeto, así que muévela a gusto para cortar el sólido. Vas a ver que una parte del sólido queda con líneas entrecortadas rojas y la otra con líneas gruesas blancas, bueno, la parte de líneas blancas es la que va a quedar, lo demás va a desaparecer.
Vertex Tool [Shit+V] Esta opción sirve para modificar un sólido moviendo sus puntas. Con esta herramienta puedes mover los vértices de un sólido a gusto para formar objetos complejos. Al hacer click van a aparecer los vértices y aristas del objeto, que podrás mover a gusto.
Path Tool [Shit+P] Esta opción sirve para crear rutas/caminos de los personajes del juego. Esta herramienta es muy especial y dudo que lleguemos a usarla. Sirve para marcar el camino que van a seguir los personajes en el modo single player (un solo jugador) del Half-Life. Para utilizarla, tienes que mantener la tecla SHIT presionada y vas haciendo click marcando el camino que van a seguir los personajes. Esta opción es muy avanzada y hay que tener altos conocimientos sobre mapping y aplicación de AI (inteligencia artificial) para poder utilizarla.
La 1ª habitación con Valve Hammer Editor
Primeros pasos con VHE
Lo primero que vamos a hacer es crear un mapa nuevo. Para ello nos dirigimos a File -> New.
Antes de crear la habitación, lo normal es seleccionar una textura general, ya que la que esta seleccionada por defecto (AAATrigger) es la que se suele usar para las entidades (como detectores de aperturas de puertas, escaleras, etc.), de todas formas puedes cambiar en cualquier momento las texturas de la habitación con la herramienta de texturas.
En el cuadro de dialogo Textures haz click en el botón Browse. Así se abre el explorador de texturas. Una vez en el explorador de texturas, en la parte de abajo en el cuadro Filter, escribe por ejemplo WALL (pared). El filtro de texturas reduce la lista únicamente a las texturas que en su nombre contengan la cadena de texto WALL. Seguramente vas a ver unas cuantas texturas, selecciona la que mas te guste.
Una aclaración. No es necesario usar el filtro si no quieres, simplemente úsalo cuando sepas o tengas una idea de lo que buscas.
Para hacer las paredes vamos a utilizar la herramienta Block. Para que sea más fácil cambiar el tamaño de los sólidos vamos a achicar el tamaño de la rejilla del Valve Hammer Editor.
Para achicar o agrandar el tamaño de la rejilla del Valve Hammer Editor utiliza estos dos botones de la barra de herramientas
La barra de estado del Valve Hammer Editor
1 - Este casillero nos informa si es un sólido y el número de caras tiene, por el contrario, si hubiésemos convertido el bloque en una entidad, en ese espacio nos informaría que entidad habíamos usado.
2 - Este casillero posee una @ a su izquierda y este nos informa las coordenadas de cada sólido en el mapa.
3 - Este casillero tiene 3 valores: xx w, xx l, xx h. Estos indican las unidades de ancho, profundidad y alto (en su respectivo orden).
4 - Este casillero nos provee información sobre el zoom que estamos usando.
5 - Este casillero nos informa sobre el tamaño de la cuadrícula en la cual estamos trabajando.
Crear paredes, pisos y techos con VHE
Para empezar a construir la habitación, vamos a utilizar la herramienta Block, vamos a ir a la vista TOP y vamos a crear un rectángulo de 32w 256l 256h unidades.
Una vez creado, vamos a ubicarlo a la izquierda del eje Y (Línea verde azulada vertical). Si hicimos este paso bien nos va a quedar algo así:
Repitiendo el paso anterior, vamos a crear 3 sólidos mas formando 4 paredes. El resultado lo podemos ver en la siguiente imagen:
Siempre es bueno alinear a la cuadricula nuestro mapa, es decir, siempre que podamos, hay que basar nuestras habitaciones siguiendo las de los ejes X e Y o grises claras. Solo si es necesario deberíamos a achicar la cuadricula al máximo. Lo recomendable siempre es trabajar con una cuadrícula de 16 unidades.
Alineando los sólidos a la cuadrícula, nos ayuda fácilmente a ubicar las texturas sin necesidad de configurar su tamaño o posición.
Ahora que tenemos las paredes, vamos a crear el techo y el piso. De la misma manera que hicimos antes con las paredes vamos a crear un sólido de 256w 256l 32h unidades en medio de las cuatro paredes en la vista TOP.
Con el sólido seleccionado nos dirigimos a la vista SIDE y lo movemos verticalmente hasta los bordes inferiores de las paredes, y quedaría algo así:
Ya tenemos el piso, ahora vamos a crear el techo. Para ello, en lugar de crear un sólido nuevo, te vamos a enseñar un atajo que te va a facilitar un poco el trabajo. Posiciónate en la vista SIDE y con la tecla SHIFT presionada haz click en el sólido del piso y arrástralo hasta los bordes superiores de las paredes. Con esto hemos copiado el sólido del suelo y lo hemos coocado en el techo.
Poner texturas con Valve Hammer Editor
Vamos a darle un poco de estilo al cuarto, para empezar vamos a cambiar las texturas del piso. Para ello vamos al explorador de texturas y en el filtro ponemos FLR y elegimos un piso que nos guste. Una vez que lo tenemos seleccionado, vamos a la vista 3D y presionando la letra Z vamos a navegar al interior de nuestra habitación. Volvemos a presionar la tecla Z para desactivar el navegador y seleccionamos el sólido del piso.
Con el sólido y la textura deseada seleccionada hacemos click en la herramienta Apply Current Texture. Al usar esta opción, todas las caras del sólido en cuestión se van a cambiar por la textura que elegimos. El resultado seria más o menos así:
Volvemos a navegar la vista 3D, para visualizar el techo. Nuevamente vamos al explorador de texturas y en el filtro ingresamos el criterio CEI, esto nos muestra varios tipos de cielos. Elegimos el que mas nos guste y lo seleccionamos.
Seleccionamos el sólido del techo y volvemos a utilizar la herramienta Apply Current Texture. Finalmente ya tenemos las paredes, piso y techo bien definidos.
Crear el punto de salida del mapa
Pero esto no termina aquí. Todos los mapas necesitan un punto de salida para el jugador. Esto se hace colocando una entidad info_player_start en el mapa.
Para hacer esto, vamos a utilizar la herramienta Entity. Una vez seleccionada, nos dirigimos al menú de la derecha y abajo de todo veremos la opción de Objects. Ahí debajo hay un menú desplegable en el cual figuran todas las entidades que no requieren ningún sólido para funcionar. Nosotros vamos a utilizar la entidad info_player_start, así que la buscamos en la lista y la seleccionamos.
Ahora nos vamos a la vista 3D y hacemos click en el sólido del piso (siempre con la herramienta Entity seleccionada).
Si se fijan bien, el programa nos agregó un cubo verde claro en medio del sólido del piso como se ve en la imagen:
Si nos fijamos bien, en las vistas SIDE y FRONT vemos que mitad del info_player_start esta dentro del mapa y la otra mitad fuera. Esto no debe quedar así por dos motivos.
El primer motivo y algo que se tiene que aprender antes de empezar a mappear es que todas las entidades que estén del lado negro, es decir, fuera del mapa van a generar un error conocido con el nombre de LEAK.
El mapa siempre tiene que estar sellado y no se puede dejar ni una sola unidad de espaciado. Todos los sólidos que dan al exterior deben estar juntos si o si.
El segundo motivo es que el info_player_start esta pegado al piso. Esto va a traer problemas cuando compilemos ya que cuando el jugador haga el worldspawn (ingrese al mapa) va a quedar trabado ya que tiene sus pies pegados al piso.
Para solucionar este tema, vamos a mover la entidad hacia arriba, de modo tal que quede a unas 3-6 unidades por sobre el piso. De esta manera nos aseguramos que no haya trabas cuando el jugador ingrese al mapa.
La iluminación del VHE
Si compilamos el mapa así como está vamos a ver todo oscuro. Lo que nos queda por hacer es añadir la iluminación al mapa. Para ello, vamos a agregar una entidad Light (luz ... no bajo en calorías jeje). Nuevamente usamos la herramienta Entity, volvemos al menú Objects y en este caso elegimos la entidad Light.
Acto siguiente agregamos la entidad, por ejemplo a una de las paredes y la movemos al centro del cuarto utilizando las vistas 2D.
Esta iluminación es solo una base. Una única luz que ilumna nuestra habitación. En mapas más grandes, con varias habitaciones, pasillos, zonas, niveles etc. Vamos a necesitar iluminar cada uno de los apartados hasta que se vea como más nos guste.
Pero todo esto lo vamos a explicar más detalladamente en próximos capítulos del Manual VHE.
Crear una puerta con Valve Hammer Editor
Siguiendo con nuestra habitación anterior, vamos a crear una puerta. Para más comodidad mueve las entidades info_player_start y light a un costado, pero solo para sacar las screens, no hace falta que los muevas en tu mapa.
Lo primero es crear el agujero en la pared del tamaño de una puerta, el tamaño predeterminado de una puerta es de 64 x 16 x 96 unidades, claro que esto depende en realidad de lo que uno quiera.
Dividir una pared con VHE
Teniendo la habitación anterior iluminada y todo, vamos a dividir una de las paredes en tres partes para insertar la puerta. Para ello vamos a utilizar la herramienta Clipping Tool.
Seleccionamos la pared que nos interesa, hacemos doble click en la herramienta Clipping Tool y trazamos una línea como muestra la imagen:
Luego presionamos ENTER y el sólido se va a haber cortado. Si por alguna razón un pedazo del sólido desapareció es que usamos mal la herramienta. La herramienta Clipping Tool tiene 3 posiciones, las 2 primeras hacen que el lado izquierdo o derecho desaparezca luego de hacer un corte, y la 3er posición deja los los pedazos de sólido sin eliminarlos.
Si hicimos esto bien nos tiene que haber quedado como la imagen inferior, y como paso siguiente vamos a trazar nuevamente una línea también como se ve en la imagen:
Nuevamente presionamos ENTER y vamos a ver que la pared se dividió en tres sólidos. Ahora vamos a cambiar un poco el tamaño para que el hueco de la puerta no nos quede tan grande. Las dos paredes de las puntas tienen que ser de 96 x 64 x 256 unidades y la del medio 64 x 64 x 256 unidades. El resultado es el siguiente:
Lo que vamos a hacer ahora es crear el lugar para colocar la puerta. Vamos a achicar el sólido del medio, para eso lo seleccionamos y en la vista SIDE o FRONT (depende que pared hayamos cortado) vamos a reducirlo a un cubo de 64 x 64 x 160 unidades como se ve en la siguiente imagen:
Ahora vamos a crear la puerta que va a ir en ese espacio. Para que tenga aspecto de puerta vamos a ir al Explorador de Texturas y en el filtro vamos a poner c1a0b_dr4b, seleccionamos esa textura y pasamos a crear el sólido de la puerta. Creamos uno que tenga 64 x 16 x 96 unidades y lo colocamos de manera que encaje con el agujero de las mismas proporciones como se ve en la imagen inferior:
Alinear texturas con Valve Hammer Editor
Bueno, al menos ocupamos el espacio, pero eso no parece una puerta. Para ello vamos a tener que alinear la textura. Utilizando la herramienta Texture Aplication [Shift+A] vamos a hacer click en la cara del sólido de la puerta que se ve en la screen anterior. En la ventana de aplicación de texturas presionamos el botón Fit y vemos como se corrigió la textura, también podemos hacer lo mismo con la cara contraria y lograremos el mismo efecto.
Nuevamente, esto no termina aquí. Lo único que tenemos es el sólido de la puerta, pero no se va a comportar como tal hasta que le asignemos la entidad correspondiente.
La entidad puerta de VHE
Lo primero que vamos a hacer es seleccionar la puerta y presionamos [Crtl+T]. Ese es el cuadro de diálogo de las entidades asignadas a sólidos, es decir, que van junto con un sólido. En el menú desplegable buscamos la entidad func_door.
Generalmente con los parámetros por defecto la puerta ya funciona, pero se puede personalizar a gusto manejando sus propiedades, que son las siguientes:
Speed: Es la velocidad a la que se abre/cierra la puerta. El valor por defecto es 100.
Move Sound: Selecciona de la lista el sonido que emite la puerta cuando se abre.
Stop Sound: Selecciona de la lista el sonido que emite la puerta cuando se termina de cerrar.
Delay before Close: Es el tiempo que tarda la puerta en cerrarse. El valor por defecto es 4 (se mide en segundos) y para que la puerta se quede abierta pon el valor -1.
Lip: Las puertas de este tipo suben, bajan o van de un lado a otro desde su base hasta su punta. Para que se vea más claramente, la puerta se mete por completo dentro de la pared. Asignándole un valor a este casillero va a dejar un borde. Recomiendo que usen valores del 1-3.
Damage inflicted when blocked: Sirve para hacerle daño a quien se ubique en su trayectoria, Se debe poner la cantidad de daño que le hace al jugador.
Locked Sound: Sonido que emite la puerta si esta trabada o si es trabada.
Unlocked Sound: Sonido que emite la puerta si esta destrabada o si es destrabada.
Yaw: Esta última propiedad define el ángulo en que la puerta se va a mover. Por defecto la puerta se mueve a la derecha, pero si cambiamos el ángulo ésta se mueve en cualquier posición que elijamos.
Para concluir, tendríamos que cerrar el mapa, para que no haya agujeros que den al exterior. Para ello vamos a tener que cubrir con un sólido el hueco que hay en el piso. Además de esto, hay que cubrir el hueco que queda detrás de la puerta, ya que la puerta es una entidad y no impide que el interior esté expuesto al exterior.
Si hicimos esto bien nos va a quedar algo así:
Escaleras con Valve Hammer Editor
Hacer escaleras es una de las cosas más fáciles de hacer, es un procedimiento rápido y sencillo. El tipo de escaleras que vamos a diseñar son las verticales, así que para empezar te aconsejamos que uses el explorador de texturas y busques la textura ladder1.
El tamaño estándar de las escaleras de este tipo es de 32 x 4 x (la altura que vos quieras) unidades. Para obtener el resultado como en la imagen vamos a crear un sólido de 32 x 4 x 128 unidades, siempre con la textura ladder1 seleccionada.
Utilizando las herramientas de alineación de texturas que aprendimos en capítulos anteriores, vamos a alinearla correctamente para que se vea como en la imagen.
Para que la escalera se vea más real, podemos cambiar la textura de sus laterales. Seleccionamos las caras y buscamos la textura generic99c (siempre y cuando la textura de la escalera sea roja, sinó podemos probar con otro color) la aplicamos y quizá no noten mucha diferencia en la ventana del Valve Hammer Editor, pero cuando estén en el juego si se va a notar.
Algo interesante que remarcar es que si en las propiedades de texturas dejamos la escala en 1.00 y la alineación en 0.00, y además el sólido está alineado a la cuadrícula como se muestra en la imagen, la textura va a estar alineada perfectamente y no hay necesidad de re-alinearla.
Esto se aplica a todas las texturas con los tamaños: 16, 32, 64, 128, 256, 512 (pixeles a lo ancho o a lo largo) y dependiendo del tamaño de sólido. Por eso te aconsejamos que siempre trates de alinear los sólidos a la cuadricula, eso te va a ahorrar mucho trabajo.
Si dejamos esto así, el color azul se va a ver negro en el juego. Para hacer que sea transparente, vamos a convertir ese sólido con la entidad func_wall. Para ello presionamos [Ctrl+T] y en la lista de entidades seleccionamos la antes mencionada.
Una vez hecho esto vamos a cambiar algunas de las propiedades. En Render Mode vamos a elegir el valor Solid, y en Fx Ammount vamos a introducir el valor 255.
Con esto la escalera ya está lista, pero solo visualmente. Ahora tenemos que agregarle una propiedad que le diga al juego que se puede subir por esa escalera.
Para ello, vamos a crear un sólido idéntico al anterior, con la textura aaatrigger y vamos a posicionarlo junto al mismo. Para una vista más clara echale un vistazo a la imagen aquí debajo:
Lo único que nos falta es asignarle la entidad que funcionara como escalera al sólido que creamos recientemente. Para ello repetimos el paso anterior con [Ctrl+T], pero esta vez en el menú elegimos la entidad func_ladder. Y eso es todo.
Interruptores con Valve Hammer Editor
Un interruptor tiene varias utilidades, pero todas se resumen a una básica: activar y/o desactivar ciertas acciones, como encender una luz, o abrir una puerta. En este capítulo te vamos a enseñar a utilizar un botón para cerrar una puerta.
Utilizando la habitación que hemos echo en nuestrol Manual Valve Hammer Editor, vamos a convertirla para que pueda ser abierta o cerrada mediante un botón.
En el engine de Half-Life las texturas de botones se representan como:
+0nombre (Textura apagada)
+Anombre (Textura encendida)
Aunque podemos utilizar cualquier textura y el botón va a funcionar, lo ideal para que parezca más realista, es utilizar las texturas con las características arriba mencionadas.
A un lado de la puerta vamos a crear un sólido de unas 16 x 2 x 24 unidades y vamos a decorarlo con la textura +0~lab1_gad3. En la imagen podemos tener una vista más clara del botón y su posición con respecto al info_player_start y a la puerta:
Lo que vamos a hacer ahora es convertir el sólido del botón a la entidad, presionando [Ctrl+T] y seleccionando la entidad func_button.
Ahora vamos configurar el botón y la puerta para que cuando activemos el botón se abra la puerta. Para esto vamos a abrir las propiedades del botón.
Lo primero que vamos a hacer es ir a la solapa Flags y vamos a tildar la opción Don't Move. Eso va a evitar que el botón se desplace a un costado cuando lo presionemos.
Lo segundo que vamos a hacer es volver a la solapa Class Info y ubicamos la propiedad Target o Targetted Object (dependiendo que versión del FGD tengamos) e introducimos en el casillero la palabra puerta.
Ahora vamos a la ventana de propiedades de la puerta y en la propiedad Name ingresamos nuevamente la palabra puerta. Sin salir de la ventana de propiedades de la entidad func_door vamos a la solapa Flags y tildamos el casillero que dice Toggle.
Ahora vamos con las explicaciones. El casillero Target / Targetted Object le indica al botón que tiene que desactivar o activar cualquier entidad que tenga el nombre que pusimos, en nuestro caso, va a activar o desactivar todas las entidades que tengan por nombre la palabra puerta.
En las propiedades del func_door está más que claro por que pusimos en Name la palabra puerta. Por otro lado, la opción Toggle en la solapa flags le está diciendo a la puerta que no se abra cuando alguien pasa por ella, sino que espere a que alguna sentencia (en este caso el botón) la abra o la cierre.
Ascensores con Valve Hammer Editor
Lo primero que vamos a necesitar es construir el ascensor. En este capítulo hemos creado una habitación especial, donde hay una planta baja y un 1er piso.
En nuestro caso pusimos la plataforma a ras de suelo en la planta baja, ya que nosotros queremos que el primer viaje del ascensor sea hacia arriba, de otro modo, el ascensor estaría en el primer piso si quisiéramos que baje.
Tengan en cuenta que el ascensor está compuesto por la plataforma y por la columna que lo eleva:
Mover un ascensor con VHE
Los ascensores se pueden mover de dos maneras: Por proximidad o mediante la acción de un botón.
Accionado por proximidad
Seleccionamos el ascensor y la columna, y transformarlos en entidad func_plat. En sus propiedades, seleccionamos la opción Travel altitude (can be negative), esta es la distancia que nuestro ascensor va a subir o a bajar. Este valor está expresado en unidades y para nuestro ascensor vamos a escoger el valor 128 (unidades), ya que esa es la diferencia de altura entre la planta baja y el 1er piso. En caso de que quisiéramos que baje solo nos queda por agregar un valor negativo de las unidades.
Accionado por botones
Es similar a lo anterior, pero en las propiedades de la entidad func_plat, tenemos que introducir un nombre en el campo Name, por ejemplo ascensor. Ahora vamos a la solapa Flags y activamos la opción Toggle o Triggerable (Activable por medio de botones. El nombre varía según que versión del FGD tengamos).
Ahora tenemos que crear el botón que servirá para moverlo de una posición a otra y configuramos a nuestro gusto las propiedades del func_button. Empezamos con Delay before reset (wait) (es el tiempo que tarda el botón en volver a ser usable) e ingresamos el valor 2; Delay before trigger (delay) (es el tiempo que pasa desde que pulsamos el botón hasta que se activa el evento, el ascensor en este caso), también usamos el valor 2. Ahora en la solapa de Flags activamos Don't move (el botón cambia del estado inactivo al activo cuando es usado sin moverse). Cada vez que sea usado va a activar los eventos, como mover el ascensor.
Lo último que nos queda por hacer es duplicar el botón y situarlo en la planta alta. De este modo podremos usar el ascensor tanto en la planta baja como en el primer piso.
Cielos con Valve Hammer Editor
Hacer el cielo de un mapa es realmente fácil y simple. Para hacer los lugares al aire libre tenés que imaginarte que son habitaciones, como las que vinimos haciendo hasta recién, pero que en el techo, en lugar de tener una textura de techo, tiene la textura sky.
Con la siguiente imagen vamos a aclarar un poco las cosas:
Lo único que hay que hacer es cerrar la "habitación" con la textura sky y ya está.
Cuando corramos el juego, la textura sky va a ser reemplazada por el cielo. Ahora lo que vamos a hacer es definir que cielo vamos a querer que aparezca. Para ello vamos al menú Map -> Map Propierties, y nos deberíamos encontrar con la siguiente ventana:
En el casillero de enviroment map (cl_skyname) vamos a introducir el nombre de algún cielo existente, por ejemplo: trainyard. Los cielos se encuentran en la carpeta C:\Sierra\Half-Life\valve\gfx\env\. Como podemos ver los cielos están en formato .tga y si prestamos atención hay 6 archivos que corresponden a cada tipo de cielo:
nombre_de_cielobk.tga
nombre_de_cielodn.tga
nombre_de_cieloft.tga
nombre_de_cielolf.tga
nombre_de_cielort.tga
nombre_de_cieloup.tga
Cada una de esas 6 imágenes pertenece a una cara de un cubo el cual forma el cielo (Back, Down, Front, Left, Right, Up)
Volviendo al Valve Hammer Editor, en el casillero enviroment map (cl_skyname) vamos a ingresar solamente el nombre_de_cielo. Cerramos la ventana y lo único que nos queda por hacer es darle luz al mapa.
La entidad Sol del VHE
Como recordaréis en el capítulo de la 1ª habitación de nuestro Manual Valve Hammer Editor, si no agregamos alguna entidad que genere luz, el mapa va a estar a oscuras. En este caso, en lugar de usar la entidad light, vamos a utilizar la entidad light_enviroment (Luz de entorno o Sol).
Esta entidad se coloca una sola vez por mapa y va a emitir luz cada vez que haya una textura sky.
Seleccionamos la herramienta Entity Tool [Shift+T] y en el menú desplegable de Objects (abajo a la derecha) seleccionamos la entidad light_enviroment y la agregamos al mapa.
No importa la ubicación de la entidad, ya que el tipo de luz y dirección de la misma se configura desde su ventana de propiedades.
Dentro de la ventana de propiedades vamos a la propiedad Pitch, esta indica el ángulo de inclinación de los rayos del Sol. Por defecto los rayos de Sol en Half-Life son desde arriba hacia abajo, por ende, para que parezca real vamos a tener que ingresar un valor negativo. En nuestro caso, vamos a utilizar el valor -60.
Ahora solamente nos queda configurar el ángulo en que los rayos de Sol van a caer sobre nuestro mapa, y eso lo hacemos con la opción Yaw o Angle (según la versión del Valve Hammer Editor que uses), en nuestro caso vamos a dejarlo como está, esta opción es si queremos algo en especial, sino déjenlo como está.
Vapor, humo y fuego con Valve Hammer Editor
Crear una tubería de vapor con VHE
Antes que nada tienes que tener claro donde quieres el vapor en tu mapa. Nosotros vamos a simular una tubería rota.
Para simular el vapor vamos a usar varias entidades env_sprite (voy a usar 6 para mi vapor) en fila, hacia donde quieras que vaya el vapor. Las colocamos más juntas cerca de la ruptura de la tubería y las vamos espaciando mas según nos vamos alejando de ella. Por ahora solo crea una sola entidad env_sprite, más adelante, cuando este todo listo te vamos a pedir que dupliques las veces que quieras la entidad, así con configurar una sola entidad, duplicándola, vamos a ahorrarnos mucho tiempo y trabajo.
Vamos a configurar las características básicas de la entidad env_sprite. En sus propiedades ingresamos en el campo Render Mode el valor Additive. Luego en la propiedad Sprite Name ingresamos sprites/smokepuff.spr que es el siguiente sprite:
Ahora si quieres que se inicie automáticamente sigue con el Paso 1, pero si lo que quieres es que sea activable/desactivable sigue el Paso 2.
Paso 1: Entra en las propiedades de la entidad env_sprite haz click en la solapa Flags activa la opción Start On.
Paso 2: Dale a la entidad env_sprite un nombre en el campo Name dentro de sus propiedades. Por ejemplo: Vapor.
Ahora duplicamos (Presionamos la tecla Shift mientras arrastramos la entidad) tantas entidades env_sprite como queramos y las ubicamos como mas nos guste (El vapor, según las leyes de la física, es mas liviano que el oxigeno y tiende a subir. Ten eso en cuenta).
Para darle realismo, modificamos en las propiedades la escala de cada env_sprite. Empezamos por el que está más pegado a la tubería, le damos un valor, por ejemplo, de 0.3. Acuérdate que los valores son: tamaño reducido (número menor que 1), tamaño original (1) y aumentado (número mayor que 1). Empezando por 0.3 dale valores a los 6 env_sprite hasta el más alejado, que va a tener un valor de 1.
Para darle aún más realismo, también vamos a cambiar los valores del campo Framerate de cada env_sprite. Asi evitamos que la animación de cada uno sea igual que la de los demás, consiguiendo unos movimientos aleatorios mas próximos a los del auténtico vapor. Empezamos de nuevo por el que está mas pegado a la tubería. Nosotros dimos a los env_sprite valores de 10, 14, 18, 22, 26 y 30, pero podes ajustarlo a tu gusto, claro está.
Para ir terminando los efectos visuales tenemos que modificar los valores de transparencia de cada env_sprite, ya que cuanto mas alejado esté de la tubería, mas transparente va a ser el vapor, hasta que desaparezca. Entonces en el campo FX Amount ponemos un valor bajo, como 80 al más cercano a la tubería (esto lo hace transparente, podes elegir un numero entre 0 = invisible, y 255 = totalmente opaco).
Vamos a ir reduciendo el valor de los env_sprite. Para que te des una idea, el último env_sprite tiene un valor de 15. O sea que los valores de los env_sprite fueron desde 80 con el primero a 15 con el último.
Todo los explicado hasta aquí para el vapor puede ser utilizado también para crear humo, simplemente cambiando el sprite y/o la opacidad.
Añadir efectos sonoros al vapor
Para que el realismo sea total, como siempre, vamos a poner una entidad sonora: ambient_generic (vamos a explicar esta entidad más adelante) y elegimos un sonido de vapor (dentro del Pak del Half-Life tenemos el sonido ambience/steamjet1.wav).
Entonces le damos las propiedades que queramos, como Start Silent (que comience en silencio, por si luego lo vamos a activar con un botón o sentencia) y Small Radius, esto nos indica que el radio de alcance del sonido es pequeño, ya que la fuga de vapor es pequeña.
Por último nos queda cambiar la propiedad Name, ingresando el nombre: Vapor. Esto es más o menos como va quedando:
También podemos hacer que el vapor dañe al jugador, para ello vamos a crear un sólido con la textura aaatrigger, lo ponemos alrededor del vapor y entonces lo transformamos [Ctrl+T] en una entidad trigger_hurt. Configuramos sus propiedades: en el casillero Name ponemos el mismo nombre que las entidades env_sprite, en nuestro ejemplo habíamos usado el nombre: Vapor. Damage ingresamos la cantidad de daño que queremos que le haga al personaje cuando se acerque, por ejemplo 5. Y para que el daño que cause sea por quemadura, en el campo Damage Type seleccionamos Burn.
Ahora, si vamos a hacer que el vapor se pueda activar (lo que implica que el daño también se active), tenemos que darle a la entidad trigger_husrt un valor de Start Off en sus Flags.
La entidad vapor del Valve Hammer Editor
Ahora hay varias posibilidades. Podemos hacer que el vapor esté siempre ahí o que aparezca y desaparezca al hacercarnos.
Para hacer que el vapor permanezca siempre: Ponemos los env_sprite con la propiedad de Start On, en la entidad ambient_generic desactivamos la opción Start Silent, y en la entidad trigger_hurt desactivamos la opción Start Off.
Para hacer que el vapor aparezca y desaparezca al hacercarnos: Dejamos las propiedades como las vinimos configurando y nos aseguramos que todas las entidades tengan el mismo Name: Vapor. Para que cuando activemos el botón se activen todas las entidades al mismo tiempo.
También podemos usar además del botón, una entidad multi_manager (capaz de manejar hasta 16 eventos) y activar cada entidad con un retardo que estipulemos (en segundos). Entonces damos a cada env_sprite, al ambient_generic y trigger_hurt nombres diferentes.
Ahora viene lo difícil: Entramos en las propiedades del multi_manager y activamos el modo SmartEdit. Ahora vemos que tenemos un botón de Add para añadir parámetros a la entidad multi_manager. Lo presionamos y metemos en el campo Key el nombre de cada entidad, y en Value el valor en segundos del retardo. Nosotros usamos un valor mas pequeño para el env_sprite que está mas cerca de la tubería que para el mas alejado. Quedan estos valores para los env_sprite: 0.5, 0.75, 1, 1.25, 1.5 y 1.75.
Y para la entidad ambient_generic y la trigger_hurt, le puse 0.5.
Ahora tenemos que darle un nombre al multi_manager para que pueda ser activado con un botón como ya vimos en capítulos anteriores, o podemos crear un sólido con la textura aaatrigger y asignarle la entidad trigger_multiple (repite su acción cada vez que un jugador lo atraviesa) o trigger_once (realiza su acción sólamente la primera vez que el jugador lo atraviesa). Su configuración es muy parecida a la del botón, solo tenemos que ingresar el nombre de la entidad multi_manager en el casillero Target.
La entidad fuego del Valve Hammer Editor
Para crear el fuego vamos a simular una fogata pero podéis colocarlo donde más os plazca.
Empezamos poniendo una entidad env_sprite sobre los pedazos de madera que vamos a quemar. En las propiedades, en Sprite Name escribimos el nombre de algún sprite de fuego, en este caso vamos a usar el sprites/flame.spr que es precisamente una llamarada.
Después en la propiedad Render mode elegimos la opción Additive. En Render FX pone 150. Lo que sigue es arreglar la escala y los demás valores que crean convenientes para su fuego. Nosotros pusimos una escala de 0.5.
Configurar el calor
Ahora vamos a hacer que al acercarnos nos queme (esto es similar a la quemadura creada por el vapor).
Para que el fuego cause daño a quien se acerque, vamos a crear un sólido con la textura aaatrigger, lo ponemos alrededor del fuego y entonces lo transformamos en una entidad trigger_hurt. Configuramos sus propiedades: En Damage ponemos la cantidad de daño que queremos que le haga al personaje cuando se acerque, por ejemplo 5. Y para que el daño que cause sea por quemadura, en el campo Damage Type seleccionamos Burn.
Añadir detalles
Bueno, para que quede la ilusión del fuego completa, haría falta añadirle sonido y luz. Esto es muy sencillo, agregamos un ambient_generic y utilizamos algún sonido de llamarada dentro del Pak de Half-Life y para complementar el sonido, agregamos una entidad light y en la propiedad Appearance elegimos alguna de estas: Candel A, Candle B o Candle C.
Líquidos con Valve Hammer Editor
Antes que nada vamos a aclarar que hay 3 tipos de líquidos: estáticos, animados y realistas.
Líquidos estáticos
Este es el mas fácil de crear. Sólo necesitas una textura que comience por el carácter de exclamación ! (como !waterblue, !lavax, !toxicgrn1, !radio, etc.).
Ahora haces un sólido con ella y ya tenes tu fluido listo para servir.
Lo único malo de hacerlo de este modo es que no puedes hacer que el fluido tenga movimiento superficial (oleaje), ni transparencia.
Líquidos animados
Este es el modo mas extendido de crear líquidos, porque podemos hacer que tenga oleaje, que sea transparente y que se pueda mover (hacer que suba o baje)
Se igual que antes, seleccionamos una textura de líquido, creamos un sólido con la textura elegida y lo transformamos [Ctrl+T] en una entidad func_water.
Entramos en sus propiedades y las configuramos como más nos guste. Antes de nada estableceremos los valores de Render Mode en Texture, y FX Amount en, por ejemplo, 150.
Ahora vamos a las 2 últimas propiedades. En la penúltima propiedad, llamada Contents pondremos Water (agua), ya que si elegimos Slime (cieno) o Lava vamos a morir al instante. Ahora, si queremos oleaje, nos vamos a la última opción llamada Wave Height (altura del oleaje) y le ponemos la altura que queramos, les recomiendo no sobrepasar un valor de 5 por que las olas son enormes y no se ven nada reales.
Nota: Para hacer que dañe al jugador, crea un sólido con la textura aaatrigger del mismo tamaño que el sólido del agua y conviértelo en una entidad trigger_hurt. Entonces establecemos sus propiedades a gusto, por ejemplo en Damage (daño) ponemos un valor de 10 (acuérdate que si pones 100 te mata en un segundo) y en Damage Type (tipo de daño) ponemos Chemical (químico).
Líquidos realistas
La idea es hacer una zona con líquidos que tengan la capacidad de desplazar al jugador, como si lo llevara la corriente.
Primero comenzamos por la textura, que ya no va a poder ser como las otras, sino que va a tener que ser una con scroll (movimiento) como por ejemplo scrolltoxic. Hacemos un sólido con ella, que va a ser nuestro líquido. Entonces en vez de hacerlo func_water como antes, lo hacemos func_conveyor (cinta transportadora)
Entonces entramos en sus propiedades y ponemos en Conveyor Speed (velocidad de transporte/arrastre) un valor de 20.
También, muy importante, tenemos que establecer el ángulo que va a ser hacia donde nos arrastre el agua (para editar el ángulo, entra a propiedades, mira arriba a la derecha). Desde la vista TOP vemos el ángulo que queremos, como quiero que me lleve hacia la derecha, pongo 0º. Acuérdate de ponerle el mismo valor al ángulo de la textura, para que quede realista. Si quieres que te lleve hacia la izquierda pon 180°, arriba (según la vista TOP) 90° y abajo (según la vista TOP) 270°, pero si quieres que te levante o te baje, al lado del circulo negro tienes un botón que si lo presionas se abre un menú donde están las opciones "up" (arriba) y "down" (abajo).
Después vamos a la solapa Flags y seleccionamos las dos opciones, No Push y Not Solid.
Ahora hacemos un sólido exactamente con el mismo tamaño de antes, pero esta vez si va a ser func_water. Entramos a sus propiedades y lo hacemos invisible, porque solo queremos sus propiedades de líquido, nada mas. Para hacer esto, vamos como siempre, dentro de sus propiedades, a Render Mode y le damos el valor de Texture, y en FX Amount ponemos 0.
Para finalizar hacemos otro sólido con la entidad trigger_push. Lo situamos exactamente como los otros dos, para que coincidan los tres. Entramos en sus propiedades y establecemos el valor de la velocidad de empuje.
Vidrios con Valve Hammer Editor
En este capítulo del Manual Valve Hammer Editor vamos a enseñar a crear varios tipos de vidrios. Los que se rompen, los polarizados de uno o ambos lados y los que no se rompen.
Vidrios rompibles
Estos son los básicos. Simplemente crea un sólido con una textura de vidrio (todas las texturas de vidrio contienen la palabra glass en su nombre así que ya sabes como filtrarlos con el Valve Hammer Editor). Después de que lo creamos lo convertimos en una entidad func_breakable (Función Rompible) y entra en sus propiedades, las que vamos a configurar a gusto, yo solo te digo para que sirve cada cosa.
Target on Break: Si quieres que algo se active/desactive cuando el vidrio sea roto pon el nombre del objeto que quieres activar/desactivar en este casillero.
Strenght: Esta es la dureza del vidrio, lo normal para un vidrio no sobrepasa casi nunca los 50 o como un extremo máximo 100, a menos que sea un vidrio como el techo de una zona, en cuyo caso debería ser un vidrio fuerte, ya que en la realidad un vidrio así tendría que soportar mucho peso, tanto de sí mismo como de factores climáticos como lluvia, granizo, nieve, etc.
Material Type: Aquí pon sí o sí glass, para que cuando se rompa se vean pedazos de vidrio y suene como un vidrio roto, ya que si elegís otro, como metal, cuando rompas el vidrio van a salir pedazos de metal en lugar de vidrio.
Gibs directions: Este es un detalle que dirige el movimiento de los pedazos rotos. Si elegís Random van a salir hacia cualquier lado cuando rompas el vidrio, pero si pones Relative to Attack, el movimiento va a ser relativo al ataque. Por ejemplo, si la bala ingreso por la cara izquierda del vidrio, los pedazos van a salir despedidos de izquierda a derecha. Obviamente, este último es el modo más real y por lo tanto queda mejor, así que sugerimos uses Relative to Attack en lugar de Random, salvo que quieras recrear una situación especial.
Render Mode: Utilizamos la opción Texture.
FX Amount: Esto define la transparencia del vidrio, va de 0 a 255, 0 invisible y 255 opaco, recomiendo para vidrios entre 75 y 180.
Ahora si entramos a la solapa Flags vamos a ver 3 características que nos interesan: Only Trigger (sólo puede ser roto mediante otra entidad), Touch (se rompe cuando hacemos contacto con el vidrio, supongo no lo he usado) y Pressure (se rompe por presión, es decir, cuando algún objeto cae sobre el mismo, o cuando caminamos sobre su superficie).
Vidrios no rompibles
Hacer un vidrio no rompible es exactamente igual, pero con la entidad func_wall y no tiene las siguientes propiedades: Target on Break, Strenght, Material Type ni Gibs Directions. Esta entidad no tiene Flags. Así que las únicas propiedades que tienes que modificar son Render Mode y FX Amount. Vidrios polarizados de un solo lado
Empecemos por tener creado un vidrio con la entidad func_wall común y corriente, ahora abrimos la herramienta de Aplicación de Texturas [Shift+A] y a una de las caras del vidrio le aplicamos la textura {blue (ese color azul se vuelve transparente cuando utilizamos una entidad y la configuramos correctamente).
Ahora vamos a crear un vidrio idéntico al anterior. Vamos a utilizar una textura más oscura para el vidrio que va a ser polarizado. Luego los juntamos perfectamente de modo tal que sus caras azules estén pegadas completamente. En la screen debajo están separadas pero sólo para que vean como ubicamos los vidrios con respecto a las texturas:
Pues bién, convertimos el vidrio polarizado en una entidad func_wall y en sus propiedades Render Mode ponemos Texture y en FX Amount ponemos 180.
El otro vidrio también lo convertimos a la entidad func_wall pero en sus propiedad Render Mode ponemos Texture y en Fx Amount ponemos 70.
Sonidos con Valve Hammer Editor
Antes que nada, vamos a elegir un sonido que nos guste y quede bien para la parte que vamos a ambientar. En nuestro Manual Valve Hammer Editor , escogimos el sonido Drips.wav que se encuentra en el pak0.pak del Half-Life, exactamente en ambience/Drips.wav.
Ahora, para hacer que el sonido suene en nuestro mapa debemos agregar una entidad, en este caso la es ambient_generic. De esta forma, en la vista 3D vamos a ver el siguiente icono:
Ahora vamos a configurar la entidad en cuestión, para ello, abrimos sus propiedades, y vemos lo siguiente:
En el casillero de Path/filename.wav of WAV ponemos, como dijimos antes, ambience/Drips.wav y ya el sonido debería funcionar perfectamente haciendo un loop (sonido que se repite) infinitamente.
Para no quedarnos sólo en los límites del sonido, te vamos a explicar el resto de las entidades más importantes:
Volume (10 = Loudest): Esta propiedad habla por si sola, y mediante esta, vamos a poder cambiar el volumen del sonido.
Dynamic Presets: Esta propiedad es muy interesante, ya que si tenemos un sonido de una voz, cambiando esta propiedad, el Half-Life va a aplicar filtros sobre el sonido y lo va a simular con la opción que hayamos elegido (Por ej: la voz en off "robótica" de Half-Life, se hace con esta opción).
Fade in time (0-100): Esto mide el tiempo en segundos del efecto Fade In (Comienzo del sonido, subiendo el volumen).
Fade out time (0-100): Esto mide el tiempo en segundos pero en este caso del efecto Fade Out (Fin del sonido, bajando el volumen).
Las demás propiedades son todos efectos/filtros adicionales para agregar a nuestro clip de audio. Por otro lado, la entidad ambient_generic tiene los siguientes flags:
Play Everywhere: Tildando esta opción, vas a lograr que el sonido se escuche en todo el mapa.
Small / Medium / Large Radius: Si no utilizamos la opción anterior, esta nos ayuda a establecer el radio del sonido.
Start Silent: Tildando esta opción, el sonido no se reproduce. Esto es ideal para que el sonido sea activado por una sentencia (trigger o por un botón).
Is not Looped: Como dijimos antes, un Loop hace que el sonido se repita infinitamente, si tildamos esta opción, el sonido sólo se va a reproducir una sola vez.
Lluvia con Valve Hammer Editor
Lo primero que vamos a hacer es bajarte el sprite de lluvia y descomprímelo en la carpeta valve/sprites. Lo siguiente que vamos a hacer es crear un entorno en donde ubicar la lluvia. Como podemos ver en la imagen de aquí abajo, vemos que las entidades están ubicadas en un lugar a cielo abierto, por razones obvias:
Ahora vamos a crear un punto en donde va a empezar a moverse la gota (inicio) y otro en donde va a finalizar (fin) este movimiento.
Vamos a ubicar una entidad info_Target en donde queremos que comience el movimiento de la gota. Para hacer que luzca más real, la deberíamos situar cerca del cielo. Además vamos a ubicar otra emtidad info_Target cerca del suelo en donde va a terminar el movimiento de la gota. Lo próximo que nos queda por hacer es cambiar el nombre de estas entidades como describimos aquí debajo:
info_target (inicial): gota1ini
info_target (final): gota1fin
Ahora estamos creando sólo una gota, pero si quieres hacer más gotas reemplaza el número 1 por cada gota que crees (gota2ini, gota2fin - gota3ini, gota3fin)
Esto es un trabajo no muy agradable, aunque le dan un toque profesional a tus mapas. La alternativa: RainMaker, un programa que genera estas 3 entidades automáticamente y nos ahorran mucho trabajo.
Ahora que ya definimos los nombres de las gotas, vamos a crear la entidad que define el sprite y el movimiento. Para ello vamos a crear una entidad env_beam por cada gota (no importa donde los hayamos creado) y cambiamos sus propiedades de la siguiente manera:
Start Entity: gota#ini (donde # es el número correspondiente a cada gota).
End Entity: gota#fin (idem anterior).
Beam Color (R G B): ponemos el valor 255 255 255, de otra forma, las gotas serían invisibles.
Radius: 512.
Life (seconds, 0=infinite): Ponemos el valor 0.
Width of Beam: Esto define el ancho del sprite, nosotros vamos a usar un valor de 20.
Sprite Name: Ponemos el nombre del sprite (*.spr) y la carpeta. En este caso es sprite/rain.spr.
Texture Scroll: Esto define la velocidad de movimiento y es importante que pongamos un valor negativo, sino la lluvia va a dirigirse hacia arriba. Nosotros vamos a usar un valor de -20 o -30.
En la solapa Flags tildamos Start On (esto habilita la lluvia desde que ingresamos al mapa), y finalmente Shade Start.
Ahora que ya tenés las 3 entidades que forman cada gota, puedes duplicarlas para ahorrar tiempo, pero ten mucho cuidado. No hay que olvidar cambiar los nombres de cada entidad, en consecuencia, las gotas van a caer en un mismo lugar y puede suceder otro tipo de error desconocido.
Nota: Hay mods como Spirit of Half-Life o la versión del Counter-Strike 1.6, las cuales tienen entidades propias de lluvias ya programadas, es decir, con solo agregar una sola entidad, ya tenemos lluvia en todo el mapa.
Objetos destructibles con Valve Hammer Editor
En este capítulo del Manual Valve Hammer Editor vamos a enseñar como crear sólidos que se destruyen cuando los disparamos.
Vamos a empezar creando un sólido de 8 x 64 x 48 unidades con la textura glassblue1 situándolo como si fuese una ventana como se ve en la imagen:
Lo siguiente que vamos a hacer es convertir [Ctrl+T] ese sólido a la entidad func_breakable. Esta entidad nos va a permitir romper en pedazos cualquier sólido que deseemos, ya sea disparándole o mediante una sentencia (trigger o un botón).
Ahora vamos a conocer un poco las propiedades:
Target on Break: Si necesitamos que cuando se destruya el sólido, se active una secuencia, en este casillero ponemos su nombre, en nuestro ejemplo dejamos este casillero vació.
Strengh: Esta propiedad mide la dureza del sólido. Para nuestro ejemplo lo vamos a dejar en 1.
Material Type: Si desplegamos este menú vamos a ver varias opciones. Cada una de esas categorías define los gibs (astillas/pedazos) del objeto que rompamos. En nuestro caso, vamos a dejar la opción por defecto: Glass.
Gibs Direction: Esta propiedad define hacia que lado van a salir despedidos los gibs. Te recomendamos usar la opción Relative to Attack, ya que luce más realista, ya que toma en cuenta el lado en que disparamos.
Delay befor Fire: Este valor en segundos sirve en el caso que necesitemos que el sólido se destruya después de X segundos de ser disparado. Nosotros lo vamos a dejar en 0.
Gib Model: Si no nos gusta ninguna de las categorías de materiales de gibs, en este casillero podemos definir un modelo propio.
Luego tenemos propiedades como Render Mode y Fx Amount, las cuales ya vimos como funcionan y en este caso es exactamente igual.
Ahora, para concluir con la configuración de la entidad func_breakable vamos a ver sus flags:
Only Trigger: Este flag nos sirve si queremos evitar que el sólido se rompa al dispararse. En este caso, solo se va a romper cuando alguna sentencia lo active por su nombre.
Touch: Tildando esta opción, vamos a poder romper el sólido con sólo pasar a través de él, sin necesidad de dispararle.
Pressure: Con este flag tildado, el sólido se va a romper cuando algo haga fuerza sobre el mismo. Por ejemplo: cuando pisamos el sólido, o otro sólido ejerce presión sobre el.
Con esto terminamos el capítulode objetos destructibles. En el mapa de ejemplo lo hicimos con dos sólidos rompibles, uno de vidrio y otro de metal. Las únicas diferencias radican en 2 o 3 propiedades.
Vehículos con Valve Hammer Editor
Vehículos para Counter Strike
Lo primero es diseñar el vehículo, una vez hecho esto, crea justo en el medio del vehículo un nuevo sólido (un cubo por ejemplo), con la textura Origin (para sintetizar le voy a llamar "cuborigin") y agrupalo con el vehículo. Este sólido con la textura Origin va a determinar el centro de gravedad del vehículo, lo que va a hacer saber al Half-Life que ese sólido se puede mover en todas las direcciones.
El motor del vehículo
Ahora hay que hacer el motor del vehículo. Para esto, crea adelante del vehículo y a la misma altura que el cuborigin, dos entidades path_tracks, alineadas de forma que ambas coincidan en línea recta con el cuborigin. Entra en las propiedades de un path_track y ponle de nombre, por ejemplo, parada1, y en Next stop target pon parada2. Abre las propiedades de la otra entidad y ponle de nombre parada2, y en Next stop target pone parada1. Con esto, conseguís un loop, y así engañas al motor del Half-Life, consiguiendo que todo el mapa sea un gran circuito.
Ahora hay que asignarle las propiedades al vehículo. Para ello, le vamos a dar la función de func_vehicle y vamos a configurar las siguientes propiedades:
Name: Aquí pon un nombre que lo identifique, a tu gusto.
Fist Stop Target: Tiene que ser parada1 o parada2.
Lenght of the Vehicle: Fíjate cual es la longitud del vehículo y asignale ese valor.
Width of the Vehicle: Lo mismo que con la longitud, pero ahora midiendo el ancho.
Height above track: Esto sirve para nivelar el vehículo a la altura del suelo en caso de que los func_track no estén bien alineados.
Speed: La velocidad máxima del vehículo medida en unidades.
Acceleration: La cantidad de aceleración del vehículo.
Nota: También es muy importante que el vehículo mire hacia el este o el oeste.
Los controles del vehículo
La última cosa que nos queda por hacer es crear un nuevo sólido de 64 unidades de alto como mínimo, y convertirlo en una entidad func_vehiclecontrols, dándole el mismo nombre que al func_vehicle. Ahora pon los controles adentro del vehículo, compila, y vas a haber conseguido un vehículo para mapas de Counter Strike de libre movimiento.
Consejos Valve Hammer Editor
Consejo vhe Nº1
Crea sólidos individuales. Esto tal vez suene obvio, pero todavía hay gente que construye los mapas usando Carve y Hollow. No hagan eso. Tal vez sea más rápido, pero a la larga los mapas van a ser más fáciles de mantener y si son sólidos individuales hasta te pueden ayudar a que el mapa quede justo como quieres, cosa mucho más difícil de lograr usando dichas herramientas.
Consejo vhe Nº2
Es vital para hacer texturas perfectas examinar las bases. Corre alrededor de los mapas que más te gusten hasta que encuentres el estilo que vaya bien con tu mapa. Entonces saca una Screenshot de las texturas que te gusten apretando F5. Después cárgalos con un editor de imágenes para tenerlas de referencias al hacer tus propias texturas. Usado correctamente puede servir de mucho. (en el Counter Strike, con sv_cheats 1, puedes escribir impulse 107 para obtener el nombre de la textura a la que estás mirando)
Consejo vhe Nº3
Es bueno ser influenciado. No, no quiero decir que copies, pero si estás estancado sin ideas, revisa los niveles que admires e influénciate por ellos. Con el tiempo, vas a obtener varias ideas para tus mapas y vas a retorcer esas ideas para obtener tus propias creaciones.
Consejo vhe Nº4
Usa diferentes foros de discusión. Primero lee los FAQ's siempre. Si tienes algún problema, pregunta. Si alguien tiene un problema que tu sepas solucionar, respóndele. Así vas a ganar confianza y vas a mantener la comunidad viva.
Consejo vhe Nº5
Si alguien te dice que uses o cargues desde el Valve Hammer Editor todas las texturas que puedas, dile que se equivoca terriblemente. No abuses del engine del Half-Life. Trata de usar la menor cantidad posible de texturas (obviamente mientras no perjudique al mapa).
Consejo vhe Nº6
Desarma y analiza todo. Si estás teniendo problemas con una serie de entidades relacionadas, agarra un pedazo de papel y anota todo. Esto te va a ayudar a visualizar el orden de los eventos, para ver donde está el error.
Consejo vhe Nº7
Tomate tu tiempo. No es buena idea ir al Valve Hammer Editor sin una idea fijada anteriormente, no es recomendable ser espontáneo en el mapping. De todas maneras, si a tí te sale bién, buenísimo. Pero es mejor tomarse un tiempo para pensar acerca de lo que quieres hacer.
Consejo vhe Nº8
Arregla todo en el momento. Si estás testeando un mapa y encuentras un error, arréglalo lo antes posible. No importa lo mínimo que sea. Mientras los defectos se acumulan, te vas a ir olvidando (en la mayor parte de los casos) de los menos obvios. Tener la menor cantidad de errores en los mapas es esencial para que parezcan profesionales.
Consejo vhe Nº9
Usa las texturas apropiadamente. Especialmente en las esquinas... No pongas de un lado una textura y del otro otra.
Consejo vhe Nº10
Mantén un ojo sobre las r_speeds. Anda a la consola, escribe r_speeds 1 y unos números van a aparecer arriba a la izq. mientras jugas (lo que tienes que revisar es el número de los wpoly). Corre por todo tu mapa y después por los mapas oficiales del Counter Strike. Compara las r_speeds y si los tuyos son muy elevados, trata de simplificar las partes de tu mapa que tengan altas r_speeds. Mientras más bajo sea el número, más rápido va a cargar y menos lag va a producir.
Nota: Los r_speeds cambian depende de la compilación que tengas, siempre que veas los r_speeds, trata de hacerlo con la compilación full.
Consejo vhe Nº11
Sácale provecho a las texturas. Muchas texturas en varios juegos están diseñadas para ser usadas en más de un sólido.
Consejo vhe Nº12
¿Tratando de crear una escena al aire libre que tenga piedra y hierba? Trata de hacerla más natural ¿Alguna vez se dieron cuenta que si vemos en el Half-Life una parte rocosa o con pasto desde lejos la textura se ve repetida varias veces? Bueno, eso es feo y obviamente no es natural. Lo que recomiendo es que escalen las texturas a un valor de 2.00 y que la roten como 30º. Esto hace que las texturas se vean dos veces más grandes y naturales.
Consejo vhe Nº13
No se sobrepasen con los resplandores de las luces. Los mapas llenos de sprites de brillos no tienen tan buena apariencia como los que los usan esparcidos y en lugares precisos.
Consejo vhe Nº14
Usen pilares para cubrir las esquinas feas. No quiero decir que lo hagan en todas las esquinas, sino en aquellas que se vean particularmente aburridas. Asegurate de no afectar los movimientos de los jugadores (Nota: Para no afectarlos usen el tip 18).
Consejo vhe Nº15
¡¡¡ Compilen sus mapas correctamente en la versión final !!! No hay nada más feo que bajarse un mapa y ver que está mal compilado.
Consejo vhe Nº16
No abusen de los prefabs. Hay muchísimos mapas que tienen almenos 1 expendedor de bebidas en alguna parte, y en el peor de los casos 5 uno al lado del otro. Así que ya saben, piensen bien antes de usar los prefabs.
Consejo vhe Nº17
Testeen sus mapas lo más que puedan. Juégalo y juégalo y sigue jugándolo hasta que estés harto, sólo entonces vas a darte cuenta qué mejoras necesita. Ten papel en mano para anotar errores y mejoras. Después juégalo con otras personas, en lo posible desde newbies hasta profesionales, entonces escucha sus opiniones y sigue mejorándolo el mapa tanto como puedas.
Consejo vhe Nº18
La utilidad de los sólidos clip. Si acaso odian quedarse trabado en una partecita de la pared que sobresale un poco esto les puede servir.
Consejo vhe Nº19
Los decals son excelentes para añadir atmósfera al mapa. Si tienes una parte con un textura muy aburrida, puedes usar los decals para hacerlas un poco más interesantes.
Consejo vhe Nº20
Algunas esquinas simplemente no se ven bien, con o sin pilares. Para variar un poco puedes hacerlas curvas! Todo lo que tienes que hacer es cortar la esquina a gusto o modificar un cilindro por sus vértices!
Consejo vhe Nº21
¡Las Spotlight son una gran invención! Especialmente en un mapa donde predomine el Eye-Candy! Bien usados pueden quedar muy bien.
Consejo vhe Nº22
La redundancia es fea. No sólo las texturas repetidas hasta el cansancio, sino también los sonidos y entidades mal posicionadas. Por ejemplo, si estás tratando de hacer una serie de sonidos para simular que una batalla está comenzando, da lugar a la variación. No pongas el mismo sonido repetido mil veces, así no sonaría una batalla. En otro ejemplo, tal vez tienes un corredor largo con lámparas de techo. Si juntas demasiado las luces puede quedar muy repetitivo, porque quedaría todo iluminado de la misma forma.
Consejo vhe Nº23
Comprueba siempre para ver si hay nuevas actualizaciones de los programas que uses. Puede que te sirvan para arreglar un bug que te molestaba en una versión anterior, o puede traer nuevas herramientas que te faciliten mucho tu trabajo. En otros casos pueden traer un nuevo FGD con nuevas entidades. También asegurate de tener la última versión del Half-Life y del Counter Strike.
Consejo vhe Nº24
¡¡ Trata de mantener todas las proporciones en múltiplos de 4, 8 y 16 !! Tal vez tengas al principio el presentimiento de que es mejor tener paredes de 50 o 100 unidades de ancho, pero no lo es. Así que, para un ejemplo, las paredes quedan mejor si son de 32 o 64 unidades de ancho, no solo para ser mas simple con la cuadrícula del Valve Hammer Editor, sino porque también es más simple de manejar para el engine del Half-Life. Aparentemente, paredes más finas hacen que la compilación BSP y CSG sean más rápidas.
Consejo vhe Nº25
Los mapas lineares son feos y aburridos. Es decir, trata de poner más de un solo acceso a las habitaciones, es muy feo que para ir a un lugar solo puedas tomar un solo camino. Esto puede mejorar mucho el mapa y obviamente la jugabilidad del mismo.
Consejo vhe Nº26
Algunas paredes simplemente se ven aburridas. Si los decals no la hacen mas interesante, puedes añadir más detalles.
Consejo vhe Nº27
Los sonidos ambientales y su entidad env_sound es de lo mejor para crear una buena atmósfera en tus mapas . Para los que no lo saben, esta entidad cambia la manera en que los sonidos son manejados en el juego. Por ejemplo si un jugador se topa con una de estas entidades, que tenga el setting de Tunnel Large en Room Type, en cierta parte del mapa hace que los sonidos suenen como si estuviéramos en un túnel muy largo. Lo malo de esta entidad es que el efecto se queda para siempre con el jugador, a menos que se tope con otra entidad env_sound.
Consejo vhe Nº28
Dibuja el mapa. Muchos de los mappers profesionales en lugares como Valve, id, Epic, Ritual, Raven y muchos otros lados dibujan sus mapas antes de pasarlos a 3 dimensiones. Yo lo hago siempre con toda la precisión posible, te puede ayudar a completar ideas, mejorar estructuras y planificar la jugabilidad. Obviamente no toda la gente hace esto, hay personas que obtienen mejores resultados creando sólidos al azar y modificando en el camino. No se ha probado que algún método sea mejor que el otro, pero prueben para ver cuál les viene mejor.
Consejo vhe Nº29
Si quieres ser contratado por una gran compañía como Valve o id, entonces prepárate para mucho trabajo. Primero y principal, requiere muchísima experiencia en diseño de niveles para otros juegos ya que es para lo que te contratan. No sólo eso, si puedes demostrar que trabajas bién en equipo, también ayuda. Hacer tus propias texturas, sonidos, modelos, etc. Y hasta programar algunos addons para algún juego o programa es una gran ayuda. Finalmente, necesitas mucha determinación, suerte, y una vez más, experiencia.
Consejo vhe Nº30
Las rocas no son chatas, así que por favor no las hagan chatas! Si estás creando un escenario al aire libre con paredes de piedra, no hagas un solo sólido gigante con una textura de roca... Usa varios sólidos para hacer lucir a la piedra como piedra de verdad. Hasta los mappers con muy poca experiencia te van a decir que lo hagas, hace que todo se vea mejor. Aunque si la roca aparece en algún lugar colgado (donde no esperaríamos ver una roca), puede permanecer chata, pero no mucho.
[url=http://zona-counter.com/manual-valve-hammer-editor.html]Fuente![/url]
P/D: Si Ya Lo Postearon, Pido Mil Disculpas! [Cualquier Cosita Mandenmen un MP, Asi Elimino el POST]
Desde Zona Counter queremos agradecer el esfuerzo y gran dedicación al apasionante mundo del mapping de nuestro colaborador *-=MORC=-* que ha echo este gran Manual Valve Hammer Editor en su totalidad. Y ahora vayamos al grano.
Si te inicias en esto del mapping para Half-Life te recomendamos que tengas en mente algunos puntos importantes. Para empezar te recomendamos que te bajes la última versión del Valve Hammer Editor. La versión 2.1 del Worldcraft que viene en el CD de Half-Life sirve perfectamente, pero tiene bugs que fueron arreglados y probablemente te ahorres problemas a la hora de mappear.
Otra cosa importante que cabe destacar es la limitación del motor gráfico en cuestión. El Half-Life tiene un motor gráfico (engine) muy limitado, así que las ideas para tus mapas las tenés que hacer pensando en el engine en si y no en el lugar que quieres mappear.
Para que se entienda mejor: No pienses en mapas extremadamente detallados.
Capítulos del Manual VHE: 1) CONFIGURACIÓN Y PUESTA A PUNTO 2) EL ENTORNO VHE 3) LA 1º HABITACIÓN 4) PUERTAS 5) ESCALERAS 6) INTERRUPTORES 7) ASCENSORES 8) CIELOS 9) VAPOR, HUMO Y FUEGO 10) LÍQUIDOS 11) VIDRIOS 12) SONIDOS 13) LLUVIA 14) OBJETOS DESTRUCTIBLES 15) VEHÍCULOS 16) CONSEJOS VALVE HAMMER EDITOR
Configurar Valve Hammer Editor
La configuración del Valve Hammer Editor no es difícil. Solo toma unos minutos y sin esto no podemos empezar a mappear.
Vamos a empezar. Una vez instalado el programa lo corremos y nos encontramos con esta 1ª ventana:
Este mensaje aparece la primera vez que ejecutamos el Valve Hammer Editor y nos informa que no está configurado para ningún juego y nos ofrece una ayuda incluida en el programa.
A esta ventana vamos a decirle que no queremos ayuda ya que tienes el Manual Valve Hammer Editor de Zona Counter en tus manos
Lo próximo que vemos es esta ventana con varias solapas:
En la solapa General vemos varias configuraciones, algunas son muy comunes. Nosotros vamos a enfocarnos en la opción Undo Levels. Esto indica la cantidad de veces que se pueden Deshacer las cosas que hayamos hecho en el mapa. Si tienes un buena PC, con bastante memoria, te recomendamos que dejes ese valor en 50, por otro lado, si tienes un PC un poco viejo te recomendamos que pongas como valor 10 o 5. El resto de las opciones las dejamos como están.
Ahora nos dirigimos a la solapa Game Configurations, allí veremos esta ventana:
Esta es una de las partes más importantes. Lo primero que vamos a hacer es crear un set de configuración para la modificación del Half-Life que vamos a usar. Para ello hacemos clic en el botón Edit y veremos lo siguiente:
Luego hacemos clic en Add para agregar la configuración. Nos va a aparecer una ventana en donde nos pide el Game's Name (Nombre del juego), ahí escribimos Half-Life. Este nombre es relativo, es solo para nosotros y no afecta en nada la configuración del juego. Pero podríamos usarlo cómodamente para distinguir las distintas modificaciones (de ahora en adelante mods) del Half-Life, por ejemplo, si estuviésemos configurando el Counter-Strike utilizaríamos ese nombre para identificar el set de configuraciones.
Una vez que terminamos de agregar la configuración Half-Life hacemos clic en Close y volvemos a la pantalla anterior. Vamos a ver que ahora tenemos en la lista de Configurations el juego que recién creamos.
Entidades FGD del Valve Hammer Editor
Vamos a pasar al casillero de Game Data files. Aquí es donde se diferencian realmente los mods. Cada mod tiene un set de entidades. Las entidades son las propiedades que puede tener un mapa. Estas entidades se almacenan en un archivo con extensión FGD. Para cada mod que mappemos vamos a necesitar este archivo.
En nuestra sección downloads de Counter Strike tenemos los FGD's para hacer mapas del mod Counter Strike.
Una vez que tenemos estos archivos hacemos clic en Add y seleccionamos el FGD correspondiente al Half-Life. Una vez hecho esto vamos a ver que el Valve Hammer Editor agregó una ruta al archivo solicitado y además, llenó automáticamente los campos de:
Texture Format: WAD3 (Half-Life / TFC), esto indica el tipo de texturas que utiliza el Half-Life, el cual vamos a detallar más adelante.
Map Type: Half-Life / TFC, esto indica el tipo de mod que soporta ese FGD. En este caso, se puede utilizar perfectamente para hacer un mapa de Half-Life y/o Team Fortress Classic (TFC).
Default PointEntity Class: Esta es la lista de entidades que se pueden agregar solas sin estar asignadas a ningún otro objeto (sólidos = brushes).
Default SolidEntity Class: Por otro lado, esta es la lista de entidades que sí o sí tienen que estar asignadas a sólidos.
El resto de los casilleros los dejamos como están. Sólo son útiles si también usamos el Valve Hammer Editor para compilar los mapas (más adelante explicaremos que es la compilación).
Las texturas del Valve Hammer Editor
Ahora pasamos a la solapa de Textures y nos vamos a encontrar con lo siguiente:
Aquí es donde vamos a agregar las texturas. Pero primero vamos a explicar que son las texturas. Las texturas son imágenes en 2D las cuales son aplicadas a las caras los sólidos que vamos a crear. Las texturas se almacenan en archivos WAD.
Volviendo a la ventana en cuestión, hacemos clic en Add WAD y buscamos la carpeta del Half-Life. Allí buscamos una sub-carpeta de nombre Valve y encontraremos algunos WAD, de los cuales sólo vamos a utilizar halflife.wad. Ya estamos listos para empezar a mappear, pero antes nos queda un tema que explicar: La compilación.
Esto es algo imprescindible para la creación de mapas. Para empezar vamos a decirte que hay un pack de herramientas llamadas Zoner Half-Life Tools (de ahora en adelante ZHLT). Estas traen varios archivos ejecutables, los cuales solo vamos a usar los siguientes: hlbsp.exe, hlcsg.exe, hlvis.exe, hlrad.exe.
Cada una de estas es un paso de compilación en donde, tomando el mapa que creamos, le agrega las luces, sombras, sonidos, texturas, etc. Y convierte el archivo final en .BSP. Más adelante te vamos a explicar cuando y como compilar tu mapa.
El entorno Valve Hammer Editor
Las diferentes vistas del editor
Ahora vamos a ver el entorno donde vamos a trabajar y todas las emocionantes cosas que tiene el Valve Hammer Editor para ayudarte a crear mapas.
Una vez cerrada la ventana de configuraciones vas a ver una pantalla vacía como esta:
Los recuadros grises son los botones de la barra de herramientas que se van a habilitar cuando creemos un mapa nuevo o abramos uno existente.
Ahora hace click en el menú File -> New
Cada uno de esos recuadros negros son los tipos de vista: en la esquina superior izquierda tenemos la vista en 3D que puede ser ajustada por líneas (3D wireframe), sólidos rellenos (3D flat) y sólidos texturados (3D textured). Después arriba a la derecha tenemos la vista TOP en donde veremos todo desde arriba, en la parte inferior a la izquierda tenemos la vista FRONT (frente) de nuestro mapa, y a la derecha tenemos la vista SIDE (desde un costado).
Se puede ajustar cada uno de los cuadros a gusto, nosotros preferimos dejarlos en el modo que esta y utilizamos en el modo 3D la vista de texturas.
Nosotros vamos a crear los sólidos y agregaremos entidades en los recuadros: TOP, FRONT y SIDE, según nos sea más cómodo, ya que todos son vistas diferentes de lo mismo.
Las herramientas del Valve Hammer Editor
Antes de empezar a crear nuestro mapa vamos a ver un poco que tenemos en la barra de herramientas:
Scale x/y: Puedes cambiar la escala de la textura así como achatarla o estirarla.
Shift x/y: Esta opción te permite ubicar una textura con respecto a X e Y.
Rotation: Te sirve para rotar una textura.
Justify: Hay 6 botones para jugar aquí: L (Izquierda), R (Derecha), Fit (Se adapta a la cara), T (Arriba), B (Abajo), C (Centro).
Treat as One: Cuando seleccionas muchas caras esta opción te permite que se las tomen como una sola cara.
Aling World to Face: Estas opciones son un poco difíciles de explicar, World sirve para ubicar texturas basándose en el mapa completo, y Face sirve para ubicar texturas basándose en la cara del sólido.
Texture Group: Sirve para seleccionar o todos los WAD, o cada uno por separado.
Current Texture: Muestra el nombre de la textura que tenemos seleccionada en ese momento.
Hide Mask: Sirve para ocultar la selección roja que aparece al seleccionar algo.
Apply: Sirve para aplicar todos los cambios que hicimos.
Browse: Sirve para buscar en los archivos WAD las texturas.
Replace: Seleccionando esta opción el programa va a tomar la textura seleccionada y la va a reemplazar con la textura que elijamos, pero también va a cambiar todas las texturas con el mismo nombre en el resto del mapa.
La 1ª habitación con Valve Hammer Editor
Primeros pasos con VHE
Lo primero que vamos a hacer es crear un mapa nuevo. Para ello nos dirigimos a File -> New.
Antes de crear la habitación, lo normal es seleccionar una textura general, ya que la que esta seleccionada por defecto (AAATrigger) es la que se suele usar para las entidades (como detectores de aperturas de puertas, escaleras, etc.), de todas formas puedes cambiar en cualquier momento las texturas de la habitación con la herramienta de texturas.
En el cuadro de dialogo Textures haz click en el botón Browse. Así se abre el explorador de texturas. Una vez en el explorador de texturas, en la parte de abajo en el cuadro Filter, escribe por ejemplo WALL (pared). El filtro de texturas reduce la lista únicamente a las texturas que en su nombre contengan la cadena de texto WALL. Seguramente vas a ver unas cuantas texturas, selecciona la que mas te guste.
Una aclaración. No es necesario usar el filtro si no quieres, simplemente úsalo cuando sepas o tengas una idea de lo que buscas.
Para hacer las paredes vamos a utilizar la herramienta Block. Para que sea más fácil cambiar el tamaño de los sólidos vamos a achicar el tamaño de la rejilla del Valve Hammer Editor.
Para achicar o agrandar el tamaño de la rejilla del Valve Hammer Editor utiliza estos dos botones de la barra de herramientas
La barra de estado del Valve Hammer Editor
1 - Este casillero nos informa si es un sólido y el número de caras tiene, por el contrario, si hubiésemos convertido el bloque en una entidad, en ese espacio nos informaría que entidad habíamos usado.
2 - Este casillero posee una @ a su izquierda y este nos informa las coordenadas de cada sólido en el mapa.
3 - Este casillero tiene 3 valores: xx w, xx l, xx h. Estos indican las unidades de ancho, profundidad y alto (en su respectivo orden).
4 - Este casillero nos provee información sobre el zoom que estamos usando.
5 - Este casillero nos informa sobre el tamaño de la cuadrícula en la cual estamos trabajando.
Crear paredes, pisos y techos con VHE
Para empezar a construir la habitación, vamos a utilizar la herramienta Block, vamos a ir a la vista TOP y vamos a crear un rectángulo de 32w 256l 256h unidades.
Una vez creado, vamos a ubicarlo a la izquierda del eje Y (Línea verde azulada vertical). Si hicimos este paso bien nos va a quedar algo así:
Repitiendo el paso anterior, vamos a crear 3 sólidos mas formando 4 paredes. El resultado lo podemos ver en la siguiente imagen:
Siempre es bueno alinear a la cuadricula nuestro mapa, es decir, siempre que podamos, hay que basar nuestras habitaciones siguiendo las de los ejes X e Y o grises claras. Solo si es necesario deberíamos a achicar la cuadricula al máximo. Lo recomendable siempre es trabajar con una cuadrícula de 16 unidades.
Alineando los sólidos a la cuadrícula, nos ayuda fácilmente a ubicar las texturas sin necesidad de configurar su tamaño o posición.
Ahora que tenemos las paredes, vamos a crear el techo y el piso. De la misma manera que hicimos antes con las paredes vamos a crear un sólido de 256w 256l 32h unidades en medio de las cuatro paredes en la vista TOP.
Con el sólido seleccionado nos dirigimos a la vista SIDE y lo movemos verticalmente hasta los bordes inferiores de las paredes, y quedaría algo así:
Ya tenemos el piso, ahora vamos a crear el techo. Para ello, en lugar de crear un sólido nuevo, te vamos a enseñar un atajo que te va a facilitar un poco el trabajo. Posiciónate en la vista SIDE y con la tecla SHIFT presionada haz click en el sólido del piso y arrástralo hasta los bordes superiores de las paredes. Con esto hemos copiado el sólido del suelo y lo hemos coocado en el techo.
Poner texturas con Valve Hammer Editor
Vamos a darle un poco de estilo al cuarto, para empezar vamos a cambiar las texturas del piso. Para ello vamos al explorador de texturas y en el filtro ponemos FLR y elegimos un piso que nos guste. Una vez que lo tenemos seleccionado, vamos a la vista 3D y presionando la letra Z vamos a navegar al interior de nuestra habitación. Volvemos a presionar la tecla Z para desactivar el navegador y seleccionamos el sólido del piso.
Con el sólido y la textura deseada seleccionada hacemos click en la herramienta Apply Current Texture. Al usar esta opción, todas las caras del sólido en cuestión se van a cambiar por la textura que elegimos. El resultado seria más o menos así:
Volvemos a navegar la vista 3D, para visualizar el techo. Nuevamente vamos al explorador de texturas y en el filtro ingresamos el criterio CEI, esto nos muestra varios tipos de cielos. Elegimos el que mas nos guste y lo seleccionamos.
Seleccionamos el sólido del techo y volvemos a utilizar la herramienta Apply Current Texture. Finalmente ya tenemos las paredes, piso y techo bien definidos.
Crear el punto de salida del mapa
Pero esto no termina aquí. Todos los mapas necesitan un punto de salida para el jugador. Esto se hace colocando una entidad info_player_start en el mapa.
Para hacer esto, vamos a utilizar la herramienta Entity. Una vez seleccionada, nos dirigimos al menú de la derecha y abajo de todo veremos la opción de Objects. Ahí debajo hay un menú desplegable en el cual figuran todas las entidades que no requieren ningún sólido para funcionar. Nosotros vamos a utilizar la entidad info_player_start, así que la buscamos en la lista y la seleccionamos.
Ahora nos vamos a la vista 3D y hacemos click en el sólido del piso (siempre con la herramienta Entity seleccionada).
Si se fijan bien, el programa nos agregó un cubo verde claro en medio del sólido del piso como se ve en la imagen:
Si nos fijamos bien, en las vistas SIDE y FRONT vemos que mitad del info_player_start esta dentro del mapa y la otra mitad fuera. Esto no debe quedar así por dos motivos.
El primer motivo y algo que se tiene que aprender antes de empezar a mappear es que todas las entidades que estén del lado negro, es decir, fuera del mapa van a generar un error conocido con el nombre de LEAK.
El mapa siempre tiene que estar sellado y no se puede dejar ni una sola unidad de espaciado. Todos los sólidos que dan al exterior deben estar juntos si o si.
El segundo motivo es que el info_player_start esta pegado al piso. Esto va a traer problemas cuando compilemos ya que cuando el jugador haga el worldspawn (ingrese al mapa) va a quedar trabado ya que tiene sus pies pegados al piso.
Para solucionar este tema, vamos a mover la entidad hacia arriba, de modo tal que quede a unas 3-6 unidades por sobre el piso. De esta manera nos aseguramos que no haya trabas cuando el jugador ingrese al mapa.
La iluminación del VHE
Si compilamos el mapa así como está vamos a ver todo oscuro. Lo que nos queda por hacer es añadir la iluminación al mapa. Para ello, vamos a agregar una entidad Light (luz ... no bajo en calorías jeje). Nuevamente usamos la herramienta Entity, volvemos al menú Objects y en este caso elegimos la entidad Light.
Acto siguiente agregamos la entidad, por ejemplo a una de las paredes y la movemos al centro del cuarto utilizando las vistas 2D.
Esta iluminación es solo una base. Una única luz que ilumna nuestra habitación. En mapas más grandes, con varias habitaciones, pasillos, zonas, niveles etc. Vamos a necesitar iluminar cada uno de los apartados hasta que se vea como más nos guste.
Pero todo esto lo vamos a explicar más detalladamente en próximos capítulos del Manual VHE.
Crear una puerta con Valve Hammer Editor
Siguiendo con nuestra habitación anterior, vamos a crear una puerta. Para más comodidad mueve las entidades info_player_start y light a un costado, pero solo para sacar las screens, no hace falta que los muevas en tu mapa.
Lo primero es crear el agujero en la pared del tamaño de una puerta, el tamaño predeterminado de una puerta es de 64 x 16 x 96 unidades, claro que esto depende en realidad de lo que uno quiera.
Dividir una pared con VHE
Teniendo la habitación anterior iluminada y todo, vamos a dividir una de las paredes en tres partes para insertar la puerta. Para ello vamos a utilizar la herramienta Clipping Tool.
Seleccionamos la pared que nos interesa, hacemos doble click en la herramienta Clipping Tool y trazamos una línea como muestra la imagen:
Luego presionamos ENTER y el sólido se va a haber cortado. Si por alguna razón un pedazo del sólido desapareció es que usamos mal la herramienta. La herramienta Clipping Tool tiene 3 posiciones, las 2 primeras hacen que el lado izquierdo o derecho desaparezca luego de hacer un corte, y la 3er posición deja los los pedazos de sólido sin eliminarlos.
Si hicimos esto bien nos tiene que haber quedado como la imagen inferior, y como paso siguiente vamos a trazar nuevamente una línea también como se ve en la imagen:
Nuevamente presionamos ENTER y vamos a ver que la pared se dividió en tres sólidos. Ahora vamos a cambiar un poco el tamaño para que el hueco de la puerta no nos quede tan grande. Las dos paredes de las puntas tienen que ser de 96 x 64 x 256 unidades y la del medio 64 x 64 x 256 unidades. El resultado es el siguiente:
Lo que vamos a hacer ahora es crear el lugar para colocar la puerta. Vamos a achicar el sólido del medio, para eso lo seleccionamos y en la vista SIDE o FRONT (depende que pared hayamos cortado) vamos a reducirlo a un cubo de 64 x 64 x 160 unidades como se ve en la siguiente imagen:
Ahora vamos a crear la puerta que va a ir en ese espacio. Para que tenga aspecto de puerta vamos a ir al Explorador de Texturas y en el filtro vamos a poner c1a0b_dr4b, seleccionamos esa textura y pasamos a crear el sólido de la puerta. Creamos uno que tenga 64 x 16 x 96 unidades y lo colocamos de manera que encaje con el agujero de las mismas proporciones como se ve en la imagen inferior:
Alinear texturas con Valve Hammer Editor
Bueno, al menos ocupamos el espacio, pero eso no parece una puerta. Para ello vamos a tener que alinear la textura. Utilizando la herramienta Texture Aplication [Shift+A] vamos a hacer click en la cara del sólido de la puerta que se ve en la screen anterior. En la ventana de aplicación de texturas presionamos el botón Fit y vemos como se corrigió la textura, también podemos hacer lo mismo con la cara contraria y lograremos el mismo efecto.
Nuevamente, esto no termina aquí. Lo único que tenemos es el sólido de la puerta, pero no se va a comportar como tal hasta que le asignemos la entidad correspondiente.
La entidad puerta de VHE
Lo primero que vamos a hacer es seleccionar la puerta y presionamos [Crtl+T]. Ese es el cuadro de diálogo de las entidades asignadas a sólidos, es decir, que van junto con un sólido. En el menú desplegable buscamos la entidad func_door.
Generalmente con los parámetros por defecto la puerta ya funciona, pero se puede personalizar a gusto manejando sus propiedades, que son las siguientes:
Speed: Es la velocidad a la que se abre/cierra la puerta. El valor por defecto es 100.
Move Sound: Selecciona de la lista el sonido que emite la puerta cuando se abre.
Stop Sound: Selecciona de la lista el sonido que emite la puerta cuando se termina de cerrar.
Delay before Close: Es el tiempo que tarda la puerta en cerrarse. El valor por defecto es 4 (se mide en segundos) y para que la puerta se quede abierta pon el valor -1.
Lip: Las puertas de este tipo suben, bajan o van de un lado a otro desde su base hasta su punta. Para que se vea más claramente, la puerta se mete por completo dentro de la pared. Asignándole un valor a este casillero va a dejar un borde. Recomiendo que usen valores del 1-3.
Damage inflicted when blocked: Sirve para hacerle daño a quien se ubique en su trayectoria, Se debe poner la cantidad de daño que le hace al jugador.
Locked Sound: Sonido que emite la puerta si esta trabada o si es trabada.
Unlocked Sound: Sonido que emite la puerta si esta destrabada o si es destrabada.
Yaw: Esta última propiedad define el ángulo en que la puerta se va a mover. Por defecto la puerta se mueve a la derecha, pero si cambiamos el ángulo ésta se mueve en cualquier posición que elijamos.
Para concluir, tendríamos que cerrar el mapa, para que no haya agujeros que den al exterior. Para ello vamos a tener que cubrir con un sólido el hueco que hay en el piso. Además de esto, hay que cubrir el hueco que queda detrás de la puerta, ya que la puerta es una entidad y no impide que el interior esté expuesto al exterior.
Si hicimos esto bien nos va a quedar algo así:
Escaleras con Valve Hammer Editor
Hacer escaleras es una de las cosas más fáciles de hacer, es un procedimiento rápido y sencillo. El tipo de escaleras que vamos a diseñar son las verticales, así que para empezar te aconsejamos que uses el explorador de texturas y busques la textura ladder1.
El tamaño estándar de las escaleras de este tipo es de 32 x 4 x (la altura que vos quieras) unidades. Para obtener el resultado como en la imagen vamos a crear un sólido de 32 x 4 x 128 unidades, siempre con la textura ladder1 seleccionada.
Utilizando las herramientas de alineación de texturas que aprendimos en capítulos anteriores, vamos a alinearla correctamente para que se vea como en la imagen.
Para que la escalera se vea más real, podemos cambiar la textura de sus laterales. Seleccionamos las caras y buscamos la textura generic99c (siempre y cuando la textura de la escalera sea roja, sinó podemos probar con otro color) la aplicamos y quizá no noten mucha diferencia en la ventana del Valve Hammer Editor, pero cuando estén en el juego si se va a notar.
Algo interesante que remarcar es que si en las propiedades de texturas dejamos la escala en 1.00 y la alineación en 0.00, y además el sólido está alineado a la cuadrícula como se muestra en la imagen, la textura va a estar alineada perfectamente y no hay necesidad de re-alinearla.
Esto se aplica a todas las texturas con los tamaños: 16, 32, 64, 128, 256, 512 (pixeles a lo ancho o a lo largo) y dependiendo del tamaño de sólido. Por eso te aconsejamos que siempre trates de alinear los sólidos a la cuadricula, eso te va a ahorrar mucho trabajo.
Si dejamos esto así, el color azul se va a ver negro en el juego. Para hacer que sea transparente, vamos a convertir ese sólido con la entidad func_wall. Para ello presionamos [Ctrl+T] y en la lista de entidades seleccionamos la antes mencionada.
Una vez hecho esto vamos a cambiar algunas de las propiedades. En Render Mode vamos a elegir el valor Solid, y en Fx Ammount vamos a introducir el valor 255.
Con esto la escalera ya está lista, pero solo visualmente. Ahora tenemos que agregarle una propiedad que le diga al juego que se puede subir por esa escalera.
Para ello, vamos a crear un sólido idéntico al anterior, con la textura aaatrigger y vamos a posicionarlo junto al mismo. Para una vista más clara echale un vistazo a la imagen aquí debajo:
Lo único que nos falta es asignarle la entidad que funcionara como escalera al sólido que creamos recientemente. Para ello repetimos el paso anterior con [Ctrl+T], pero esta vez en el menú elegimos la entidad func_ladder. Y eso es todo.
Interruptores con Valve Hammer Editor
Un interruptor tiene varias utilidades, pero todas se resumen a una básica: activar y/o desactivar ciertas acciones, como encender una luz, o abrir una puerta. En este capítulo te vamos a enseñar a utilizar un botón para cerrar una puerta.
Utilizando la habitación que hemos echo en nuestrol Manual Valve Hammer Editor, vamos a convertirla para que pueda ser abierta o cerrada mediante un botón.
En el engine de Half-Life las texturas de botones se representan como:
+0nombre (Textura apagada)
+Anombre (Textura encendida)
Aunque podemos utilizar cualquier textura y el botón va a funcionar, lo ideal para que parezca más realista, es utilizar las texturas con las características arriba mencionadas.
A un lado de la puerta vamos a crear un sólido de unas 16 x 2 x 24 unidades y vamos a decorarlo con la textura +0~lab1_gad3. En la imagen podemos tener una vista más clara del botón y su posición con respecto al info_player_start y a la puerta:
Lo que vamos a hacer ahora es convertir el sólido del botón a la entidad, presionando [Ctrl+T] y seleccionando la entidad func_button.
Ahora vamos configurar el botón y la puerta para que cuando activemos el botón se abra la puerta. Para esto vamos a abrir las propiedades del botón.
Lo primero que vamos a hacer es ir a la solapa Flags y vamos a tildar la opción Don't Move. Eso va a evitar que el botón se desplace a un costado cuando lo presionemos.
Lo segundo que vamos a hacer es volver a la solapa Class Info y ubicamos la propiedad Target o Targetted Object (dependiendo que versión del FGD tengamos) e introducimos en el casillero la palabra puerta.
Ahora vamos a la ventana de propiedades de la puerta y en la propiedad Name ingresamos nuevamente la palabra puerta. Sin salir de la ventana de propiedades de la entidad func_door vamos a la solapa Flags y tildamos el casillero que dice Toggle.
Ahora vamos con las explicaciones. El casillero Target / Targetted Object le indica al botón que tiene que desactivar o activar cualquier entidad que tenga el nombre que pusimos, en nuestro caso, va a activar o desactivar todas las entidades que tengan por nombre la palabra puerta.
En las propiedades del func_door está más que claro por que pusimos en Name la palabra puerta. Por otro lado, la opción Toggle en la solapa flags le está diciendo a la puerta que no se abra cuando alguien pasa por ella, sino que espere a que alguna sentencia (en este caso el botón) la abra o la cierre.
Ascensores con Valve Hammer Editor
Lo primero que vamos a necesitar es construir el ascensor. En este capítulo hemos creado una habitación especial, donde hay una planta baja y un 1er piso.
En nuestro caso pusimos la plataforma a ras de suelo en la planta baja, ya que nosotros queremos que el primer viaje del ascensor sea hacia arriba, de otro modo, el ascensor estaría en el primer piso si quisiéramos que baje.
Tengan en cuenta que el ascensor está compuesto por la plataforma y por la columna que lo eleva:
Mover un ascensor con VHE
Los ascensores se pueden mover de dos maneras: Por proximidad o mediante la acción de un botón.
Accionado por proximidad
Seleccionamos el ascensor y la columna, y transformarlos en entidad func_plat. En sus propiedades, seleccionamos la opción Travel altitude (can be negative), esta es la distancia que nuestro ascensor va a subir o a bajar. Este valor está expresado en unidades y para nuestro ascensor vamos a escoger el valor 128 (unidades), ya que esa es la diferencia de altura entre la planta baja y el 1er piso. En caso de que quisiéramos que baje solo nos queda por agregar un valor negativo de las unidades.
Accionado por botones
Es similar a lo anterior, pero en las propiedades de la entidad func_plat, tenemos que introducir un nombre en el campo Name, por ejemplo ascensor. Ahora vamos a la solapa Flags y activamos la opción Toggle o Triggerable (Activable por medio de botones. El nombre varía según que versión del FGD tengamos).
Ahora tenemos que crear el botón que servirá para moverlo de una posición a otra y configuramos a nuestro gusto las propiedades del func_button. Empezamos con Delay before reset (wait) (es el tiempo que tarda el botón en volver a ser usable) e ingresamos el valor 2; Delay before trigger (delay) (es el tiempo que pasa desde que pulsamos el botón hasta que se activa el evento, el ascensor en este caso), también usamos el valor 2. Ahora en la solapa de Flags activamos Don't move (el botón cambia del estado inactivo al activo cuando es usado sin moverse). Cada vez que sea usado va a activar los eventos, como mover el ascensor.
Lo último que nos queda por hacer es duplicar el botón y situarlo en la planta alta. De este modo podremos usar el ascensor tanto en la planta baja como en el primer piso.
Cielos con Valve Hammer Editor
Hacer el cielo de un mapa es realmente fácil y simple. Para hacer los lugares al aire libre tenés que imaginarte que son habitaciones, como las que vinimos haciendo hasta recién, pero que en el techo, en lugar de tener una textura de techo, tiene la textura sky.
Con la siguiente imagen vamos a aclarar un poco las cosas:
Lo único que hay que hacer es cerrar la "habitación" con la textura sky y ya está.
Cuando corramos el juego, la textura sky va a ser reemplazada por el cielo. Ahora lo que vamos a hacer es definir que cielo vamos a querer que aparezca. Para ello vamos al menú Map -> Map Propierties, y nos deberíamos encontrar con la siguiente ventana:
En el casillero de enviroment map (cl_skyname) vamos a introducir el nombre de algún cielo existente, por ejemplo: trainyard. Los cielos se encuentran en la carpeta C:\Sierra\Half-Life\valve\gfx\env\. Como podemos ver los cielos están en formato .tga y si prestamos atención hay 6 archivos que corresponden a cada tipo de cielo:
nombre_de_cielobk.tga
nombre_de_cielodn.tga
nombre_de_cieloft.tga
nombre_de_cielolf.tga
nombre_de_cielort.tga
nombre_de_cieloup.tga
Cada una de esas 6 imágenes pertenece a una cara de un cubo el cual forma el cielo (Back, Down, Front, Left, Right, Up)
Volviendo al Valve Hammer Editor, en el casillero enviroment map (cl_skyname) vamos a ingresar solamente el nombre_de_cielo. Cerramos la ventana y lo único que nos queda por hacer es darle luz al mapa.
La entidad Sol del VHE
Como recordaréis en el capítulo de la 1ª habitación de nuestro Manual Valve Hammer Editor, si no agregamos alguna entidad que genere luz, el mapa va a estar a oscuras. En este caso, en lugar de usar la entidad light, vamos a utilizar la entidad light_enviroment (Luz de entorno o Sol).
Esta entidad se coloca una sola vez por mapa y va a emitir luz cada vez que haya una textura sky.
Seleccionamos la herramienta Entity Tool [Shift+T] y en el menú desplegable de Objects (abajo a la derecha) seleccionamos la entidad light_enviroment y la agregamos al mapa.
No importa la ubicación de la entidad, ya que el tipo de luz y dirección de la misma se configura desde su ventana de propiedades.
Dentro de la ventana de propiedades vamos a la propiedad Pitch, esta indica el ángulo de inclinación de los rayos del Sol. Por defecto los rayos de Sol en Half-Life son desde arriba hacia abajo, por ende, para que parezca real vamos a tener que ingresar un valor negativo. En nuestro caso, vamos a utilizar el valor -60.
Ahora solamente nos queda configurar el ángulo en que los rayos de Sol van a caer sobre nuestro mapa, y eso lo hacemos con la opción Yaw o Angle (según la versión del Valve Hammer Editor que uses), en nuestro caso vamos a dejarlo como está, esta opción es si queremos algo en especial, sino déjenlo como está.
Vapor, humo y fuego con Valve Hammer Editor
Crear una tubería de vapor con VHE
Antes que nada tienes que tener claro donde quieres el vapor en tu mapa. Nosotros vamos a simular una tubería rota.
Para simular el vapor vamos a usar varias entidades env_sprite (voy a usar 6 para mi vapor) en fila, hacia donde quieras que vaya el vapor. Las colocamos más juntas cerca de la ruptura de la tubería y las vamos espaciando mas según nos vamos alejando de ella. Por ahora solo crea una sola entidad env_sprite, más adelante, cuando este todo listo te vamos a pedir que dupliques las veces que quieras la entidad, así con configurar una sola entidad, duplicándola, vamos a ahorrarnos mucho tiempo y trabajo.
Vamos a configurar las características básicas de la entidad env_sprite. En sus propiedades ingresamos en el campo Render Mode el valor Additive. Luego en la propiedad Sprite Name ingresamos sprites/smokepuff.spr que es el siguiente sprite:
Ahora si quieres que se inicie automáticamente sigue con el Paso 1, pero si lo que quieres es que sea activable/desactivable sigue el Paso 2.
Paso 1: Entra en las propiedades de la entidad env_sprite haz click en la solapa Flags activa la opción Start On.
Paso 2: Dale a la entidad env_sprite un nombre en el campo Name dentro de sus propiedades. Por ejemplo: Vapor.
Ahora duplicamos (Presionamos la tecla Shift mientras arrastramos la entidad) tantas entidades env_sprite como queramos y las ubicamos como mas nos guste (El vapor, según las leyes de la física, es mas liviano que el oxigeno y tiende a subir. Ten eso en cuenta).
Para darle realismo, modificamos en las propiedades la escala de cada env_sprite. Empezamos por el que está más pegado a la tubería, le damos un valor, por ejemplo, de 0.3. Acuérdate que los valores son: tamaño reducido (número menor que 1), tamaño original (1) y aumentado (número mayor que 1). Empezando por 0.3 dale valores a los 6 env_sprite hasta el más alejado, que va a tener un valor de 1.
Para darle aún más realismo, también vamos a cambiar los valores del campo Framerate de cada env_sprite. Asi evitamos que la animación de cada uno sea igual que la de los demás, consiguiendo unos movimientos aleatorios mas próximos a los del auténtico vapor. Empezamos de nuevo por el que está mas pegado a la tubería. Nosotros dimos a los env_sprite valores de 10, 14, 18, 22, 26 y 30, pero podes ajustarlo a tu gusto, claro está.
Para ir terminando los efectos visuales tenemos que modificar los valores de transparencia de cada env_sprite, ya que cuanto mas alejado esté de la tubería, mas transparente va a ser el vapor, hasta que desaparezca. Entonces en el campo FX Amount ponemos un valor bajo, como 80 al más cercano a la tubería (esto lo hace transparente, podes elegir un numero entre 0 = invisible, y 255 = totalmente opaco).
Vamos a ir reduciendo el valor de los env_sprite. Para que te des una idea, el último env_sprite tiene un valor de 15. O sea que los valores de los env_sprite fueron desde 80 con el primero a 15 con el último.
Todo los explicado hasta aquí para el vapor puede ser utilizado también para crear humo, simplemente cambiando el sprite y/o la opacidad.
Añadir efectos sonoros al vapor
Para que el realismo sea total, como siempre, vamos a poner una entidad sonora: ambient_generic (vamos a explicar esta entidad más adelante) y elegimos un sonido de vapor (dentro del Pak del Half-Life tenemos el sonido ambience/steamjet1.wav).
Entonces le damos las propiedades que queramos, como Start Silent (que comience en silencio, por si luego lo vamos a activar con un botón o sentencia) y Small Radius, esto nos indica que el radio de alcance del sonido es pequeño, ya que la fuga de vapor es pequeña.
Por último nos queda cambiar la propiedad Name, ingresando el nombre: Vapor. Esto es más o menos como va quedando:
También podemos hacer que el vapor dañe al jugador, para ello vamos a crear un sólido con la textura aaatrigger, lo ponemos alrededor del vapor y entonces lo transformamos [Ctrl+T] en una entidad trigger_hurt. Configuramos sus propiedades: en el casillero Name ponemos el mismo nombre que las entidades env_sprite, en nuestro ejemplo habíamos usado el nombre: Vapor. Damage ingresamos la cantidad de daño que queremos que le haga al personaje cuando se acerque, por ejemplo 5. Y para que el daño que cause sea por quemadura, en el campo Damage Type seleccionamos Burn.
Ahora, si vamos a hacer que el vapor se pueda activar (lo que implica que el daño también se active), tenemos que darle a la entidad trigger_husrt un valor de Start Off en sus Flags.
La entidad vapor del Valve Hammer Editor
Ahora hay varias posibilidades. Podemos hacer que el vapor esté siempre ahí o que aparezca y desaparezca al hacercarnos.
Para hacer que el vapor permanezca siempre: Ponemos los env_sprite con la propiedad de Start On, en la entidad ambient_generic desactivamos la opción Start Silent, y en la entidad trigger_hurt desactivamos la opción Start Off.
Para hacer que el vapor aparezca y desaparezca al hacercarnos: Dejamos las propiedades como las vinimos configurando y nos aseguramos que todas las entidades tengan el mismo Name: Vapor. Para que cuando activemos el botón se activen todas las entidades al mismo tiempo.
También podemos usar además del botón, una entidad multi_manager (capaz de manejar hasta 16 eventos) y activar cada entidad con un retardo que estipulemos (en segundos). Entonces damos a cada env_sprite, al ambient_generic y trigger_hurt nombres diferentes.
Ahora viene lo difícil: Entramos en las propiedades del multi_manager y activamos el modo SmartEdit. Ahora vemos que tenemos un botón de Add para añadir parámetros a la entidad multi_manager. Lo presionamos y metemos en el campo Key el nombre de cada entidad, y en Value el valor en segundos del retardo. Nosotros usamos un valor mas pequeño para el env_sprite que está mas cerca de la tubería que para el mas alejado. Quedan estos valores para los env_sprite: 0.5, 0.75, 1, 1.25, 1.5 y 1.75.
Y para la entidad ambient_generic y la trigger_hurt, le puse 0.5.
Ahora tenemos que darle un nombre al multi_manager para que pueda ser activado con un botón como ya vimos en capítulos anteriores, o podemos crear un sólido con la textura aaatrigger y asignarle la entidad trigger_multiple (repite su acción cada vez que un jugador lo atraviesa) o trigger_once (realiza su acción sólamente la primera vez que el jugador lo atraviesa). Su configuración es muy parecida a la del botón, solo tenemos que ingresar el nombre de la entidad multi_manager en el casillero Target.
La entidad fuego del Valve Hammer Editor
Para crear el fuego vamos a simular una fogata pero podéis colocarlo donde más os plazca.
Empezamos poniendo una entidad env_sprite sobre los pedazos de madera que vamos a quemar. En las propiedades, en Sprite Name escribimos el nombre de algún sprite de fuego, en este caso vamos a usar el sprites/flame.spr que es precisamente una llamarada.
Después en la propiedad Render mode elegimos la opción Additive. En Render FX pone 150. Lo que sigue es arreglar la escala y los demás valores que crean convenientes para su fuego. Nosotros pusimos una escala de 0.5.
Configurar el calor
Ahora vamos a hacer que al acercarnos nos queme (esto es similar a la quemadura creada por el vapor).
Para que el fuego cause daño a quien se acerque, vamos a crear un sólido con la textura aaatrigger, lo ponemos alrededor del fuego y entonces lo transformamos en una entidad trigger_hurt. Configuramos sus propiedades: En Damage ponemos la cantidad de daño que queremos que le haga al personaje cuando se acerque, por ejemplo 5. Y para que el daño que cause sea por quemadura, en el campo Damage Type seleccionamos Burn.
Añadir detalles
Bueno, para que quede la ilusión del fuego completa, haría falta añadirle sonido y luz. Esto es muy sencillo, agregamos un ambient_generic y utilizamos algún sonido de llamarada dentro del Pak de Half-Life y para complementar el sonido, agregamos una entidad light y en la propiedad Appearance elegimos alguna de estas: Candel A, Candle B o Candle C.
Líquidos con Valve Hammer Editor
Antes que nada vamos a aclarar que hay 3 tipos de líquidos: estáticos, animados y realistas.
Líquidos estáticos
Este es el mas fácil de crear. Sólo necesitas una textura que comience por el carácter de exclamación ! (como !waterblue, !lavax, !toxicgrn1, !radio, etc.).
Ahora haces un sólido con ella y ya tenes tu fluido listo para servir.
Lo único malo de hacerlo de este modo es que no puedes hacer que el fluido tenga movimiento superficial (oleaje), ni transparencia.
Líquidos animados
Este es el modo mas extendido de crear líquidos, porque podemos hacer que tenga oleaje, que sea transparente y que se pueda mover (hacer que suba o baje)
Se igual que antes, seleccionamos una textura de líquido, creamos un sólido con la textura elegida y lo transformamos [Ctrl+T] en una entidad func_water.
Entramos en sus propiedades y las configuramos como más nos guste. Antes de nada estableceremos los valores de Render Mode en Texture, y FX Amount en, por ejemplo, 150.
Ahora vamos a las 2 últimas propiedades. En la penúltima propiedad, llamada Contents pondremos Water (agua), ya que si elegimos Slime (cieno) o Lava vamos a morir al instante. Ahora, si queremos oleaje, nos vamos a la última opción llamada Wave Height (altura del oleaje) y le ponemos la altura que queramos, les recomiendo no sobrepasar un valor de 5 por que las olas son enormes y no se ven nada reales.
Nota: Para hacer que dañe al jugador, crea un sólido con la textura aaatrigger del mismo tamaño que el sólido del agua y conviértelo en una entidad trigger_hurt. Entonces establecemos sus propiedades a gusto, por ejemplo en Damage (daño) ponemos un valor de 10 (acuérdate que si pones 100 te mata en un segundo) y en Damage Type (tipo de daño) ponemos Chemical (químico).
Líquidos realistas
La idea es hacer una zona con líquidos que tengan la capacidad de desplazar al jugador, como si lo llevara la corriente.
Primero comenzamos por la textura, que ya no va a poder ser como las otras, sino que va a tener que ser una con scroll (movimiento) como por ejemplo scrolltoxic. Hacemos un sólido con ella, que va a ser nuestro líquido. Entonces en vez de hacerlo func_water como antes, lo hacemos func_conveyor (cinta transportadora)
Entonces entramos en sus propiedades y ponemos en Conveyor Speed (velocidad de transporte/arrastre) un valor de 20.
También, muy importante, tenemos que establecer el ángulo que va a ser hacia donde nos arrastre el agua (para editar el ángulo, entra a propiedades, mira arriba a la derecha). Desde la vista TOP vemos el ángulo que queremos, como quiero que me lleve hacia la derecha, pongo 0º. Acuérdate de ponerle el mismo valor al ángulo de la textura, para que quede realista. Si quieres que te lleve hacia la izquierda pon 180°, arriba (según la vista TOP) 90° y abajo (según la vista TOP) 270°, pero si quieres que te levante o te baje, al lado del circulo negro tienes un botón que si lo presionas se abre un menú donde están las opciones "up" (arriba) y "down" (abajo).
Después vamos a la solapa Flags y seleccionamos las dos opciones, No Push y Not Solid.
Ahora hacemos un sólido exactamente con el mismo tamaño de antes, pero esta vez si va a ser func_water. Entramos a sus propiedades y lo hacemos invisible, porque solo queremos sus propiedades de líquido, nada mas. Para hacer esto, vamos como siempre, dentro de sus propiedades, a Render Mode y le damos el valor de Texture, y en FX Amount ponemos 0.
Para finalizar hacemos otro sólido con la entidad trigger_push. Lo situamos exactamente como los otros dos, para que coincidan los tres. Entramos en sus propiedades y establecemos el valor de la velocidad de empuje.
Vidrios con Valve Hammer Editor
En este capítulo del Manual Valve Hammer Editor vamos a enseñar a crear varios tipos de vidrios. Los que se rompen, los polarizados de uno o ambos lados y los que no se rompen.
Vidrios rompibles
Estos son los básicos. Simplemente crea un sólido con una textura de vidrio (todas las texturas de vidrio contienen la palabra glass en su nombre así que ya sabes como filtrarlos con el Valve Hammer Editor). Después de que lo creamos lo convertimos en una entidad func_breakable (Función Rompible) y entra en sus propiedades, las que vamos a configurar a gusto, yo solo te digo para que sirve cada cosa.
Target on Break: Si quieres que algo se active/desactive cuando el vidrio sea roto pon el nombre del objeto que quieres activar/desactivar en este casillero.
Strenght: Esta es la dureza del vidrio, lo normal para un vidrio no sobrepasa casi nunca los 50 o como un extremo máximo 100, a menos que sea un vidrio como el techo de una zona, en cuyo caso debería ser un vidrio fuerte, ya que en la realidad un vidrio así tendría que soportar mucho peso, tanto de sí mismo como de factores climáticos como lluvia, granizo, nieve, etc.
Material Type: Aquí pon sí o sí glass, para que cuando se rompa se vean pedazos de vidrio y suene como un vidrio roto, ya que si elegís otro, como metal, cuando rompas el vidrio van a salir pedazos de metal en lugar de vidrio.
Gibs directions: Este es un detalle que dirige el movimiento de los pedazos rotos. Si elegís Random van a salir hacia cualquier lado cuando rompas el vidrio, pero si pones Relative to Attack, el movimiento va a ser relativo al ataque. Por ejemplo, si la bala ingreso por la cara izquierda del vidrio, los pedazos van a salir despedidos de izquierda a derecha. Obviamente, este último es el modo más real y por lo tanto queda mejor, así que sugerimos uses Relative to Attack en lugar de Random, salvo que quieras recrear una situación especial.
Render Mode: Utilizamos la opción Texture.
FX Amount: Esto define la transparencia del vidrio, va de 0 a 255, 0 invisible y 255 opaco, recomiendo para vidrios entre 75 y 180.
Ahora si entramos a la solapa Flags vamos a ver 3 características que nos interesan: Only Trigger (sólo puede ser roto mediante otra entidad), Touch (se rompe cuando hacemos contacto con el vidrio, supongo no lo he usado) y Pressure (se rompe por presión, es decir, cuando algún objeto cae sobre el mismo, o cuando caminamos sobre su superficie).
Vidrios no rompibles
Hacer un vidrio no rompible es exactamente igual, pero con la entidad func_wall y no tiene las siguientes propiedades: Target on Break, Strenght, Material Type ni Gibs Directions. Esta entidad no tiene Flags. Así que las únicas propiedades que tienes que modificar son Render Mode y FX Amount. Vidrios polarizados de un solo lado
Empecemos por tener creado un vidrio con la entidad func_wall común y corriente, ahora abrimos la herramienta de Aplicación de Texturas [Shift+A] y a una de las caras del vidrio le aplicamos la textura {blue (ese color azul se vuelve transparente cuando utilizamos una entidad y la configuramos correctamente).
Ahora vamos a crear un vidrio idéntico al anterior. Vamos a utilizar una textura más oscura para el vidrio que va a ser polarizado. Luego los juntamos perfectamente de modo tal que sus caras azules estén pegadas completamente. En la screen debajo están separadas pero sólo para que vean como ubicamos los vidrios con respecto a las texturas:
Pues bién, convertimos el vidrio polarizado en una entidad func_wall y en sus propiedades Render Mode ponemos Texture y en FX Amount ponemos 180.
El otro vidrio también lo convertimos a la entidad func_wall pero en sus propiedad Render Mode ponemos Texture y en Fx Amount ponemos 70.
Sonidos con Valve Hammer Editor
Antes que nada, vamos a elegir un sonido que nos guste y quede bien para la parte que vamos a ambientar. En nuestro Manual Valve Hammer Editor , escogimos el sonido Drips.wav que se encuentra en el pak0.pak del Half-Life, exactamente en ambience/Drips.wav.
Ahora, para hacer que el sonido suene en nuestro mapa debemos agregar una entidad, en este caso la es ambient_generic. De esta forma, en la vista 3D vamos a ver el siguiente icono:
Ahora vamos a configurar la entidad en cuestión, para ello, abrimos sus propiedades, y vemos lo siguiente:
En el casillero de Path/filename.wav of WAV ponemos, como dijimos antes, ambience/Drips.wav y ya el sonido debería funcionar perfectamente haciendo un loop (sonido que se repite) infinitamente.
Para no quedarnos sólo en los límites del sonido, te vamos a explicar el resto de las entidades más importantes:
Volume (10 = Loudest): Esta propiedad habla por si sola, y mediante esta, vamos a poder cambiar el volumen del sonido.
Dynamic Presets: Esta propiedad es muy interesante, ya que si tenemos un sonido de una voz, cambiando esta propiedad, el Half-Life va a aplicar filtros sobre el sonido y lo va a simular con la opción que hayamos elegido (Por ej: la voz en off "robótica" de Half-Life, se hace con esta opción).
Fade in time (0-100): Esto mide el tiempo en segundos del efecto Fade In (Comienzo del sonido, subiendo el volumen).
Fade out time (0-100): Esto mide el tiempo en segundos pero en este caso del efecto Fade Out (Fin del sonido, bajando el volumen).
Las demás propiedades son todos efectos/filtros adicionales para agregar a nuestro clip de audio. Por otro lado, la entidad ambient_generic tiene los siguientes flags:
Play Everywhere: Tildando esta opción, vas a lograr que el sonido se escuche en todo el mapa.
Small / Medium / Large Radius: Si no utilizamos la opción anterior, esta nos ayuda a establecer el radio del sonido.
Start Silent: Tildando esta opción, el sonido no se reproduce. Esto es ideal para que el sonido sea activado por una sentencia (trigger o por un botón).
Is not Looped: Como dijimos antes, un Loop hace que el sonido se repita infinitamente, si tildamos esta opción, el sonido sólo se va a reproducir una sola vez.
Lluvia con Valve Hammer Editor
Lo primero que vamos a hacer es bajarte el sprite de lluvia y descomprímelo en la carpeta valve/sprites. Lo siguiente que vamos a hacer es crear un entorno en donde ubicar la lluvia. Como podemos ver en la imagen de aquí abajo, vemos que las entidades están ubicadas en un lugar a cielo abierto, por razones obvias:
Ahora vamos a crear un punto en donde va a empezar a moverse la gota (inicio) y otro en donde va a finalizar (fin) este movimiento.
Vamos a ubicar una entidad info_Target en donde queremos que comience el movimiento de la gota. Para hacer que luzca más real, la deberíamos situar cerca del cielo. Además vamos a ubicar otra emtidad info_Target cerca del suelo en donde va a terminar el movimiento de la gota. Lo próximo que nos queda por hacer es cambiar el nombre de estas entidades como describimos aquí debajo:
info_target (inicial): gota1ini
info_target (final): gota1fin
Ahora estamos creando sólo una gota, pero si quieres hacer más gotas reemplaza el número 1 por cada gota que crees (gota2ini, gota2fin - gota3ini, gota3fin)
Esto es un trabajo no muy agradable, aunque le dan un toque profesional a tus mapas. La alternativa: RainMaker, un programa que genera estas 3 entidades automáticamente y nos ahorran mucho trabajo.
Ahora que ya definimos los nombres de las gotas, vamos a crear la entidad que define el sprite y el movimiento. Para ello vamos a crear una entidad env_beam por cada gota (no importa donde los hayamos creado) y cambiamos sus propiedades de la siguiente manera:
Start Entity: gota#ini (donde # es el número correspondiente a cada gota).
End Entity: gota#fin (idem anterior).
Beam Color (R G B): ponemos el valor 255 255 255, de otra forma, las gotas serían invisibles.
Radius: 512.
Life (seconds, 0=infinite): Ponemos el valor 0.
Width of Beam: Esto define el ancho del sprite, nosotros vamos a usar un valor de 20.
Sprite Name: Ponemos el nombre del sprite (*.spr) y la carpeta. En este caso es sprite/rain.spr.
Texture Scroll: Esto define la velocidad de movimiento y es importante que pongamos un valor negativo, sino la lluvia va a dirigirse hacia arriba. Nosotros vamos a usar un valor de -20 o -30.
En la solapa Flags tildamos Start On (esto habilita la lluvia desde que ingresamos al mapa), y finalmente Shade Start.
Ahora que ya tenés las 3 entidades que forman cada gota, puedes duplicarlas para ahorrar tiempo, pero ten mucho cuidado. No hay que olvidar cambiar los nombres de cada entidad, en consecuencia, las gotas van a caer en un mismo lugar y puede suceder otro tipo de error desconocido.
Nota: Hay mods como Spirit of Half-Life o la versión del Counter-Strike 1.6, las cuales tienen entidades propias de lluvias ya programadas, es decir, con solo agregar una sola entidad, ya tenemos lluvia en todo el mapa.
Objetos destructibles con Valve Hammer Editor
En este capítulo del Manual Valve Hammer Editor vamos a enseñar como crear sólidos que se destruyen cuando los disparamos.
Vamos a empezar creando un sólido de 8 x 64 x 48 unidades con la textura glassblue1 situándolo como si fuese una ventana como se ve en la imagen:
Lo siguiente que vamos a hacer es convertir [Ctrl+T] ese sólido a la entidad func_breakable. Esta entidad nos va a permitir romper en pedazos cualquier sólido que deseemos, ya sea disparándole o mediante una sentencia (trigger o un botón).
Ahora vamos a conocer un poco las propiedades:
Target on Break: Si necesitamos que cuando se destruya el sólido, se active una secuencia, en este casillero ponemos su nombre, en nuestro ejemplo dejamos este casillero vació.
Strengh: Esta propiedad mide la dureza del sólido. Para nuestro ejemplo lo vamos a dejar en 1.
Material Type: Si desplegamos este menú vamos a ver varias opciones. Cada una de esas categorías define los gibs (astillas/pedazos) del objeto que rompamos. En nuestro caso, vamos a dejar la opción por defecto: Glass.
Gibs Direction: Esta propiedad define hacia que lado van a salir despedidos los gibs. Te recomendamos usar la opción Relative to Attack, ya que luce más realista, ya que toma en cuenta el lado en que disparamos.
Delay befor Fire: Este valor en segundos sirve en el caso que necesitemos que el sólido se destruya después de X segundos de ser disparado. Nosotros lo vamos a dejar en 0.
Gib Model: Si no nos gusta ninguna de las categorías de materiales de gibs, en este casillero podemos definir un modelo propio.
Luego tenemos propiedades como Render Mode y Fx Amount, las cuales ya vimos como funcionan y en este caso es exactamente igual.
Ahora, para concluir con la configuración de la entidad func_breakable vamos a ver sus flags:
Only Trigger: Este flag nos sirve si queremos evitar que el sólido se rompa al dispararse. En este caso, solo se va a romper cuando alguna sentencia lo active por su nombre.
Touch: Tildando esta opción, vamos a poder romper el sólido con sólo pasar a través de él, sin necesidad de dispararle.
Pressure: Con este flag tildado, el sólido se va a romper cuando algo haga fuerza sobre el mismo. Por ejemplo: cuando pisamos el sólido, o otro sólido ejerce presión sobre el.
Con esto terminamos el capítulode objetos destructibles. En el mapa de ejemplo lo hicimos con dos sólidos rompibles, uno de vidrio y otro de metal. Las únicas diferencias radican en 2 o 3 propiedades.
Vehículos con Valve Hammer Editor
Vehículos para Counter Strike
Lo primero es diseñar el vehículo, una vez hecho esto, crea justo en el medio del vehículo un nuevo sólido (un cubo por ejemplo), con la textura Origin (para sintetizar le voy a llamar "cuborigin") y agrupalo con el vehículo. Este sólido con la textura Origin va a determinar el centro de gravedad del vehículo, lo que va a hacer saber al Half-Life que ese sólido se puede mover en todas las direcciones.
El motor del vehículo
Ahora hay que hacer el motor del vehículo. Para esto, crea adelante del vehículo y a la misma altura que el cuborigin, dos entidades path_tracks, alineadas de forma que ambas coincidan en línea recta con el cuborigin. Entra en las propiedades de un path_track y ponle de nombre, por ejemplo, parada1, y en Next stop target pon parada2. Abre las propiedades de la otra entidad y ponle de nombre parada2, y en Next stop target pone parada1. Con esto, conseguís un loop, y así engañas al motor del Half-Life, consiguiendo que todo el mapa sea un gran circuito.
Ahora hay que asignarle las propiedades al vehículo. Para ello, le vamos a dar la función de func_vehicle y vamos a configurar las siguientes propiedades:
Name: Aquí pon un nombre que lo identifique, a tu gusto.
Fist Stop Target: Tiene que ser parada1 o parada2.
Lenght of the Vehicle: Fíjate cual es la longitud del vehículo y asignale ese valor.
Width of the Vehicle: Lo mismo que con la longitud, pero ahora midiendo el ancho.
Height above track: Esto sirve para nivelar el vehículo a la altura del suelo en caso de que los func_track no estén bien alineados.
Speed: La velocidad máxima del vehículo medida en unidades.
Acceleration: La cantidad de aceleración del vehículo.
Nota: También es muy importante que el vehículo mire hacia el este o el oeste.
Los controles del vehículo
La última cosa que nos queda por hacer es crear un nuevo sólido de 64 unidades de alto como mínimo, y convertirlo en una entidad func_vehiclecontrols, dándole el mismo nombre que al func_vehicle. Ahora pon los controles adentro del vehículo, compila, y vas a haber conseguido un vehículo para mapas de Counter Strike de libre movimiento.
Consejos Valve Hammer Editor
Consejo vhe Nº1
Crea sólidos individuales. Esto tal vez suene obvio, pero todavía hay gente que construye los mapas usando Carve y Hollow. No hagan eso. Tal vez sea más rápido, pero a la larga los mapas van a ser más fáciles de mantener y si son sólidos individuales hasta te pueden ayudar a que el mapa quede justo como quieres, cosa mucho más difícil de lograr usando dichas herramientas.
Consejo vhe Nº2
Es vital para hacer texturas perfectas examinar las bases. Corre alrededor de los mapas que más te gusten hasta que encuentres el estilo que vaya bien con tu mapa. Entonces saca una Screenshot de las texturas que te gusten apretando F5. Después cárgalos con un editor de imágenes para tenerlas de referencias al hacer tus propias texturas. Usado correctamente puede servir de mucho. (en el Counter Strike, con sv_cheats 1, puedes escribir impulse 107 para obtener el nombre de la textura a la que estás mirando)
Consejo vhe Nº3
Es bueno ser influenciado. No, no quiero decir que copies, pero si estás estancado sin ideas, revisa los niveles que admires e influénciate por ellos. Con el tiempo, vas a obtener varias ideas para tus mapas y vas a retorcer esas ideas para obtener tus propias creaciones.
Consejo vhe Nº4
Usa diferentes foros de discusión. Primero lee los FAQ's siempre. Si tienes algún problema, pregunta. Si alguien tiene un problema que tu sepas solucionar, respóndele. Así vas a ganar confianza y vas a mantener la comunidad viva.
Consejo vhe Nº5
Si alguien te dice que uses o cargues desde el Valve Hammer Editor todas las texturas que puedas, dile que se equivoca terriblemente. No abuses del engine del Half-Life. Trata de usar la menor cantidad posible de texturas (obviamente mientras no perjudique al mapa).
Consejo vhe Nº6
Desarma y analiza todo. Si estás teniendo problemas con una serie de entidades relacionadas, agarra un pedazo de papel y anota todo. Esto te va a ayudar a visualizar el orden de los eventos, para ver donde está el error.
Consejo vhe Nº7
Tomate tu tiempo. No es buena idea ir al Valve Hammer Editor sin una idea fijada anteriormente, no es recomendable ser espontáneo en el mapping. De todas maneras, si a tí te sale bién, buenísimo. Pero es mejor tomarse un tiempo para pensar acerca de lo que quieres hacer.
Consejo vhe Nº8
Arregla todo en el momento. Si estás testeando un mapa y encuentras un error, arréglalo lo antes posible. No importa lo mínimo que sea. Mientras los defectos se acumulan, te vas a ir olvidando (en la mayor parte de los casos) de los menos obvios. Tener la menor cantidad de errores en los mapas es esencial para que parezcan profesionales.
Consejo vhe Nº9
Usa las texturas apropiadamente. Especialmente en las esquinas... No pongas de un lado una textura y del otro otra.
Consejo vhe Nº10
Mantén un ojo sobre las r_speeds. Anda a la consola, escribe r_speeds 1 y unos números van a aparecer arriba a la izq. mientras jugas (lo que tienes que revisar es el número de los wpoly). Corre por todo tu mapa y después por los mapas oficiales del Counter Strike. Compara las r_speeds y si los tuyos son muy elevados, trata de simplificar las partes de tu mapa que tengan altas r_speeds. Mientras más bajo sea el número, más rápido va a cargar y menos lag va a producir.
Nota: Los r_speeds cambian depende de la compilación que tengas, siempre que veas los r_speeds, trata de hacerlo con la compilación full.
Consejo vhe Nº11
Sácale provecho a las texturas. Muchas texturas en varios juegos están diseñadas para ser usadas en más de un sólido.
Consejo vhe Nº12
¿Tratando de crear una escena al aire libre que tenga piedra y hierba? Trata de hacerla más natural ¿Alguna vez se dieron cuenta que si vemos en el Half-Life una parte rocosa o con pasto desde lejos la textura se ve repetida varias veces? Bueno, eso es feo y obviamente no es natural. Lo que recomiendo es que escalen las texturas a un valor de 2.00 y que la roten como 30º. Esto hace que las texturas se vean dos veces más grandes y naturales.
Consejo vhe Nº13
No se sobrepasen con los resplandores de las luces. Los mapas llenos de sprites de brillos no tienen tan buena apariencia como los que los usan esparcidos y en lugares precisos.
Consejo vhe Nº14
Usen pilares para cubrir las esquinas feas. No quiero decir que lo hagan en todas las esquinas, sino en aquellas que se vean particularmente aburridas. Asegurate de no afectar los movimientos de los jugadores (Nota: Para no afectarlos usen el tip 18).
Consejo vhe Nº15
¡¡¡ Compilen sus mapas correctamente en la versión final !!! No hay nada más feo que bajarse un mapa y ver que está mal compilado.
Consejo vhe Nº16
No abusen de los prefabs. Hay muchísimos mapas que tienen almenos 1 expendedor de bebidas en alguna parte, y en el peor de los casos 5 uno al lado del otro. Así que ya saben, piensen bien antes de usar los prefabs.
Consejo vhe Nº17
Testeen sus mapas lo más que puedan. Juégalo y juégalo y sigue jugándolo hasta que estés harto, sólo entonces vas a darte cuenta qué mejoras necesita. Ten papel en mano para anotar errores y mejoras. Después juégalo con otras personas, en lo posible desde newbies hasta profesionales, entonces escucha sus opiniones y sigue mejorándolo el mapa tanto como puedas.
Consejo vhe Nº18
La utilidad de los sólidos clip. Si acaso odian quedarse trabado en una partecita de la pared que sobresale un poco esto les puede servir.
Consejo vhe Nº19
Los decals son excelentes para añadir atmósfera al mapa. Si tienes una parte con un textura muy aburrida, puedes usar los decals para hacerlas un poco más interesantes.
Consejo vhe Nº20
Algunas esquinas simplemente no se ven bien, con o sin pilares. Para variar un poco puedes hacerlas curvas! Todo lo que tienes que hacer es cortar la esquina a gusto o modificar un cilindro por sus vértices!
Consejo vhe Nº21
¡Las Spotlight son una gran invención! Especialmente en un mapa donde predomine el Eye-Candy! Bien usados pueden quedar muy bien.
Consejo vhe Nº22
La redundancia es fea. No sólo las texturas repetidas hasta el cansancio, sino también los sonidos y entidades mal posicionadas. Por ejemplo, si estás tratando de hacer una serie de sonidos para simular que una batalla está comenzando, da lugar a la variación. No pongas el mismo sonido repetido mil veces, así no sonaría una batalla. En otro ejemplo, tal vez tienes un corredor largo con lámparas de techo. Si juntas demasiado las luces puede quedar muy repetitivo, porque quedaría todo iluminado de la misma forma.
Consejo vhe Nº23
Comprueba siempre para ver si hay nuevas actualizaciones de los programas que uses. Puede que te sirvan para arreglar un bug que te molestaba en una versión anterior, o puede traer nuevas herramientas que te faciliten mucho tu trabajo. En otros casos pueden traer un nuevo FGD con nuevas entidades. También asegurate de tener la última versión del Half-Life y del Counter Strike.
Consejo vhe Nº24
¡¡ Trata de mantener todas las proporciones en múltiplos de 4, 8 y 16 !! Tal vez tengas al principio el presentimiento de que es mejor tener paredes de 50 o 100 unidades de ancho, pero no lo es. Así que, para un ejemplo, las paredes quedan mejor si son de 32 o 64 unidades de ancho, no solo para ser mas simple con la cuadrícula del Valve Hammer Editor, sino porque también es más simple de manejar para el engine del Half-Life. Aparentemente, paredes más finas hacen que la compilación BSP y CSG sean más rápidas.
Consejo vhe Nº25
Los mapas lineares son feos y aburridos. Es decir, trata de poner más de un solo acceso a las habitaciones, es muy feo que para ir a un lugar solo puedas tomar un solo camino. Esto puede mejorar mucho el mapa y obviamente la jugabilidad del mismo.
Consejo vhe Nº26
Algunas paredes simplemente se ven aburridas. Si los decals no la hacen mas interesante, puedes añadir más detalles.
Consejo vhe Nº27
Los sonidos ambientales y su entidad env_sound es de lo mejor para crear una buena atmósfera en tus mapas . Para los que no lo saben, esta entidad cambia la manera en que los sonidos son manejados en el juego. Por ejemplo si un jugador se topa con una de estas entidades, que tenga el setting de Tunnel Large en Room Type, en cierta parte del mapa hace que los sonidos suenen como si estuviéramos en un túnel muy largo. Lo malo de esta entidad es que el efecto se queda para siempre con el jugador, a menos que se tope con otra entidad env_sound.
Consejo vhe Nº28
Dibuja el mapa. Muchos de los mappers profesionales en lugares como Valve, id, Epic, Ritual, Raven y muchos otros lados dibujan sus mapas antes de pasarlos a 3 dimensiones. Yo lo hago siempre con toda la precisión posible, te puede ayudar a completar ideas, mejorar estructuras y planificar la jugabilidad. Obviamente no toda la gente hace esto, hay personas que obtienen mejores resultados creando sólidos al azar y modificando en el camino. No se ha probado que algún método sea mejor que el otro, pero prueben para ver cuál les viene mejor.
Consejo vhe Nº29
Si quieres ser contratado por una gran compañía como Valve o id, entonces prepárate para mucho trabajo. Primero y principal, requiere muchísima experiencia en diseño de niveles para otros juegos ya que es para lo que te contratan. No sólo eso, si puedes demostrar que trabajas bién en equipo, también ayuda. Hacer tus propias texturas, sonidos, modelos, etc. Y hasta programar algunos addons para algún juego o programa es una gran ayuda. Finalmente, necesitas mucha determinación, suerte, y una vez más, experiencia.
Consejo vhe Nº30
Las rocas no son chatas, así que por favor no las hagan chatas! Si estás creando un escenario al aire libre con paredes de piedra, no hagas un solo sólido gigante con una textura de roca... Usa varios sólidos para hacer lucir a la piedra como piedra de verdad. Hasta los mappers con muy poca experiencia te van a decir que lo hagas, hace que todo se vea mejor. Aunque si la roca aparece en algún lugar colgado (donde no esperaríamos ver una roca), puede permanecer chata, pero no mucho.
[url=http://zona-counter.com/manual-valve-hammer-editor.html]Fuente![/url]
P/D: Si Ya Lo Postearon, Pido Mil Disculpas! [Cualquier Cosita Mandenmen un MP, Asi Elimino el POST]