Holas, ya hice un videojuego tipo mario bros, pero ahora quiero pasar un poco mas adelante en Game maker, veran, soy muy aficionado al videojuego Worms Armageddon, y tambien ay un juego llamado de un amigo Champol, que es Battle Power, y me gusta mucho ya que es tipo worms.
E intentado e intentado miles de veces como crear un videojuego tipo worms armageddon, pero no logro hacer que por ejemplo, las armas tengan gravedad, o que el jugador pueda cargar el arma y que cada vez salga con una fuerza diferente. mi pregunta es... ?Como crear un juego tipo Worms Armageddon??
Si no me pueden explicar, no abria un tutorial explicandolo?
recuerde, tengo :GM8: PRO
Pues en alg?n momento te hara falta esto:
http://www.comunidadgm.org/index.php?topic=11322.msg53008#msg53008
Cita de: Alfonsos1 en Junio 05, 2010, 12:25:14 AM
Pues en alg?n momento te hara falta esto:
http://www.comunidadgm.org/index.php?topic=11322.msg53008#msg53008
Gracias! me servira con gusto!. pero aun nesecito varias cosas:
-Como hacer que se carguen las armas cuando apretas un boton y a medidas que ma mantienes el boton presionado, sale mas fuerte el disparo.
-Como hacer que las granadas tengan gravedad, al igual que la bazooka, y que la granada rebote.
Y como hacer que al coger una caga se a?ada un arma.
Otra cosa... Como hago para que al apretar boton secundario aparezca el menu de armas tipo worms??
Espero que no sea mucha la molestia!. saludos
Hola, soy Champol xD
Bueno, en verdad hacer un juego as? es bastante dif?cil, pero lo b?sico en cuanto las armas lo explicar? aqu?.
Primero, si quieres que uno pueda elegir el arma, crea en un c?digo que se ejecute al inicio de una batalla la variable "arma" o algo as?. Por ejemplo globalvar arma; arma = 0;
Esta variable ser? qu? arma est?s usando (por ejemplo 0 es bazuca, 1 es granada, 2 es pistola, etc). Cuando crees un objeto que sea un arma, haz lo siguiente: en el evento "create" pon que tenga una velocidad "vel" y con ?ngulo "ang", adem?s de una gravedad (yo uso 0.5) en 270? (hacia abajo).
Adem?s elije qu? sucede si por ejemplo choca contra el piso, o contra el enemigo... etc (tu eliges c?mo es tu arma).
Entonces ademas de "arma" deber?as tener: globalvar vel,ang; vel = 0; ang = 45; //o da lo mismo
Bueno, en mi caso cre? un objeto llamado "Mira" (que es como hacia adonde apuntas con tu arma) que la gracia es que gira en torno al personaje seg?n aprietas la flecha de arriba o de abajo, o sea para apuntar m?s arriba o m?s abajo. Esta mira en cada "begin step event" salta al centro del personaje (o al lugar DESDE el cual disparas) y luego en el event "step" le agregu? movimiento (esas flechitas azules)con velocidad por ejemplo 150 (es la distancia en pixeles a la cual gira la mira en torno al personaje) y ?ngulo ang (la variable que ya creamos). Entonces la mira "salta" sin que la veamos (porque ocurre en cada step) desde el personaje hasta la distancia 150, justo en el ?ngulo ang, por lo que si disparamos con ese ?ngulo, la bala sale hacia all?.
Lo m?s complicado es el Power Bar (barra de potencia).
Ac? hay 2 objetos b?sicos: La barra (que podr?a ser simplemente dibujada, ya que solo est? para mostrarla y no realiza ninuna acci?n) y el "se?alizador" de potencia. En mi caso, al presionar el boton de disparo (sin soltarlo) el se?alizador empieza a moverse a la derecha (por ejemplo con velocidad 3) y cuando llega al otro borde de la barra se queda quieto (es la m?xima potencia... depende de c?mo quieras que sea, y del tama?o de tus sprites) Esto se hace con una alarm que hace que el se?alizador no siga avanzando.
Entonces haz esto: por ejemplo el se?alizador parte en la posici?n x 100, y m?ximo llega hasta 200. Adem?s se mueve con velocidad 4 (en este caso el alarm deber?a durar 200/4 = 50 steps... o quiz? 1 m?s o uno menos). Entonces imagina que la m?xima velocidad con que quieres disparar un arma es 15, entonces, en el evento "soltar el bot?n de disparo" primero que todo, debes hacer la f?rmula "(posici?n del se?alizador) - (posici?n original) * (una constante), constante que depende de la velocidad m?xima que quieres que sea posible. En el caso descrito, ser?a:
vel = (Senalizador.x-100)*(100/15); //donde Senalizador es el objeto se?alizador, y 100/15 porque la distancia m?xima que recorre es 100, y la velocidad m?xima es 15.
Bueno, despu?s de definir esta velocidad, el se?alizador vuelve a su posici?n original (hay una acci?n simple para esto).
La alarma vuelve a 0, y lo m?s importante: SE CREA EL ARMA QUE ELEGISTE, CON LA VELOCIDAD QUE LE DISTE, Y EL ?NGULO QUE TIENES EN LA MIRA.
Para esto yo hice lo siguiente: JUSTO despu?s de volver a su posici?n, el se?alizador crea un objeto extra llamado Arma en la posici?n desde cual salen las armas. Este objeto no es en verdad un arma, pero hace lo siguiente:
-Mira cu?l es el valor de la variable "arma", y seg?n eso crea el arma que el jugador quiere. por ejemplo
if (arma = 0) {object_create(Bazuca,self.x,self.y);}
else if (arma = 1) {...} //Lo mismo con las dem?s armas
En verdad ese objeto no es necesario (lo puede hacer el mismo "se?alizador", o se puede usar un "switch" en vez de un if/else (si sabes lo que es).
Pero bueno, el caso es que creas el arma en su posici?n, y le das la velocidad y ?ngulo que quieres.
Ahora las armas las inventas t? ;)
Y recuerden: siempre intenten ingeniarse c?mo resolver este tipo de problemas... en mi caso, part? haci?ndolo de la forma m?s principiante, menos eficiente pero m?s f?cil de entender con lo que sab?a, y luego fui haci?ndole mejoras... ahora la puedo hacer con puros c?digos, pero al comienzo eran puros objetos (no sab?a crear variables ni usar c?digos)
Y eso. espero que les sirva y que usen su ingenio para desarrollar mejores ideas tambi?n ;)
Chau. ?VIVA CHILE!
Edito: Falt? mencinar algo: debe haber un bot?n, o alguna forma de cambiar de arma... es decir, de elegir cu?l usar, cambiando la variable "arma".
Ejemplo: una acci?n para el evento "presionar boton para cambiar de arma"
arma += 1; if (arma > 4) {arma = 0;} //para el caso en que hayan 5 armas, de la 0 hasta la 4.
Eso por ahora =)
Muchas gracias Champol por el minitutorial, ahora esta todo resuelto y demases, solo debo practicar el arsenal de armas, y Alfonsos1 por el terreno destructible tipo worms" esta cool!.
Gracias y saludos. :P