deniborz Posted May 4, 2015 Share Posted May 4, 2015 Hey everyone! I'm making a top-down game with waves, but the problem is the enemy AI.As it stands now the enemy rotates and goes towards the player, but when they all go after the player they come close to each other and it looks silly, like this: The thing is that I want the enemies to avoid eachother so they don't collide. If anybody knows how to do this, help is really appreciated! this is my code for their behavior: enemy1Group.forEachAlive(function (enemy) { enemy.body.rotation += 20, enemy.body.collideWorldBounds = true, enemy.body.velocity.x = 0, enemy.body.velocity.y = 0, chasePlayer(enemy); ; }) function chasePlayer(enemy) { if (player.alive) { game.physics.arcade.moveToObject(enemy, player, 150); } } Link to comment Share on other sites More sharing options...
brejep Posted May 5, 2015 Share Posted May 5, 2015 Steering behaviours would be one approach. There is a quite good series of introductory tutorials on steering behaviours here: http://gamedevelopment.tutsplus.com/series/understanding-steering-behaviors--gamedev-12732 The code examples would translate to Phaser reasonably easily. Link to comment Share on other sites More sharing options...
deniborz Posted May 5, 2015 Author Share Posted May 5, 2015 I will have to look into it properly, but those guides look very interesting, thanks. My programming knowledge isn't that great, so I will see what I can get out of it. Link to comment Share on other sites More sharing options...
Recommended Posts