Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

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!.

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Dublan

Páginas: 1 2
16
Juegos en desarrollo / Mine Thieves [Android]
« en: Julio 19, 2017, 10:20:48 pm »


Mine Thieves [Android]


Estrategia


GM: Studio

En este juego multijugador PVP en tiempo real, robarás tanto oro como te sea posible. Defiende y roba el oro que mereces utilizando las habilidades que irás desbloqueando a través de las mazmorras y minas que irás descubriendo.

Derrota a tus adversarios para alcanzar el número 1 en las tablas de clasificación, pero ten cuidado con los mineros y enemigos, porque lo harán todo lo difícil que puedan. Únete a tu guarida y negocia con tus amigos utilizando los premios que ganaste. Juntos, el gremio de goblins ladrones se hará rico!!

Características de Mine Thieves:

- Mine Thieves es un juego PVP en el que luchas con oponentes de todo el mundo en partidas en tiempo real para llegar a ser el número 1 en las tablas de
clasificación.

- Cada nivel desbloqueado se convertirá en una nueva liga donde luchar con gente de todo el mundo. Una mazmorra o una mina llena de mineros te lo pondrán difícil.

- Desbloquea tus habilidades preferidas para construir tu goblin, cambiado tu oro por gemas. Aumenta el nivel de tus habilidades de minería, tu velocidad, hazte invisible...Marcarán la diferencia entre una derrota o una victoria.

- Crea estrategias para derrotar a tu enemigo. Una estrategia de defensa o de ataque tendrá resultados muy distintos.

- Roba todo el oro que puedas y negocia o comparte tus premios. Charla con tus amigos u oponentes y negocia con ellos dependiendo de tu estrategia.

- Cambia tu personaje para hacer mas divertida la competición. Conviértete en un ladrón de múltiples caras!


Te cogerá un minero? Perderás o ganarás la partida? Usarás estrategias de ataque o de defensa? Qué habilidad usarás? Compartirás con tus amigos o negociarás con tus enemigos? En qué liga lucharás, la liga del nivel 1, la liga del nivel 2...? Qué nivel preferirás para robar oro, una mazmorra o una mina? Te convertirás en una leyenda del gremio? En el mejor ladrón de la historia? Es hora de averiguarlo!

Mine Thieves puede jugarse de manera gratuita, pero algunos premios dentro del juego pueden comprarse con dinero real.

Es necesario conexión de Internet para jugar a Mine Thieves

Trailer:




;

;

;

;

;

;



https://play.google.com/store/apps/details?id=com.HERDOZAStudio.MineThieves


Hola Makeros, después de mas de un año, os presento mi primer videojuego, hecho además en solitario.

Lo pongo en esta sección porque conozco varios errores que tengo que corregir, además de conseguir un multiplayer 100% funcional.

Espero vuestros comentarios!! Son muy muy bien recibidos, ya sean positivos o negativos. De todo se aprende  :D


17
Preguntas y respuestas / Slide+draw_texture_flush()
« en: Julio 08, 2017, 01:22:24 pm »
Hola makeros,

Estoy intentando optimizar al máximo mi juego, y para ello seguí las indicaciones de yoyogames de esta página http://www.yoyogames.com/blog/23, en concreto lo referente a las texturas, es decir, añadi draw_texture_flush() al primer objeto creado en cada room, en el create event.

La cuestión es que tengo puesto el código para hacer slide utilizando surfaces (entre rooms para en android), pero como ahora lo que hago es eliminar las que no uso, el efecto del slide ahora no funciona ya que elimino el surface creado. He probado a utilizar el draw_texture_flush con alarmas y sigue sin funcionar el slide. ¿como podría mantener el efecto de slide con surfaces pero también eliminar las texturas que no esten en uso?

Gracias!

18
Preguntas y respuestas / Game restart bloquea juego
« en: Julio 03, 2017, 07:56:55 pm »
Hola Makeros,

He visto que en los objetos que tengo la función game_restart() o room_restart(), al ejecutar la función el juego se acaba bloqueando, es decir que se sale de la ejecucion del juego, ya sea ejecutándolo en windows o android.

He probado a meter en un objecto vacío, en el evento left_pressed la función game_restart(), y al ejecutarlo el juego se bloquea, por lo que parece que haya un fallo en esta función. También lo probé en left_released y pasa lo mismo.

