So if the source if moving to the left, get in range of a tower and during the algorithm progress go up or down, it will not work. That's it?
2011/7/23 Joe Ranalli <[email protected]> > Yes, it will work as long as the target doesn't change direction. > > > On Sat, Jul 23, 2011 at 1:13 PM, Nathan BIAGINI <[email protected]>wrote: > >> Ok. Yeah it's more explicit, thanks to take time to rewrite it. So it will >> works in case of really simple tower defense graph, where the target always >> progress to a point A to a point B? >> >> >> 2011/7/23 Joe Ranalli <[email protected]> >> >>> Yes. >>> >>> So to be more explicit: >>> >>> 1 Calculate the distance between the source and the target. >>> 2 Calculate the time for the bullet to move that distance (i.e. by >>> dividing this distance by the bullet velocity) >>> 3 Calculate newposition (multiply the target velocity by the time >>> calculated in the previous step, add to original target position) >>> 1a Recalculate the distance between the source and newposition >>> 2a Recalculate the time for the bullet to move from the source to >>> newposition (i.e. divide the new distance by the bullet velocity) >>> 3a Recalculate newposition using this new time (multiply the target >>> velocity by the new time calculated in the previous step, add to original >>> target position) >>> >>> >>> >>> >>> On Sat, Jul 23, 2011 at 12:55 PM, Nathan BIAGINI >>> <[email protected]>wrote: >>> >>>> Ok so thanks all for all your replies i will work with all that. I don't >>>> know already if i want to use homing missile style which seems to be easier >>>> to code or to use an algorithm to fire straight to the right spot. >>>> To be honest, i'm not native english speaker and it's not always easy to >>>> figure out what you really mean but i'm doing my best. >>>> >>>> I just want to ask you Joe about your algorithm : >>>> >>>> >>>> If you want to have the bullet go straight to the right spot, you need >>>>> to: >>>>> 1) calculate how long the bullet will take to get to the enemy >>>>> 2) calculate where the enemy will be at that time (newposition) >>>>> 3) calculate how long it will take the bullet to get to newposition >>>>> 4) recalculate newposition based on the new time >>>>> >>>> >>>> Ok so i think the first step is pretty clear to me, the step 2 too but i >>>> don't understand the step 3. My english isn't the best i repeat so... i >>>> have >>>> to calculate how long the bullet will take to go to 'newposition'. So i >>>> will >>>> get a new time value and then i need to recalculate newposition based on >>>> this new time? And fire at 'newposition'? And also, to be sure, >>>> 'newposition' is the virtual position of the target after the time taken by >>>> the bullet to hit it, right? >>>> >>>> Sorry if it seems to be straigh forward to you :-) >>>> >>>> Of course i will try others way like Lee suggested me. >>>> >>>> Thanks. >>>> >>>> 2011/7/20 Joe Ranalli <[email protected]> >>>> >>>>> It depends what you're trying to do. >>>>> >>>>> If you draw the straight line between the tower and the enemy and use >>>>> that vector to translate a bullet each tick, the bullets might miss the >>>>> enemy. Think about it this way, the bullet moves 2 steps toward the >>>>> enemy, >>>>> then the enemy moves 1 step, then the bullet moves 2, etc. Because the >>>>> enemy moves the bullet will have to change its direction through the >>>>> flight. So you could calculate the direction vector between the bullet >>>>> and >>>>> the enemy every tick and have the bullet move that direction. That would >>>>> make the bullets kind of arc to the target. >>>>> >>>>> If you want to have the bullet go straight to the right spot, you need >>>>> to: >>>>> 1) calculate how long the bullet will take to get to the enemy >>>>> 2) calculate where the enemy will be at that time (newposition) >>>>> 3) calculate how long it will take the bullet to get to newposition >>>>> 4) recalculate newposition based on the new time >>>>> >>>>> Technically you could iterate that repeatedly until newposition >>>>> converges. Practically, iterating once probably gets you close enough >>>>> unless the movement is extremely complicated. >>>>> >>>>> >>>>> On Wed, Jul 20, 2011 at 9:14 AM, Nathan BIAGINI <[email protected] >>>>> > wrote: >>>>> >>>>>> Hi everyone, >>>>>> >>>>>> i would like to know what are the common way to handle "trajectory" in >>>>>> a 2d game. In fact, i think of writing a tower defense game and i wonder >>>>>> how >>>>>> to handle the trajectory of the missile launch by the towers. I though of >>>>>> getting the pos of the tower and the target and create a vector between >>>>>> this >>>>>> two entitites to make a sprite translation of this vector but there is >>>>>> maybe >>>>>> some tricky stuff to do it. >>>>>> >>>>>> Thanks in advance and happy game making all :-) >>>>>> >>>>> >>>>> >>>> >>> >> >
