Minecraft Sword Art Online
My love for anime and especially Sword Art Online has led me to join the Minecraft Sword Art Online community as builder (Game world) and developer. Initially, I joined as the second developer in the group. He worked with SVN to maintain the project’s code. After several months the other developer decided to leave the project.
The first thing I decided to do was to migrate the project from SVN to GIT. I have had a better experience with GIT in group environments. As I expect people to come and leave on this project, I considered GIT the better option. Later on I decided that working in the Minecraft half deobfuscated source code was just too painful to continue. So I coined with project owners to start a standalone version.
As we had several devs for a short time, I discovered that it was a pain to explain how to get the project running. So I started looking into dependency management tools and eventually settled down with Gradle. Gradle made it very easy to setup the project and create clean configurations. The only issue I had was the integration with eclipse and the unpacking of natives for the OpenGL library. The extensibility of Gradle allowed me to use a plugin for unpacking, and with a little code I could extend the eclipse workspace generation to include the natives.
As I was one of the oldest members and on good terms with the project owner, I have been “promoted” to Lead Developer of the standalone project. As well a semi-owner of the project itself. At the time our old host of the MCSAO game world server suddenly disappeared and revoked access to backups. As I have a server at home I offered to use my server as the game world doesn’t have high-load. My server also hosts the GIT repository and the media sharing system: Owncloud.
In this project, I learned how to use modern versions of OpenGL and render complex 3D scenes efficiently. Also, I’ve learned a great deal about project management with this project.