¿Alguien ha tenido el mismo problema? ¿Sabéis a qué puede ser debido?

Creo recordar que al principio del juego, con el mismo código funcionaba a la perfección esta función, por lo que empiezo a dudar si al aumentar el consumo de la RAM al haber avanzado el juego, pudiera provocarlo...

GRAX!

19
Mercado / Politica privacidad-Google play
« en: Julio 02, 2017, 10:23:33 pm »
Hola makeros!

Estoy subiendo mi juego a google play, y cuando termino de subir el apk, me sale un error indicándome que debo añadir un link con la política de privacidad de mi juego. ¿Alguien sabe como funciona esto? ¿Algún ejemplo genérico para videojuegos o algun link estándar? ¿Hasta qué punto es importante esto?

Gracias!

20
Preguntas y respuestas / Sincronizacion GM server
« en: Junio 25, 2017, 11:32:39 am »
Hola makeros,

Llevo bastante tiempo probando las funciones de GM server y contactando con su dueño, pero no termino de lograr sincronizar 2 objetos al 100% utilizando las funciones que hay en GM server. ¿Alguno de vosotros ha consigo lograrlo?

Este es el código que uso en mis objetos tras varias respuestas por parte del dueño:

Create Event
Código: [Seleccionar]
if global.IA==0 && gms_session_player_count(global.id_sesion)==2//Si pvp
{
    if !gms_instance_created_by_sync()
    {
    if gms_self_ismaster()
        {
        gms_instance_sync(id,is_full)
        randomize()
        if room=rm_play
        {
        path_start(path_obj_minero,choose(4+0.5,4+1,4-1),path_action_restart,1)
        }
        if room=room_level4
        {
        path_start(path_obj_minero_lvl4,choose(4+0.5,4+1,4-1),path_action_restart,1)
        }
        //Linterna
        instance_create(x,y,obj_linterna)
        }
    else
        {
        instance_destroy()
        }
    }
}

Thx!

21
Preguntas y respuestas / IA que no termina de funcionar
« en: Junio 24, 2017, 12:25:47 pm »
Hola de nuevo makeros!!

En mi juego, estoy creando una IA para que funcione como un bot, es decir, no como enemigo.

Los enemigos son los "mineros". El bot tiene que recoger oro, y cuando estén los mineros cerca de él, pues que intente escabullirse de ellos. Para ello he creado el siguiente código, con la intención de que se esconda detrás de muros si existen y si no, pues que vaya donde está el player, pero evitando en el camino a los mineros (suele haber en la room más de uno):


Step event
Código: [Seleccionar]

if distance_to_object(obj_minero_AI)<=128{target=obj_minero_AI}
else
if distance_to_object(obj_minero_AD)<=128{target=obj_minero_AD}
else
if distance_to_object(obj_minero_ArD)<=128{target=obj_minero_ArD}
else
if distance_to_object(obj_minero)<=128{target=obj_minero}
else
if distance_to_object(obj_minero_creado)<=128{target=obj_minero_creado}
else
target=-1
   
    if target=-1{scr_buscar_tesoro()}//Es el script para buscar oro
    else
    {
       
        if instance_exists(obj_muro)
        {
        var1 = instance_nearest(x,y,obj_muro)
        var2 = point_direction(target.x,target.y,var1.x+32,var1.y+32)
       
            mp_potential_step_object(var1.x+lengthdir_x(64,var2),var1.y+lengthdir_y(64,var2),8,obj_muro)//Para esconderse detras de muros
            mp_potential_step_object(var1.x+lengthdir_x(64,var2),var1.y+lengthdir_y(64,var2),0.1,target)//Si ademas le esta siguiendo el minero, para huir de el
                         
         }
         else
         {
           
                var1 = instance_nearest(x,y,obj_player)//Ir a donde está el player
                var2 = point_direction(target.x,target.y,var1.x+16,var1.y+16)
                    if room=room_level2
                    {
                    mp_potential_step_object(var1.x+lengthdir_x(64,var2),var1.y+lengthdir_y(64,var2),0.1,obj_morir)//Evitar el objeto morir (acantilado)
                    mp_potential_step_object(var1.x+lengthdir_x(64,var2),var1.y+lengthdir_y(64,var2),0.1,target)//Evitar ademas lo mineros
                    }
                    if room=room_level5
                    {
                    mp_potential_step_object(var1.x+lengthdir_x(64,var2),var1.y+lengthdir_y(64,var2),0.1,obj_morir_lvl5)//Evitar el objeto morir (acantilado_1)
                    mp_potential_step_object(var1.x+lengthdir_x(64,var2),var1.y+lengthdir_y(64,var2),0.1,target)//Evitar ademas lo minero
                    }
                    else{mp_potential_step_object(var1.x+lengthdir_x(64,var2),var1.y+lengthdir_y(64,var2),0.1,target)}//Evitar a los mineros
               
                }
        }

