Re: [pygame] trajectory

2011-07-25 Thread BIAGINI Nathan
Thanks.

The TD i have planned to code may contain lot of direction changes so i think i 
will use homing missile, i have already started to code a kind of homing 
missile firing system using vector thanks to numpy and it s not too bad.

Le 25 juil. 2011 à 06:07, Jake b ninmonk...@gmail.com a écrit

 This calculates to shoot in the path of the target. 
 Like how you throw a football, to lead the catcher. Instead of where they are 
 at that second.  
 
 For tower defense, some Bullets fly fast enough you don't have to lead. 
 
 Slower bullets fire, then every frame you:
 Move the bullet location toward target. ( without leading )
 Thats simple homing, but you can skip the steering part a homing missile has. 
 The trajectory will end up curving, depending on speeds used. 
 
 For a straight line you will have to lead. But leading will miss if target 
 chamges direction or speed. 
 
 On Saturday, July 23, 2011, Joe Ranalli jrana...@gmail.com wrote:
  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 nathan.o...@gmail.com 
  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 jrana...@gmail.com
 
  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 nathan.o...@gmail.com 
  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 :-)
 
 
 
 
 
 -- 
 Jake


[pygame] Making animation.

2011-05-27 Thread BIAGINI Nathan
I am wondering how can i make some effetcs in my pygame 2d game. I mean per 
effects an explosion, a fog, fire, water etc... Its made as normal animation? ( 
several images ) or i have to use pyopengl and some rendering function or i 
dont know what... ( dont know how pyopengl works ).

Thanks.