• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

GameMaker [Solved] Randomly picking an instance's direction

Biosyn

Member
Hi.

I'm trying to make a set of projectile objects move toward a set of deflector object instances. The deflectors are arranged in a circle after being spawned through a for loop. It seems to be working except for an issue where the deflected projectiles do not randomize and only choose to move towards one of the deflector object instances (probably the first one created thru the for loop).

The setup is as follows. A player object creates a set of deflector object instances linked to it:

def_inst=instance_create....def_object
def_inst.myid=myid; //myid being the main controller for the player, deflector and projectiles.

After creating the projectile instances, they are programmed to spawn within the deflector instances arranged in a circle and choose a direction pointing towards one of the deflectors, randomly. It works fine up to this point. Now when the projectile moves toward a deflector and collides with it, I want it to change direction to point towards any of the other deflectors (not the one it just collided with). The end result should be the projectiles colliding against the deflectors and criss-crossing within the circle formation.

The projectile code for colliding with the deflector:

Code:
if can_deflect==1
    {
    can_deflect=0
    alarm[0]=4 //reset can_deflect
    //direction=180+direction//curr_dir  
    var inst = instance_find(myid.def_inst, irandom(instance_number(myid.def_inst) - 1));
    direction=point_direction(x,y,inst.x,inst.y)  
    }
As I said earlier, the problem is, after colliding with the deflectors initially, instead of randomly picking and moving towards any other deflector's direction, the projectiles move towards one only.

Is there any way to achieve this?

Any guidance is appreciated. Thanks!
 
Last edited:
Top