On Week 27

edited 2011 Jul 18 in Developers
skyjake:

I managed to resume my work on the multiplayer and made some fundamental changes in how Doomsday's network code operates. For several years, the engine has been relying on both UDP and TCP for communication. However, while UDP provides a potential latency boost, it also brings plenty of complexity in how the communication must be done. It would be optimal for data that does not have to reach its destination on time, or at all. Doomsday's delta updates don't quite fit the bill: they are expected to be applied in the correct sequence, and if an update goes missing, it has to be resent by the server. Thus it makes much more sense to send this data over TCP, where the order and integrity of the data stream is guaranteed by a robust, polished OS-level implementation.

So, the use of UDP has been dropped from Doomsday. This has the benefit of simplifying network configuration: one only has to open a single TCP port for listening to be able to host a game. Also, unlike before, the client doesn't have to have any listening ports, making life much easier for people just wanting to participate in a game -- connecting to a Doomsday server will be akin to making a network connection to any regular non-HTTP server out there.

I also fixed a few more issues with Hexen, mostly related to how player colors were being applied on the clients.

It is almost time to start testing the code with a wider audience; I will announce the start of public testing in the near future. First we will have to fix some of the more immediate issues (should we find any) with a couple of closed testing sessions.

danij:

Similarly I too returned to working on the UI this week, focusing on the fonts. Font identifiers/names are now expressed as de::Uri and we now have namespaces which use the same mechanic as those for de::Material (i.e., fonts are now eternal and so too their guids, de::fontnum_t). The console command "listfonts" can be used for querying the font database (usage is analogous to "listmaterials").

I also made a few improvements to the console renderer; 1) Tracking and leading are now console font properties (which can be configured using the "font" console command), 2) Long console command lines are now abbreviated with ellipses and 3) Characters of composite bitmap fonts whose Patch is missing are now drawn as untextured rectangles.

The plan for the coming week is unchanged; continue work on unifying the UI systems.

Comments

  • skyjake wrote:
    skyjake:(...)It is almost time to start testing the code with a wider audience; I will announce the start of public testing in the near future. First we will have to fix some of the more immediate issues (should we find any) with a couple of closed testing sessions.

    Horray!
  • Heck yeah, I wouldn't mind testing this out as well!
  • What's nice is I have been playing Doosmday the last few days and notice that glowmaps exist now. The shine is better too. Keep up those nice graphical improvements. Normal maps coming fairly soon, hopefully.

    I do notice some slowdown when multiple Tea Monster Pinky Demons are on the screen at once though (dead or alive). Optimization in Doosmday is a must and I hope is a priority soon. It definitely isn't my system. I got a Radeon HD 6870 with a Phenom II x4 965 3.4GHz. ;) Anyways, nice work so far.
Sign In or Register to comment.