Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Como hacer procedularismo y random de enemigos ?  (Leído 249 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado rpgamer97

  • Asiduo
  • *
  • Puntos: 294
  • Mensajes: 141
  • Agradecido: 17 veces
  • Sexo: Masculino
  • Mi trabajo es un juego, un juego muy serio.
    • Ver Perfil
en: Octubre 14, 2017, 03:20:48 am
Buenas...tiempo sin publicar (aunque nadie se dio cuenta, porque no me conocen xD) mir pregnta es como dice en el titulo, como puedo hacer generación procedural y que aparezcan enemigos random pero en lugares controlados, quiero decir es un juego plataforma el que tengo en mente y quiero que aparezcan en las plataformas o en el suelo, no en el aire o en lugares raros jajaja, bueno sin mas que añadir me despido y espero puedan ayudarme

"El objetivo claro de los videojuegos es entretener"


Shigeru Miyamoto
 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado 3dgeminis

Respuesta #1 en: Octubre 15, 2017, 08:33:23 pm
Podrias guardar en una lista las id de las plataformas y desordenarla. Cuando vayas a crear los enemigos usas cierta cantidad de valores de la lista para posicionar los enemigos.
Los enemigos tambien se guardaran en una lista para asi poder elegirlos al azar.
Un ejemplo:
///OBJETO GENERADOR
lista_plat=ds_list_create()
lista_enem=ds_list_create()

ds_list_add(lista_enem,enemigo1)
ds_list_add(lista_enem,enemigo2)
ds_list_add(lista_enem,enemigo3)

with(plataforma) {ds_list_add(other.lista_plat,id)}
ds_list_shuffle(lista_plat)

for(i=0;i<10;i+=1)
    {
     with(ds_list_find_value(other.lista_plat,i)) {instance_create(x+(sprite_width/2), y, ds_list_find_value(other.lista_enem,irandom_range(0,2)))}
    }
Lo que hace el ejemplo es crear 10 enemigos de entre 3 posibles opciones, en 10 plataformas de la lista creada al principio.
El ejemplo es muy simple para lo que es el tema de generacion procedural.
http://www.elpixelilustre.com/2014/04/spelunky-diseno-programacion-procedural.html
http://fede0d.github.io/blog/2015/10/17/tutorial-procedural.html

 


Desconectado rpgamer97

  • Asiduo
  • *
  • Puntos: 294
  • Mensajes: 141
  • Agradecido: 17 veces
  • Sexo: Masculino
  • Mi trabajo es un juego, un juego muy serio.
    • Ver Perfil
Respuesta #2 en: Octubre 17, 2017, 01:07:47 am
Gracias 3dgeminis me parece muy interesante tu codigo voy aprobarlo, aparte son muy educativos los links que me adjuntaste...es bueno saber que al menos alguien no me dejo en dudas de como hacerlo  :'(

"El objetivo claro de los videojuegos es entretener"


Shigeru Miyamoto