First time here? First time here? Newsletter Signup Newsletter
Login | Register | 651326 Members and growing!
Search tutorials
Author: Luke Knepper | Website: http://zazeran.com

This is a little bit of Action Script that will give you a basis on which to make a simple AI. I basically guessed and checked until I figured out the correct algorithms. This is based on a set of axes whose center is the symbol this is in. I changed the axes by turning them 90 degrees so you have a new set so that you can decide which quadrant the other symbol is in, and the middle of these quadrants is a direction for this symbol to move to get to it. Made for a 2D game where the symbols go up, down, left, and right.

function locate() { //function name is locate()
xd=this._x-_root.guy1._x //the difference in-between this symbol's x and the other symbol's
yd=this._y-_root.guy1._y //the difference in-between this symbol's y and the other symbol's
npx=(xd+yd)/Math.pow(2,1/2) //A little bit of math to change the corrdinate
npy=(yd-xd)/Math.pow(2,1/2) // " "
if(npx>=0 && npy>=0) { //Assumes first quadrant identities
this._rotation=0 //set's the symbol facing up (North)
this._y-=2.5 //moves the symbol up
return 1 //returns a value of 1 for first quadrant to be used in other functions if needed
} else if(npx>=0 && npy<=0) { //Assumes second quadrant identities
this._rotation=270 //Sets the symbol facing left
this._x-=2.5 //moves the symbol to the left
return 2 //return 2 for second quadrant for use in other funcitons
} else if(npx<=0 && npy>=0) { //assumes 4th quadrant identities
this._rotation=90 //sets the symbol facing right
this._x+=2.5 //moves the symbol right
return 4 //returns 4 for 4th quadrant/right
} else { //only quadrant left is down (3rd)
this._y+=2.5 //moves down
this._rotation=180 //sets facing down
return 3 //returns 3 for 3rd quadrant/down
}
}

What this does is set the symbol moving towards the average direction that the other symbol is in. It makes a killer homing device that is very hard to defeat if you have the sprite attack. Speaking of which...

if( (this._x < _root.guy1._x +100 && this._x > _root.guy1._x-100) && (this._y < _root.guy1._y + 100 && this._y > _root.guy1._y -100)) { //an if statement that I figured out. If the other symbol is within 100 px of this symbol it will do the action.
ran=Math.ceil(Math.random()*20)-1 //I added this to only make the symbol attack some of the time because it was too hard to beat if it was constantly attacking. can be removed if you wish. the whole math statement can be replaced with random(20) if you wish, I just couldn't remember the code at the time....
if(ran==0) punch() //remove the if statement if you removed the random above. the punch() function is my attack function, you will want to make your own attack functions and put them here
}

Of course, the simplest way to make an AI is to have a lot of different functions that do different things (move, attack...) and then activate them when a condition returns true. I suggest you play around with these to get them how you want, and in the meantime try inventing some of your own. Feel free to modify, use and share the action script in this tutorial, however please don't redistribute this tutorial, just give a link to it please.

Thanks! Luke Knepper (By the way, please visit zazeran.com and give me feedback!)

» Level Intermediate

Added: 2006-12-05
Rating: 9 Votes: 8
(10 being the highest)
» Author
Luke has experience with Java, Flash/ActionScript, and PHP. Codes and writes programs a lot, enjoys making games. Has a small game website, zazeran.com .
» Download
Download the files used in this tutorial.
» Forums
More help? Search our boards for quick answers!

Comments

  • There are no comments yet. Be the first to comment!

  • You must have javascript enabled in order to post comments.

Leave a Comment
  • Your email address will not be published. All fields are required.
Featured Flash FLA
» Author: work2survive
» Title: Girl Walking 1kb
» Description: Walking girl, animation just takes 1kb, using high heels shoes, and fashion model attitude.
Featured Sound Loops
Image for equalize

Audio Player

» Author: BoxCat
» Title: CPU Talk
» Description: From the cyberpunk RPG, "Nameless: the Hackers" Completely Free to use! Keywords: edm hip hop rap electronic mysterious mission hacking chase exciting spy ios ambient chilling love happy sad angry suspense
Latest Font
» Author: Fábio FAFERS
» Description: I created this font for free use. Everyone can apply it in personal or business texts. Its free, but I want to be communicated in case of business use. Donations are accepted to keep the project of free fonts alive! Thank you all
Featured Sound Fx
Image for equalize

Audio Player

» Author: nathan
» Description:

A recorded sound of the Dimensional Fork Gate.