Jump to content

  • Log In with Google      Sign In   
  • Create Account


[VB] Simple AI System (Follow Player)?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
2 replies to this topic

#1 mholmes   Members   -  Reputation: 189

Like
0Likes
Like

Posted 01 November 2012 - 11:38 AM

Im going to make a side scroller very soon and Ive never made one before. Ive also never had to make a AI system before but I have ideas. Anyway, would I set the AI to follow the player based in their location via x,y location? Basicly make a timer to increate by 1 until x.location = player.x.location and y.location = player.y.location or somethig like that in vb .Net? Basicly I would need to store the players x,y in a class right?

Sponsor:

#2 Tournicoti   Prime Members   -  Reputation: 679

Like
0Likes
Like

Posted 03 November 2012 - 03:09 AM

To make the enemy follow the player you can do something like that :

1) Compute the direction the enemy must follow :
direction = normalize ( player - enemy )

2) Compute the new enemy position, according to some velocity :
enemy = enemy + direction * velocity

where :
direction, enemy, player are 2D vectors
velocity is a scalar

Hope it helps Posted Image

Edited by Tournicoti, 03 November 2012 - 03:11 AM.


#3 wodinoneeye   Members   -  Reputation: 618

Like
1Likes
Like

Posted 03 November 2012 - 10:24 PM

They stil have the sgn() function in BASIC dont they?


I remember using that function to move an object towards anothers coordinates ages ago (pre PC days)

sign of Target minus Initial - gives you a single step towards the target

dx = sgn( target.x - Self.x) ........... gets the 1 0 -1 value from the difference of the coordinate values
dy = sgn( target.y - Self.y)

Self.x = Self.x + dx ........... moves one step in direction towards target
Self.y = Self.y + dy

of course in those days there were no object/classe constructs (records ...aack!)


if the way is blocked, you would test that first and would need something else to figure how to go around

as long as the target stays on the map you dont have to test for x y map boundry -- but if you have a case where target exits (like levels) that will have to be handled specially

if you want it to 'follow' but not overlap the target you need to test if the result of the move will be the same coordinates as the target and stop the move

Edited by wodinoneeye, 03 November 2012 - 10:35 PM.

--------------------------------------------Ratings are Opinion, not Fact




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS