Me sentí pibe dando las vueltas en Snake Alley, buenisimo el atajo y los cops acechando.
Y ahora un report: Encontré un bug con la modificacion de Snake (Razor) seleccionandolo en Rage o Rama, con makeai no hay problemas, copiandolo a Max Pack es igual, ni renombrandolo deja de tener conflictos con el mapa (o la detección de archivos, no sé), queda probar al otro lado.. alguna forma de renombrar sin errores el mapa para no perder un coche en ambas versiones del juego y preservar todo el contenido?
¿O pegas la cadena "Hollowood_Race1" en la de otra carrera?
Yo remplazo en races.txt (esto es para la nueva versión del mapa):
RACE TRACK "Hollowood_Race1" NAME "Hollowood_Race1" TYPE 31 // Type of race TIMER 150.0 120.0 70.0 // Seconds LAPS 4 CHECKPOINT_BONUS 12 12 12 BONUS_LAPS 20000 10000 5000 BONUS_PEDS 20000 10000 5000 BONUS_CARS 20000 10000 5000 NUM_OPPONENTS 6 OPPONENT_NASTINESS 6 // Valid Range ? MAX_OPPONENT_VALUE 350 // suggested max value of AI's that can appear in this race, in thousands OPPONENT_PATHS "FilmStudioRace1.hie" POWERUPS "Hollowood_Race1.pup" POWERUPS_SAVENAME "assets\tracks\Hollowood_Race1\Hollowood_Race1.pup" DRONE_PATHS "FilmStudioTraffic_Paths_1.hie" NUM_CHECKPOINTS 5 RACE_ID 1 RACE_DEPENDENCY 0 END
por
RACE TRACK "SNAKE1" NAME "SNAKE1" TYPE 31 // Type of race TIMER 200.0 160.0 140.0 // Seconds LAPS 4 CHECKPOINT_BONUS 50 40 30 BONUS_LAPS 20000 10000 5000 BONUS_PEDS 20000 10000 5000 BONUS_CARS 20000 10000 5000 NUM_OPPONENTS 6 OPPONENT_NASTINESS 6 // Valid Range ? MAX_OPPONENT_VALUE 160 // suggested max value of AI's that can appear in this race, in thousands OPPONENT_PATHS "SNAKE_Race1_AI.hie" POWERUPS "SNAKE_Race1.pup" POWERUPS_SAVENAME "assets\tracks\SNAKE1\SNAKE_Race1.pup" NUM_CHECKPOINTS 4 RACE_ID 2 RACE_DEPENDENCY 0 MO_PALETTE_SECTION "MO_Palette.txt" ADDON 1 UI_BACKGROUND "SNAKEsplash" WORLD "Beetle Mania" DISPLAY_NAME "Snake Alley" DESCRIPTION "We ended with a toast over snake venom and Bam! I was officially welcomed into the Carmageddon community!" END
¿Se podría llamar atajo? la verdad que no estoy seguro.
En el juego original no pude acceder a esa zona ya que hay dos flechas bloqueando el paso. ¿Se desbloqueará ese desvío en otra versión del nivel? ¿Será inaccesible?
¿Se podría llamar atajo? la verdad que no estoy seguro.
Camino secreto/opcional, refugio temporal, al salir de ahí suelen spawnear oponentes xD!
QUOTE
En el juego original no pude acceder a esa zona ya que hay dos flechas bloqueando el paso. ¿Se desbloqueará ese desvío en otra versión del nivel? ¿Será inaccesible?
Para que el proceso de conversión del Maim Street sea menos tedioso decidí postear algunas de los elementos más interesantes del mismo. También me vá a servir como ayuda memoria o documento por si otra persona decide editar el TDR.
MAIM STREET - SKYBOX
Para no perderse entre tanto archivo lo primordial es ir al origen que en este caso es e MAIMSTREET.txt ubicado en la carpeta de nombre homónimo. Este archivo es el Level descriptor y si miramos un poco las primeras lineas nos vamos a topar con:
Este archivo .hie contiene toda la info del modelo, textura, atributos y demás. Entonces lo que vamos a hacer es crear uno nuevo o editar uno preexistente. Yo en mi caso quiero crear un skybox que contenga la textura del cielo del primer mapa del Carmageddon 1 y a eso agregarle la luna del mapa HiRise, osea quiero un .hie con dos modelos. Crearlo no es dificil en 3dsMax 3.1, tan solo exportamos un .pak que contenga dos modelos con dos texturas diferentes. Una vez que tenemos el .hie vamos a incorporar el primer modelo que en este caso va a ser la pseudo esfera del skybox, el tema es que para adicionar diferentes modelos en el .hie es necesario que los mismos están en formato .msh sin importar en cual de las variantes. Yo hice un skybox en 3dsMax y como el mismo contiene un solo modelo con cambiar .mshs en .msh es suficiente. Ahora vamos al .hie a cambiar los datos:
// Number of textures
2
// Texture name list
"MAIMSTREETSKY" <---------- textura del cielo. "" <------------textura del segundo modelo, por ahora lo dejamos en blanco.
Es muy importante respetar el orden, ya establecimos que el modelo de skybox vá a estar en primer lugar. Ahora vamos más abajo a ver los materiales:
// Number of materials
2
// Material name list
0.500000 0.500000 0.500000 1.000000 0 <-----------material del cielo. ????????? ???????? ??????? ??????? ? <-----------material de la luna, en este momento es una incógnita.
Muy bien, ahora vamos a ver la luna del HIRISE que está en Assets\Tracks\HiRise\Sky Sphere, del HiRiseSkySphereHiRiseSkySphere_1.pak vamos a extraer el .mshs y el .hie, con este úlitmo archivo nos enteramos que el cielo del HIRISE tiene 2 modelos:
// Number of meshes
2
// Mesh name list
"HiRiseSkySphereHiRiseSkySphere_1.mshs"
Y con las texturas deducimos que la luna es el segundo modelo:
// Number of textures
2
// Texture name list
"HiRiseSky" "Moon"
Ahora vamos a abrir el HiRiseSkySphereHiRiseSkySphere_1.mshs con algún editor de hex, como la luna es obviamente un modelo simple nos vamos a ir al fondo del archivo:
Lo que seleccioné es el modelo de la luna, el primer valor es el número de caras (1 cara), el segundo es el número de vertices (en total 4) por ende deducimos que es un quad, lo que sigue es el grosor, anchura y altura del vértice central que es el que sigue a continuación.
00 00 80 b6 <---------límites en x 00 00 00 37 <---------límites en y 0c ef 27 b6 <---------límites en z de 6b 8d 42 <---------vértice central
Esos valores son muy importantes porque delimitan el área de visibilidad del modelo, si el modelo está afuera de esos límites empieza a desaparecer a cierta distancia o en ciertos ángulos de visión. El resto de la info del .msh/.mshs está en la primera página de este topic. Lo que vamos a hacer es eliminar lo que no está seleccionado en la imagen y vamos a salvar como MOON.msh para sumar este modelo al del MAIM STREET.
Volvamos a MAIMSTREETSKY.hie para completar lo que falta:
// Number of textures
2
// Texture name list
"MAIMSTREETSKY" "Moon"
Esta info la fui sacando del HiRiseSkySphereHiRiseSkySphere_1.hie
¡Qué puerto tan increíble es este! Definitivamente uno de mis favoritos.
Sin embargo, parece que hay un problema. Tal vez esto sea intencional, pero en caso de que no lo sea, lo publicaré aquí.
La ruta de carrera del oponente parece ser bastante incorrecta en algunas partes. Aquí hay un ejemplo visual.
El corredor recibe instrucciones de ir en sentido contrario, a través del bloqueo de flechas y no a través del punto de control. Incluso podemos verlo en acción cuando Whiplash toma el camino equivocado.
El puesto de control está a mi derecha. Ahora en el mapa, este punto de control en particular no está realmente en la ruta de carrera, por lo que los oponentes nunca pasarán por él y un jugador confundido podría confundirse.
Tienen que hacer un largo recorrido por la parte posterior del mapa y dar la vuelta, lo que los lleva a conducir desde esta manera.
Esta sección en particular tampoco es el único caso. Hay otro justo antes en el primer punto de control donde simplemente siguen conduciendo recto y dando la vuelta, pero se supone que deben pasar a través de dos conjuntos de flechas direccionales de bloqueo.
Como puedes ver en el mapa, el camino marcado que tomarán los oponentes está, como dije, bloqueado por las flechas.
Aquí hay una burda maqueta de cómo debería verse la carrera.
¡Avíseme si algo de esto fue intencional! Sigue siendo una experiencia de juego muy divertida y creo que hiciste un trabajo increíble con este puerto, amigo mío.
Es intencional, lo hice para que los vehículos pasen por la mayoría de los sectores del mapa.
Ah ya lo veo. Me pregunto cómo hicieron que los oponentes tuvieran un rango más amplio en los otros mapas y al mismo tiempo mantuvieran una pista de carreras adecuada. Quién sabe, de todos modos sigue siendo un gran puerto y hay mucha diversión.
La segunda misión del Hollowood iba a ser completamente distinta, la idea era lanzarle al tiburón 10 peatones hasta hacerlo reventar. Acá la info previa a la misión:
"Get the belly poppn: Push in ten peds into the shark pool to make the shark overfeed and self destruct."
Cada peatón en el agua generaba un texto:
"One Down!" "Two Down!" "Three are in!" "Four!" "Five!" "Four to go!" "Three more." "Two more and its done." "Ok, just one more ped."
//create a small explosion at the shark belly. //show 'em well done text.
OPONENTES Y COPCARS ADICIONALES
Es posible agregar oponentes y copcars específicos con scripts en mapas que no son misión, primero creá un archivo .txt con esta info:
KILLCHEAT es un oponente común y cop es un auto de policia. Luego abrimos el txt del mapa y le agregamos en cualquier parte:
LEVEL_SCRIPT "EJEMPLODESCRIPT.txt"
Los vehículos ván a aparecer al azar en el opponent path y luego se ván a unir a la carrera. Es un sistema muy parecido al de explicit opponents en el Carma 2.
Great port, lots of ideas here and there. I see you figured a way to animate textures with more than 4/8 frames? Swapping between models for each frame? Felt at times like the scale was a tad small but I know it's difficult to actually tell. Always a struggle.