On Week 22

edited 2011 Jun 6 in Developers
skyjake:

Development continued at a leisurely pace on week 22. I focused on fixing Heretic's chicken beak attack damage, which lead me into discovering something I had forgotten about. The last time I was working on the multiplayer code (several years ago) I had apparently considered implementing a mechanism for clients to request damage points on specific objects. This would allow clients to simulate gameplay events just like the server does, and send damage requests when the player manages to hit something. As a result, the client would be treated more fairly in case of object position discrepancies due to latency: if the clientside world allowed something to be hit, the server would accept it even though on serverside the attack would've missed. However, the current code is not utilizing this mechanism because it uses another one: player action requests. Whenever the client attacks, it sends an Attack request accompanied with the position where the attack took place. This allows the server to apply the same attack on serverside. This approach is still affected by latency, though.

The object damage requests were not fully completed the last time around, so I took some time to finish the work. However, the mechanism is currently still unused as it turns out the beak attack was just missing an Attack request. When I get around to studying the effects of latency on multiplayer gameplay, I will revisit this issue and see whether attack requests result in a better experience. (And in the long term, it is important to consider how to prevent cheating with damage requests...)

During the coming week I will try to address the remaining Heretic issues. One new thing I noticed last week was that if a player dies in the chicken mode, the viewheight never gets restored back to normal, so after respawning it still stays at chicken level. After that it is time to focus on Hexen.

danij:

As mentioned in my mid-week tweet, deng development has suffered somewhat this week due to the extraordinarily nice weather of late. However I did manage to complete the automap-to-UIWidget adaptation.

While there is still a lot more I'd like to do with the automap implementation wise, I concluded that it is better to complete the general UI refactor first and avoid getting bogged down in the details of a single component. Consequently I've drawn the line on it and am now moving on.

Over the coming week I intend to shift my attention onto the next would-be widget on the todo-list - the player inventories in Heretic and Hexen. The final goal is to turn this in a composite set (tree) of widgets but that can wait for now.
Sign In or Register to comment.