[crossfire] crossfire 2.0, smooth movement, thoughts.

Mark Wedel mwedel at sonic.net
Sat Feb 4 03:13:54 CST 2006


  In various 2.0 discussions, the idea of smooth movement has been brought up.

  Thinking about that, I wonder if it is better to aim for 3.0 for that. 
redoing it for smooth movement requires IMO a lot of code changes, and if we 
shoot for that in 2.0, I think 2.0 will be a long ways off.

  I think it also needs to be worked out a lot more.  I have some thoughts on 
how to do it, but it needs to be worked out a lot more.

  For example, I was originally thinking that it could only pertain to players 
and perhaps monsters.  But that doesn't work really wall - arrows should also 
move smoothly, and you should be able to roll boulders smoothly, or else it 
looks really weird.

  Underlying, I was thinking the idea of mapspace remains the same - at some 
level, you need some method to get to objects nearby.  And splitting all the 
spaces into smaller spaces may not help - if you have to examine 200 spaces that 
the player is near for objects, that probably isn't an improvement.

  So my general though would be each object would have an offset within the 
space - presuming we want to match pixel offsets to position, it would be that 
each object would have an x and y offset for -15 to +15 - if the offset is more 
than that (say 16), it would move to the next space at a -15 offset.

  But what this does mean is that in many cases, you need to look at 4 spaces 
for objects/monsters (for example, if the player is at 15,15 offset, then 
objects on the neighboring space might be close enough to pick up).  Likewise, 
movement for players get complicated.

  But the question also about how fine to reduce movement comes in.  If we come 
into refining things to single pixel movement, we are talking about a 250 FPS 
redraw rate for the client, or about 4 ms to redraw the image.  I don't think 
any of the clients on current hardware are capable at that rate (ignoring 
graphic performance, have to take into account the other things the client does).





More information about the crossfire mailing list