En este tutorial, les enseñaré lo básico de hacer un mapa de Sven-Coop. Estos mapas son muy diferentes de los mapas de Half-Life o Counter-Strike por varias razones, desde jugabilidad a funciones nuevas que se añaden en el Sven-Coop.
"Primero que nada, tenemos que tener los conocimientos básicos de hacer un mapa (Hacer habitaciones, puertas, botones, poner spawnpoints, etc...). Despues de tener esos conocimientos, podemos empezar a adentrarnos en la parte de Sven-Coop."
Los mapas en Sven-Coop no sólo consisten en un archivo .BSP, también pueden haber otros archivos complementarios como .CFG, o .TXT para los Mission Briefings (los mensajes que aparecen al comienzo del mapa y que cuentan el prólogo y la backstory del mapa) y para la configuración del juego, que permite cambiar desde la gravedad hasta las armas con las que el jugador spawnea.
Para empezar, debemos crear los puntos de inicio de los jugadores. La entidad info_player_deathmatch es la encargada de definir los puntos de inicio de los jugadores. Se recomienda de 6 a 12 info_player_deathmatch, todas en un mismo lugar, pero sin estar muy cerca la una de la otra.
Ahí podemos ver los 11 info_player_deathmatch que se ha colocado en un mapa de ejemplo que lo pueden descargar abajo para que se puedan guiar desde esa base.
Todos los mapas de Sven-Coop tienen un objetivo, es decir, un fin, una meta que alcanzar. Una vez se cumple este objetivo, el mapa debe terminar.
Para esto, utilizaremos la entidad game_end. La ponemos en cualquier lugar del mapa y le ponemos un nombre, y luego tendremos que activarla usando triggers. Se recomienda utilizar la entidad trigger_once (Tutorial sobre triggers acá)
Esto ya generará el modelo básico de nuestro mapa: un lugar de inicio y una meta. Una característica del Sven-Coop es que puede utilizar monstruos (como los del Half-Life). Un monstruo se define como cualquier entidad que “viva” y interactue con el mapa. (Científicos, zombis, aliens, soldados, etcétera.) Estos monstruos se pueden crear de dos maneras distintas: por medio de triggers o bien dejar que sean creados apenas se inicia el mapa.
Para este tutorial, solo veremos los monstruos generados al iniciar el mapa. Primero que nada, seleccionamos la herramienta de entidades y en la lista de entidades buscamos cualquiera que empiece con “monster_”. Para este ejemplo, vamos a crear un zombi con la entidad monster_zombie.
En la imagen se puede ver a los puntos donde spawnean los jugadores (entidades info_player_deathmatch), un light_environment (que simula una luz proveniente del cielo y de todos los sólidos con textura sky) luego una pared que separa estos puntos del trigger_once que activa la entidad game_end (esto hace que el mapa termine) y un monster_zombie en el camino. Hay paredes alrededor y una pared alta de cielo que deja un espacio decente, pero no excesivamente grande. (Si en un mapa de tamaño real, se gastan recursos de esta manera y otras, es decir, haciendo el cielo mas grande de lo que debería ser, se pierde rendimiento y los jugadores no obtendrán una buena calidad de juego.)
Tenemos un monstruo, ¿y las armas de los jugadores? Para empezar, hay dos maneras de añadir armas en el mapa. La primera es la más simple, colocando una entidad en el suelo. En este mapa, colocaré una pistola en el suelo para que los jugadores puedan matar al zombie. La entidad weapon_9mmhandgun es la pistola 9mm y es la que colocaré cerca de una esquina. Junto con ella, añadiré tres entidades ammo_9mmclip que serán cartuchos de munición para la misma arma.
La segunda manera de que los jugadores obtengan armas es haciendo que ellos empiecen con esas armas al aparecer luego de morir (o al iniciar el mapa). Esto se hace por medio de un archivo de configuración.
Una vez terminamos de añadir todo lo necesario en el mapa, lo guardamos y compilamos. Los mapas de Sven-Coop no funcionan solamente con un archivo .bsp, sino también pueden ser acompañados por otros archivos que sirven para mejorar aún más la jugabilidad del mapa.
Para empezar, si vamos a la carpeta “svencoop/maps” que es donde tenemos los mapas de Sven-Coop guardados, veremos que hay varios tipos de archivos. Entre ellos, podemos encontrar que cada mapa tiene un archivo .bsp, un archivo .cfg y un archivo _motd.txt, junto con otros posibles archivos adicionales que no exploraremos por ahora. Sabemos que el archivo .bsp corresponde al mapa en si. Lo que no sabemos es que el archivo _motd.txt es el texto que aparecerá en Mission Briefing al iniciar el mapa, y que el archivo .cfg es un archivo de configuración que posee varias variables, entre las cuales están las que deciden con qué armas empiezan los jugadores.
Por ejemplo, voy a agarrar el texto que hay en el archivo “infested.cfg” y copiarlo aquí, para explicar algunas de las funciones que aparecen.
Como podemos ver, los textos que van detrás de numerales (#) no tienen significado alguno para la configuración y son comentarios escritos por el creador del archivo.## Sven Co-op map CFG file – Infested
## Map Author: cold_blood3d (Matt McLean)
## Contact: matthew.r.mclean@gmail.com## Website: coldmaps.googlepages.com
weapon_crowbar
weapon_shotgun
weapon_uzi
weapon_357
weapon_mp5
ammo_9mm 10
ammo_buckshot 12
ammo_357 4
## Do NOT give the players explosives in Infested2. It will cause triggers to be set off in the wrong order.
nextmap infested2
skill 2
mp_banana 1
mp_multiplespawn 1
mp_monsterpoints 1
mp_timelimit 120
mp_fraglimit 0
mapcyclefile mapcycle.txt
mp_flashlight 1
mp_falldamage 1
mp_forcerespawn 0
mp_weaponstay 0
startarmor 50
starthealth 100
killnpc 2
## Autoclimb disabled to prevent cheating by skipping areas.
mp_disable_autoclimb 1
## Physics stuff.
## Don’t change unless you know what you’re doing!
sv_accelerate 10
sv_airaccelerate 10
sv_airmove 1
sv_friction 4
sv_gravity 800
sv_maxspeed 270
sv_wateraccelerate 10
sv_waterfriction 1
Los primeros comandos que veremos serán weapon_crowbar, weapon_shotgun, weapon_uzi, weapon_357, entre otros. Estos son, evidentemente, comandos con el mismo nombre que entidades vistas en el Valve Hammer Editor. Esto significa que al iniciar el mapa infested, todos los jugadores recibirán instantaneamente la barreta (crowbar), la escopeta (shotgun), la mini-ametralladora (uzi), el revolver .357, entre otras armas, descritas en el texto. Además, podemos notar más abajo que aparecen otros comandos, como ammo_9mm 10. Este comando indica específicamente que al iniciar el mapa, obtendrá 10 unidades de munición para la pistola 9mm, o cualquier otro arma que use esa munición. Lo mismo para con todas las otras armas y/o municiones.
Todos los comandos de armas posibles para agregar en un archivo .cfg son:
weapon_crowbar
weapon_glock
weapon_shotgun
weapon_mp5
weapon_357
weapon_crossbow
weapon_gauss
weapon_handgrenade
weapon_tripmine
weapon_uzi
weapon_rpg
weapon_snark
weapon_hornetgun
weapon_egon
weapon_satchel
De la misma manera, todos los comandos posibles para los distintos tipos de munición son:
ammo_9mm 15
ammo_crossbow 5
ammo_buckshot 11
ammo_357 6
ammo_ARgrenades 5
ammo_gaussclip 5
ammo_rpgclip 2
Los comandos de munición SIEMPRE deben tener un número especificando la cantidad de munición que el jugador recibe. Los valores anotados en la lista de arriba definen el máximo posible de munición que cada arma puede recibir de esta manera.
De la misma manera, hay otros comandos que no sirven solo para agregar armas, sino para cambiar variables del mapa o juego, por ejemplo, mp_forcerespawn es una variable que define si el jugador luego de morir respawnea automaticamente o puede esperar hasta que alguien lo reviva o hacer click. Lo mismo con otras variables. Por ejemplo:
nosuit – Este comando hace que los jugadores comiencen el mapa SIN el traje de protección HEV. Esto significa que el jugador no podrá ver cuanta vida tiene, ni podrá cambiar de arma facilmente. Se recomienda usarlo solo si el jugador podrá obtener un traje más tarde en el juego y es necesario hacer que comience sin el.
nomedkit – En Sven-Coop, todos los jugadores por defecto comienzan el mapa con un Medkit que les permite curar otros jugadores y NPCs. Con este comando en el archivo .cfg, los jugadores dejan de spawnear con Medkit y deberán obtenerlo por medios secundarios (como encontrar una entidad weapon_medkit posteriormente en el mapa)
item_longjump – Con este comando activado, los jugadores por defecto comienzan el mapa con el módulo de salto largo, que les permite hacer saltos de gran distancia primero moviendose hacia adelante, luego agachandose y saltando.
mp_banana 1 – A esta variable se le debe especificar un numero (0 o 1). Si la variable es 0, entonces no se podrá utilizar la Banana Bomb en el mapa. Si está en 1, la Banana Bomb se podrá utilizar teniendo 10 granadas en tu mano y haciendo click derecho.
skill 1 - Esta variable define la dificultad. Si está en 1, la dificultad será estandar. Si está en 2, los monstruos serán mas dificiles de matar. Si está en 3, los monstruos serán mas dificiles de matar, y los jugadores serán mas faciles de matar.
mp_multiplespawn 1 – Esta variable debe estar en 0 si solo hay un spawnpoint. Se utiliza mayormente para mapas singleplayer.
mp_monsterpoints 1 - En Sven-Coop, los jugadores obtienen puntos por matar monstruos. Esto se puede desactivar si este comando está en 0, para que los jugadores dejen de obtener puntos por matar monstruos.
mp_timelimit 60 – Esta variable define el tiempo máximo del mapa, en minutos. Cuando termine el tiempo, el mapa terminará. Si está en 0, no habrá tiempo límite.
mp_fraglimit 0 - Si este comando no está en cero, definirá un limite de puntos que los jugadores pueden obtener hasta que el mapa termine. Se usa mayormente en mapas Arena, aunque no es muy recomendado usarla.
mp_flashlight 1 - Esta variable define si los jugadores pueden usar linterna o no. Si está en 0, los jugadores no tendrán linterna en el mapa.
mp_falldamage 0 – Esta variable define si las caidas desde lugares altos serán realistas o no. Si está en 0, todas las caidas -sin importar qué tan alto- sólo causarán 10 de daño. Si está en 1, las caidas serán realistas dependiendo de la altura.
mp_weaponstay 1 – Si está en 0, las armas desaparecerán despues de ser agarradas por un jugador, por lo que los demás jugadores deben esperar para poder agarrar otra. Si está en 1, todos los jugadores podrán agarrar el arma sin que esta desaparezca.
mp_allowgaussjump 0 – Con la Gauss Gun, los jugadores pueden cargar un tiro y disparar al suelo para saltar más alto de lo normal. Esto puede permitirles ir por atajos o salir fuera de los límites del mapa. Si esta variable está en 0 (cero) los jugadores no podrán realizar estos saltos con la Gauss Gun.
Con esta información, podemos crear nuestro propio archivo .cfg que acompañe al archivo .bsp en la carpeta maps, y que al iniciar el mapa, cargará la configuración personalizada que nosotros hayamos escrito. El mapa debe tener el mismo nombre que el archivo .cfg. (El mapa infested tiene los archivos infested.cfg y infested.bsp. Ambos comparten el nombre “infested” excluyendo el formato de archivo.)
Una vez terminamos de configurar nuestro archivo .cfg y compilar nuestro mapa en un archivo .bsp, copiaremos los dos archivos homónimos (es decir, que comparten el mismo nombre) en la carpeta svencoop/maps. Luego, solo habrá que probar el mapa dentro del juego.
DESCARGAR MAPA BASE: ej_scbasico.rar
-
¡Hola, Invitado! Únete a nuestra comunidad y construyamos juntos algo increíble.
Welcome to our community! If it’s your first visit, we recommend checking out the help by clicking the link above. To actively participate, simply click the ‘Connect’ or ‘Register’ button. Once registered, you’ll be able to post messages and explore the different forums available. We look forward to seeing you soon!