Con este código, hay veces que el bot hace lo que debería, pero hay veces que se atasca cerca de los muros y no hace nada.

¿Qué estoy haciendo mal?

Grax!!!

22
Preguntas y respuestas / Problema con alarma[SOLUCIONADO]
« en: Junio 22, 2017, 08:36:04 pm »
Hola Makeros,

Llevo un rato dándole vueltas a por qué este código no funciona, pero no lo entiendo. Haciendo pruebas, si quito el alarm[2]=90 el enemigo se mueve pero cambiando el random en cada step. Lo que yo quiero es que cambie la dirección cada 90 steps. Este es el código que tengo en el step event:

Step event
Código: [Seleccionar]

if alarm[2]==-1
                    {                           
                    var x1=irandom_range(0,1280)
                    var y1=irandom_range(0,768)
                    if room!=room_level2{mp_potential_step(x1,y1, 10, false)}
                    else{mp_potential_step_object(x1,y1, 10, obj_morir)}
                    alarm[2]=90
                    }

Alarm 2
Código: [Seleccionar]
           
                    var x1=irandom_range(0,1280)
                    var y1=irandom_range(0,768)
                    if room!=room_level2{mp_potential_step(x1,y1, 10, false)}
                    else{mp_potential_step_object(x1,y1, 10, obj_morir)}
                    alarm[2]=90

¿¿¿Que estoy haciendo mal????

GRACIAS!

23
Preguntas y respuestas / Id's mal seleccionados[SOLUCIONADO]
« en: Junio 18, 2017, 08:28:05 pm »
Hola Makeros,

A ver si me podéis ayudar a identificar el id de objetos creados.

El objetivo de este código es crear un objeto "muro" cuando el player pulsa un botón y que este muro tenga el mismo ángulo al que está mirando el player. Para ello, tengo puesto el código:

Step event
Código: [Seleccionar]
//Angulo 180
    if (obj_player.image_angle = 180 and position_empty(obj_player.x, obj_player.y+64)and position_empty(obj_player.x+32, obj_player.y+64)and position_empty(obj_player.x-32, obj_player.y+64))
                {
                muro_creado=instance_create (obj_player.x, obj_player.y+64, obj_muro)
                image_index-=1
                sprite_index=spr_boton_muro_Rec1
                image_index=0
               
                }
    //Angulo 225         
    if (obj_player.image_angle = 225 and position_empty(obj_player.x+32, obj_player.y+64)and position_empty(obj_player.x+64, obj_player.y+64)and position_empty(obj_player.x+96, obj_player.y+64))
                {
                muro_creado=instance_create (obj_player.x+64, obj_player.y+64, obj_muro)
                image_index-=1
                sprite_index=spr_boton_muro_Rec1
                image_index=0
                }
               
                with(muro_creado)
                    {
                    image_index=0
                    image_angle=obj_player.image_angle
                    sprite_index=spr_muro
                    }
                    }

El problema es que si creo más de un objeto muro, todos los ya creados cambian su angle al último creado. Esto ocurre porque no tengo bien seleccionado el id de los objetos, pero no sé como podría seleccionar el id recién creado y cuando cree otro objeto, usar solo el nuevo id para cambiar su ángulo. ¿qué estoy haciendo mal?

GRAXX!!

24
Preguntas y respuestas / Anuncio Intersticial
« en: Mayo 24, 2017, 08:32:27 pm »
Hola makeros!

A ver si me podéis ayudar con algo que no logro solucionar en android.

Tengo el tipico boton de premio, que despues de que una cuenta atras llegue a 0, si le das click te da un premio y luego sale el anuncio intersticial.

