   Has anyone used or considered using the ACE framework for network/multiplayer?
  I am curious since the ACE framework is widely considered in the business and academic software circles as one of the most robust and performant C++ libraries for platform independent high performance network applications. Its used for real-time high volume financial trading apps, so why not use it for games?Has anyone done any serious looking at using it for this purpose?   
  It's CORBA. And that means a lot of horrible syntax, an incredible amount of bloat, and beating around the bush 5 times before getting the job done.It's not really slow or inefficient, but the overall framework is simply overgrown due to CORBA. It's used by large enterprise providers, who can afford to handle such frameworks. CORBA is also considered obsolete, since it has gone the academic way, and overgrown itself, along with standards upon standards all conflicting each other, and resulting in a whole set of not entirely incompatible implementations, before mostly abandoning the whole thing.Note: there might be a non-corba specific ACE stand-alone, I have just experience with the whole deal.It you're looking for something that gets the job done, look into ZeroC Ice.   ;Quote:Original post by AntheusIt's CORBA. And that means a lot of horrible syntax, an incredible amount of bloat, and beating around the bush 5 times before getting the job done.It's not really slow or inefficient, but the overall framework is simply overgrown due to CORBA. It's used by large enterprise providers, who can afford to handle such frameworks. CORBA is also considered obsolete, since it has gone the academic way, and overgrown itself, along with standards upon standards all conflicting each other, and resulting in a whole set of not entirely incompatible implementations, before mostly abandoning the whole thing.Note: there might be a non-corba specific ACE stand-alone, I have just experience with the whole deal.It you're looking for something that gets the job done, look into ZeroC Ice.ACE itself is not CORBA, there is an extension or addition called TAO that uses ACE to provide a high performance CORBA implementation. I have experience with neither, but understand that ACE is not bloated and achieves sacrifices very little performance in exchange for a lot of flexibility for high volume and mission critical apps.I'll look into ZeroC though. What was the app you were working on with ACE+TAO? Thanks for your feedback, it is interesting.   ;  ACE does not solve the problem of "low latency is more important than anything, including correct delivery" as far as I can tell. That happens to be the most important problem to solve for most games, hence it's a poor fit.;Quote:Original post by hplus0603ACE does not solve the problem of "low latency is more important than anything, including correct delivery" as far as I can tell. That happens to be the most important problem to solve for most games, hence it's a poor fit.My experience with these frameworks has not been favorable in this respect.Despite QoS being provided through an incredible amount of components at all possible layers, timeouts and cascading failures were a major problem, and in some cases, UI events could bring the cluster into non-recoverable state through a valid user action, that resulted in exponential cascading load propagation.But I won't pinpoint the reason since I do not know it, nor do I claim it was related to any of the libraries as such.But given the small object space, this type of problems struck me as surprising, given the descriptions of the framework and list of features and guarantees.After reading through the ACE documentation, I also find that Boost::ASIO or Twisted provide more scalable networking in a much smaller packege (excluding some specific and redundant features), with already mentioned Ice providing everything and a kitchen sink (persistence, management), in a much more straight-forward form.   ;  Thanks for this great feedback. So is the consensus that the other libraries are better for games or just better in general?   ;  I use ACE in the MMO product I am building.  I'm using it as a cross-platform sockets networking library as my product runs on Windows, Linux and Mac OS X.  I don't use the higher level components like TAO or CIAO.  It's been running for about two years in my product and hasn't given me any issues.I have found ACE to be reliable and easy to use, though, I did have compiling conflicts between ACE and Allegro on Windows that had to be sorted out.  If you are new to networking, ACE also comes with a couple of books to help get you started with networking concepts.http://www.cs.wustl.edu/~schmidt/ACE/book1/   