Atriarch Watcher...we're watching.
Atriarch Player Development Team
Atriarch Watcher...we're watching.
News
 -News
 -Submit News
 -Archived News
 -ChatLog Archive

Compendium
 -Introduction {EN/FR}
 -Atriarch FAQ {EN/FR}
 -Atrian Atlas {EN/FR}
 -Player Species {EN/FR}
 -Atrian Creatures
 -Atrian Glossary

Community Forums
 -Guidelines
 -Forum Index

Atriarch Fun
 -ATW Contests
 -Creature Crucible
 -ATW Name Generator
 -ATW Personality Quiz
 -Atrian WordSearch
 -Atriarch Askew (Comix)
 -Alternate Atriana Glossary
 -Site Themes
 -Community Polls
 -IRC FAQ

Articles
 -Developer Comments

Profiles
 -Community Members
 -Player List

Media
 -Atriarch Images
 -Desktop Wallpaper
 -Atrian Fan Art
 -Fan Flash
 -Media Downloads

APDT
 -AT Player Dev. Team
 -APDT Forums

Factions
 -ATW Faction Hosting
 -Atriarch Factions

Realms
 -Official Atriarch Site
 -Other Atriarch Sites

Contribute
 -Volunteer
 -Donations/Storefront

Contact
 -About Us
 -Feedback
 -Staff Only

  Torpors Edge Atriarch Music CD
  Atriarch Music CD #1

Atriarch Watcher...We're watching. Are you?

Atriarch Developer Comments

Hello all. Although it has been a while since you have heard from the engineering team, we have been making significant progress--all things considered. The economic slow down last year hit us hard, as it did many people and companies. A lot of our engineering manpower has been drained in our efforts to recover. Nevertheless, we survived the worst of it and are now making steady progress in our efforts to complete Atriarch for release. Trust me when I say that no one is more eager to get the game out there than we are. Now for the update.

For the last couple of months, the World Fusion Engine (code name: Volcano) has been "off its wheels" as we have conducted a major rewrite of the 3-D graphics and persistence subsystems. This was necessary to eliminate a nasty client-side lag problem and enable significant performance optimizations that will shortly be achieved. As you know, most 3-D games, both massively multiplayer and single-player, manifest various kinds of lag. Although many players assume that most lag is due to a slowdown in the actual rendering of the graphics, lag is usually caused by persistence: the loading of 3-D geometry and texture data. Level and zone-based engines typically resolve the persistence lag by loading as much data up front before each level or zone is activated, causing the players to stare at a frozen display while this occurs (the all too familiar LOADING... PLEASE WAIT...).

From the onset, we have designed the World Fusion engine to support seamless worlds such as Atriana: a spherical, truly three dimensional world with no zones whatsoever, neither above ground nor below. Achieving this requires a very different approach to the persistence mechanisms used by the 3-D subsystem. Data is only loaded as needed, piece by piece; there are no preloading stages that cause the player to wait. Therefore, data loading has to occur in parallel to all other game activities: user input, rendering, sound, animation, physics calculations, and artificial intelligence. Multithreaded design and programming is very helpful, if not essential to this task.

Unfortunately, multithreading has been key to our lag problems for some time. Although, the entire foundation of software that the World Fusion engine is built on has been designed to support multiple threads of control, one critical piece has had trouble doing so: the persistence subsystem, i.e. the database system. In this case, we also got hit with a double whammy because the only part of the engine that was built on commercial software was--you guessed it--the database system.

As it turns out, the vendor actually fixed the problem with their database system that was preventing multithreading from working. Unfortunately for us, they did so in a subsequent release *after* changing the licensing agreement. That is, the original version was royalty free, whereas the version that is fixed requires a royalty for every single user--and not a small one at that. This is a very common situation known as the "vendor lock-in" antipattern. I firmly suggest to anyone developing software to avoid this type of hostage situation at all costs.

Having experienced this sort of problem many times in the past, all of our application code has been protected by an isolation layer that keeps it from being directly dependent on the API of the vendor's database product. Instead, we have created an abstraction that conforms to the ODMG (Object Data Management Group) standard and written a Bridge (design pattern) to the database product. Nevertheless, we still had to conduct a nontrivial ongoing effort of replacing the implementation of the database system. I can reassure you however that our new solution utilizes open source and free software, as does quite a bit of the engine already. Some examples include TAO (the ACE orb), PostgreSQL, libpng, and code from the Graphics Gems series of books. On the servers and development tools side we already use open source and open standards all over: OpenGL, GNU/Linux, GNU Make, GCC (C++ compiler), GDB & DDD, ViM, VNC; and the list goes on and on.

That's the report for now; I hope I haven't bored you to death. Now I have to do some more eXtreme Programming so we can get this game out there!

Arc

Return to Index


All original artwork and content copyright 2000 - 2008, Atriarch Watcher, do not reproduce without express written permission, or link directly to any graphics on our server. Design/Code by Dakejuka Design (www.dakejuka.com) except where noted. Please read About Us for more information on the staff and philosophy of this site.

Atriarch, the Atriarch logo, and World Fusion are trademarks of World Fusion, and ATW does not makes any claim upon them. This site is in no way affiliated with World Fusion.

This site is designed for Internet Explorer 5.01 and up, with 16 million colors, and 800x600 or greater resolution, with JavaScript, cookies, and CSS enabled. Other browsers and settings not guaranteed, though every effort will be made to ensure backwards compatibility.