Hm, how to start..., let's start with introducing myself, I'm member of closed-source Blade & Soul development team. But I have a great desire to develop Blade & Soul as open source project. Why open source? Just because project itself is huge, of course it requires huge amount of resources. Of course you can collect such a huge amount of resources if you have a lot of money or programmers work for a piece of bread No, let's create open source project.
Our aims:
1) of course create Blade & Soul Emulator in its completeness
2) create scalable platform
3) use shared-state as rare as possible
4) bring emulation to new level
5) avoid global services
6) for script developers/DP should be provided useful API without requirement how to use synchronized..., Atomic..., Thread..., Unmodifiable etc
7) "just-in-time development" (custom term ), expand, write scripts without any need to rebuild/recompile/rerun application. Almost as WYSIWYG
What we already have:
1) working Auth Server
2) working Lobby Server
3) working Game server
Technologies we use:
* Scala The Scala Programming Language
* Maven Maven - Welcome to Apache Maven
* Akka Akka
* Slick Slick
* Logback Logback Home
FAQ:
1) why Scala, but Java, C#, C++, Go...
* vs Java - Scala is very powerful language, much more powerful then Java and much more flexible and useful then Java 8, without even mentioning Java 7-, plus full compatibility with all Java Libraries.
* vs Any - Akka, Slick work better/only with Scala
* vs C# - Scala can do anything C# has and even more (I'm not talking about Desktop Applications)
* vs C++ - you need even more human resources
* vs Go - language is too young, I as well as language is not ready to take such a huge responsibility
2) why open source
* open source project is the best place to study and implement your own ideas
* if you look on MMORPG development sphere you can see that Lineage II as well as Aion have huge history. You can without drought see that because of l2jserver and aionemu we have such a huge heritage. just look:
l2jserver -> l2jfree -> l2emu -> l2emu-rt -> l2...
-> Rebellion -> Phoenix -> Overworld ...
and
aionemu -> mir, aionengine, aionlighting
cool!, isn't it?
* every worker has a job because of projects mentioned above
* everyone (without dough) can contribute!
* open source projects often are leaving out of the competition any commercial projects
3) maybe a lot of fake teams may appear
this is true, this will probably happen, but look, where are they? where these "true" developers? you are right, they are eating rubbish...
4) what client do you use
we use latest Korean client
5) I don't have enough skills but I want to participate, what I can do?
truly everybody can have piece of work, you may play on Live server to collect data, how this or that works, you may analyze traffic, you may collect traffic dumps from Live servers, you may write different utils, you may help to test this or that, you may moderate tickets, you may suggest your ideas, you may analyze client and try to eject useful information, and in the end you can lift the team's morale! that is very important!