Table of Contents

<noinclude> update Doomsday|1.9.0-beta6.10|1.9.0-beta7|1.9.0-betaX </noinclude> The objective of this release is to implement the unified_networking model. This is accomplished through the introduction of several key 2.0 architecture components. It begins a transitional phase where libdeng and libdeng2 live side by side, each providing certain functionalities. Over time in subsequent releases, subsystems will be migrated to libdeng2 and revised accordingly, ultimately converting libdeng into a C wrapper API for libdeng2.

The key idea behind the unified_networking is that the client/server operating model will be used in single-player games, too. In practice, there will be two separate processes (one for the client and one for the server), both linked to libdeng2 (and to libdeng during the transitional phase). This makes future development easier and the functionality of the engine much more robust.

Also important are improvements in the multiplayer gameplay. In fact, the application of the unified_networking will make it mandatory to fix multiplayer problems. In Beta7, internally there will be no more difference between singleplayer and multiplayer games. The old (substandard) engineside multiplayer code will be removed, helping to get rid of gameplay glitches. It also enables us to introduce new features to make multiplayer games more enjoyable.

Completed changes

2.0 Architecture. Start of the transformation towards the 2.0 architecture:

Unifying singleplayer and multiplayer. There is no more difference between singleplayer and multiplayer games, apart from where the server process is running. Singleplayer games typically have the server running on the same computer.

Common game library. For a long time the game plugins have been sharing a set of common source files. This functionality will form a separate shared library called libcommon that is truly common to all the games, and does not require repeated compilation for each game.

Upcoming changes

Dependencies. Upgrade dependencies for engine and all plugins (DirectX/cURL/SDL/SDL_net/SDL_mixer/OpenAL/zlib/libpng).

Potential changes/fixes from branches

jDoom

jHeretic

jHexen