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 :-)
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to