Yeah i also think so... and if the bullet is really faster than the target, it should not be that much visible.
2011/7/23 Joe Ranalli <[email protected]> > Oh, sure. If you know exactly how the target will move and calculate > newposition based on where the target will be including changes of direction > and everything, then you will be aiming at the right spot. It still seems > like using the homing bullets would be easier though. > > > On Sat, Jul 23, 2011 at 1:29 PM, Nathan BIAGINI <[email protected]>wrote: > >> Yeah but if you calculate the node of the graph where the target will be >> when the bullet get there. Can it works? >> >> >> 2011/7/23 Joe Ranalli <[email protected]> >> >>> You are aiming the bullet based on where you calculate the target will be >>> when the bullet gets there. If the target changes direction, your aim is >>> wrong. >>> >>> >>> On Sat, Jul 23, 2011 at 1:24 PM, Nathan BIAGINI >>> <[email protected]>wrote: >>> >>>> 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 :-) >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >
