I am planning to develop client-server RPG, but I get stuck in accurate attack. Think about under situation:
1. Player1 at position A in server.
2. After 100ms, Player2 see Player1 at position A, but Player1 moved to position B in server side.
3. Player2 attacks Palyer1 at position A.
4. After 100ms again. Server receives attack packet, But Player2 moved to position C, if Player2 attacks Player1 at current position C, the hit will always miss.
But how can I get Packet Latency and Client View Interpolation?
I read the unity network demo of TPS-Auth. I think Client View Interpolation should be equal to fixed time + Client Latency.( GraduallyUpdateState.cs m_InterpolationBackTime property)
I need a lot of type of jump action:
1、jump in place when press space
2、jump forward when character is moving
3、long jump when charcter is running
4、high jump when charcter jump again before the previous jump hasn't finished
bullet or another engine can implement these, how to do it?
I am developing MMORPG, so one client jump, how to I broadcast this action to others resided in the same window. send the key position to server? or simulate the action both in server and others's clients?
I come from China, if my English make you feel uncomfortable, I make an apology! But please read my question and give me some advising.
I read Recast/Detour project to figure out how to navigation in 3D environment, I noticed the player position is floating point, it does't like 2D game that every point is integer. In 2D, I can deliver player position to server use two bytes(assume the grid map is 256*256), but in 3D, I need use three float numbers. The only thing I can think of to optimize the communication is zip the data, does it exist high-efficiency schema?
Another question: when server received the player position, it need be validated to makesure it's whether a nomal position or a fake position, How to do it? My idea is check the distance between this position and previous position, to guarantee player can't move too fast. But this can't guarantee player would not drilling soil or walking on the sky, I need more strict validation. By the way, we choose bullet as collition detection and physics engine. I browse some bullet demo, but could not find a Demo show character's jump action. I don't know how to implement jump action, if you know how to jump, or better free physics engine, please tell me. When player is jumping, the position on the sky is allowed, so the validation is more complex.
Our browser client language is AS, server language is JAVA.