Not sure which you’re referring to: my collision handler has fluid detection enabled, and I’m using the DistributedSmoothNode to smooth out the apparent movement of the remote players.
But the internet is what it is, and ~250 ms is only an average. If one particular packet arrives late, say 500 ms after it was delivered, then you won’t hear about my starting position until I’m already at my ending position, and there’s no way to avoid you seeing me “pop” across the screen. It’s just a reality of internet-based games. You can reduce this effect by increasing the delay between the time you hear about an effect and the time you see it, which makes it more forgiving for late packets; or you can reduce it by decreasing the run speed, which makes errors less obvious.
A FPS game for LAN only?? Lets see which one it might be…
Maybe a certain dev just forgot the needed latency calculations, that are needed for the internet? Bad developer - no cookie, hehe!
Anyway, I cant get it running on Ubuntu 9.04 - FF plugin installed - loaded and then just the red start button. Unfortunatly I have no clue where to put the linux plugin… Also installed rbd’s package but still no change. Guess me and linux arent compatible, hehe
If you installed the panda3d-runtime package, it should work. What happens when you click that red start button?
Also, try this on the commandline:
cd ~/.panda3d/hosts/r*/p3dcert && env LD_LIBRARY_PATH=. ./p3dcert a b
What happens then?
Nothing happens when clicking the start button, besides the “clicked” animation.
Regarding the command I get:
Speicherort »file:///home/magus/cd%20~/.panda3d/hosts/r*/p3dcert%20&&%20env%20LD_LIBRARY_PATH=.%20./p3dcert%20a%20b%20« konnte nicht angezeigt werden
Translated, it cant show the location and I guess that means panda isnt installed (correctly)?
Hm, this is very complicated. David, do you have any recommendations for a game server guide with python? I guess there aren’t any that specifically reference panda3d. I don’t know anything about networking. How did you learn how to do this? Haha, do I have to enroll at Carnegie Mellon?
This distributed object server is very specific to Panda3d and is indeed complex. In a nutshell:
DistributedObjects are replicated across the network. If I create a chair DO on my client, all clients will get a copy of that with the parameters I set.
These parameters, and how they are communicated, are in the .dc files.
ServerRepository is responsible for communication only, no game logic.
All serverside game logic will also be in the form of clients, the ClientAI. The purpose of these ClientAIs is to manage things in your gameworld that clients should not have direct control over.
Panda provides a lower level network system as well which is not as complicated. You can also go with a generic python network approach as well.