Pues bien, el código que tengo funciona perfectamente. Al darle click se ve el anuncio. El problema viene en que tengo 2 de esos botones en la room, y cuando para ambos botones la cuenta atras ha terminado y voy a darles para ver el anuncio, veo bien 1 anuncion pero el otro no me lo llega a mostrar. ¿Sabeis si existe alguna limitacion de tiempo por parte de google play para mostrar 2 anuncios seguidos?

GRAX!

25
Preguntas y respuestas / Liberar RAM-Particulas
« en: Mayo 07, 2017, 10:02:32 pm »
Hola Makeros!

Tras mucho investigar, he detectado qué objeto me saca del juego android tras estar usándolo por un tiempo, y es uno que genera partículas para imitar el fuego de una antorcha. Mirando en windows, he visto que la memoria se va a las nubes conforme pasa el tiempo. Este es el código que uso:

Create event
Código: [Seleccionar]
//Particle System
partFire_sys = part_system_create();

//Fire Particle
partFire = part_type_create();
part_type_sprite(partFire,pt_shape_pixel,0,0,1);
part_type_size(partFire,1,2,0,0);
part_type_color2(partFire,c_orange,c_red);
part_type_alpha3(partFire,1,1,0);
part_type_speed(partFire,4,10,0,0);
part_type_direction(partFire,85,95,0,5);
part_type_orientation(partFire,0,359,0,0,0);
part_type_blend(partFire,1);
part_type_life(partFire,20,40);

//Cinder Particle
partCinder = part_type_create();
part_type_shape(partCinder,pt_shape_flare);
part_type_size(partCinder,0.5,1,0,0);
part_type_color2(partCinder,c_orange,c_red);
part_type_alpha3(partCinder,1,1,0);
part_type_speed(partCinder,1,2,0,0);
part_type_direction(partCinder,85,95,0,0);
part_type_blend(partCinder,1);
part_type_life(partCinder,240,320);

//Particle Emitter
partFire_emit = part_emitter_create(partFire_sys);
part_emitter_region(partFire_sys,partFire_emit,x-10,x+10,y-2,y+2,ps_shape_ellipse,ps_distr_linear);

Step event
Código: [Seleccionar]
///particulas + aura
part_emitter_burst(partFire_sys,partFire_emit,partFire,5);
part_emitter_burst(partFire_sys,partFire_emit,partCinder,-10);

Room End event
Código: [Seleccionar]
///Destruir particulas
part_emitter_destroy_all(partFire_sys);
part_system_destroy(partFire_sys);
part_particles_clear(partFire_sys);
instance_destroy()

¿Cómo podría reducir el consumo de memoria con este código o similar? ¿Existe alguna función para ver el consumo de memoria en android?

PD: en el objeto controlador además tengo puesto en el room star el draw_texture_flush().

Mil graciasl

26
General / Server hispano sobre videojuegos
« en: Mayo 02, 2017, 11:31:34 pm »
Hola makeros!

Solamente comentaros que hoy descubrí esta página www.gamedev.es, es un server en directo donde charlar sobre videojuegos, Game makeros, etc.

Os recomiendo uniros, esta bastante animado!!

27
Preguntas y respuestas / Get_string_async Android[SOLUCIONADO]
« en: Mayo 01, 2017, 02:25:50 pm »
Hola Makeros!

En android, para el chat y textbox, uso el get_string_async de la siguiente manera:

Left released event
Código: [Seleccionar]
msg = get_string_async("CHAT","");
click_chat_guar=1

Dialog event
Código: [Seleccionar]
if click_chat_guar==1
{
var i_d = ds_map_find_value(async_load, "id");
 if i_d == msg
    {
    if ds_map_find_value(async_load, "status")
       {
       if ds_map_find_value(async_load, "result") != ""
          {
          global.chat = ds_map_find_value(async_load, "result");
          gms_chat(global.chat,c_orange)//Funcion de game maker server para el chat
          }
       }
    }
click_chat_guar=0
}

El código funciona bien, pero en cuanto uso ese objeto varias veces, o varios objetos con código similar en la misma room, el juego se empieza a ralentizar y se acaba saliendo del juego.

He probado a utilizar alguna extension del marketplace y funciona bien, aunque no me termina de gustar. Con esto quiero decir, que el problema está en el código y no en game maker server.

¿Qué puede estar pasándo?  :'(

GRAX

Páginas: 1 2