On the State of AC Emulation
6 months ago, Dereth Forever was formed due to a lack of progress in other emulators. There was no available source for PhatAC, and ACE was not making any forward progress. AC Emulation was dead. We saw a need, so we stepped up to meet it, but with a different focus: community.
We started with a physics proof-of-concept using Bullet and were the first emulator with scenery generation that matched the live server. Unfortunately, that turned out to only be a “learning experience” as we became convinced that we would have to reimplement the physics system present in the client. We moved on to release the first version of our website, and then proceeded on with the large reverse engineering effort to recreate AC physics. We steadily made improvements to the website and progress in the reverse engineering effort. We revamped the world data store that just would not perform under load and brought world data load times down to single-digit-seconds. Things were looking up.
Then things started to change. ACE recruited a new contributor that started moving them forward at a remarkable pace. PhatAC’s source was leaked/published as “GDL”, and more than a couple C++ developers jumped on board. The foundation that Dereth Forever was founded on was no longer solid ground.
Over the past 4-6 weeks, the leadership of Dereth Forever has had numerous discussions about how to proceed, and our progress has obviously stalled. We took a hard look at the reason we created this group, and made ourselves reevaluate our goals in light of how the AC emulation scene had changed.
See you in Dereth!
– The DF Dev Team
We’re excited to announce that we will be moving our ClientLib project to an LGPL license in the next couple days. For those of you that don’t care about the differences in Open Source licensing (and if you’re not a developer, you probably don’t), you can be confident this is a good thing. If you don’t want to take our word for it, I suggest you go read up on the differences, come back, and keep reading.
What is our “ClientLib” project? Glad you asked. Long story short, it’s all the dat content extraction and reverse engineered client code. Notably, this includes our physics code. It contains a lot of the basic functionality you would want to write meaningful AC websites and perhaps Decal plugins.
What this means for the community is that anybody that uses our ClientLib won’t be required to publish source code as long as no modifications are made to it. So if someone wanted to write decal plugins that pulled data out of the dat files (like, oh, a content editor), they could use our ClientLib. If somebody wanted to write a website and use our ClientLib to help them render stuff with WebGL or ThreeJS, they could use our ClientLib. If people started making mods to our ClientLib, though, they would still be subject to the same restrictions as they would under GPL. In this regard, the licensing is comparable. However, under GPL as it is today, the ClientLib carries with it all the viral aspects of GPL – merely using it or referencing it means your project now carries the GPL license whether you like it or not.
Disclaimer: none of us are lawyers. Our assertions of licensing implications do not constitute any promise or warranty of any sort.