Going Open Source
Why?
> Several reasons. The main reason is to become a boilerplate for prospective game developers to easily test and execute their ideas. To let players see what's behind the hood and learn from the experience.
The Dream
> If you read /r/MMORPG on Reddit, the discussions have a clear pattern. There are groups of players with different needs and expectations. Due to the hefty time/energy/money requirements of developing an MMORPG, developers usually can't meet their needs. There's no opportunity to just try new things. Most MMORPG's hit once and miss. Smart ones seem to crowdfund.
> By almost eliminating the entry barrier to MMORPG development, I hope to give birth to the PUBG of MMORPG's. Where indie developers start by modifying Adventure Land's Code to implement their ideas, unique dynamics and mechanics. Create a working formula. Get investment, make money, crowdfund, develop their idea from scratch and come up with an MMORPG that works.
Some Examples
> Adventure Land has a Hardcore mode, the drops/XP rewards are astronomical, the PVP is brutal. Hardcore servers run only for a day. The resulting gameplay is more engaging, less afk and extremely competitive. I sometimes wonder whether the actual gameplay should be like this too. But, as it is, Adventure Land is at a point of no return too. After a certain point in an MMORPG's life, it's impossible to make such drastic changes.
>As a roguelike enthusiast. I always dream of adding roguelike elements to the game. Maybe a dungeon, or a repeatable quest with randomised steps and outcomes. Considering all the effort thats needed to make it meaningful and balanced, these ideas never develop. But starting from scratch, and investing 2-3 months, it's very possible to actually develop a unique and online roguelike game. For example a roguelike that's played with a party of 4.
The Technology
>Adventure Land has been developed completely from scratch, even the map editor is a custom in-house one. The backend uses App Engine with Python, it's completely auto scalable. The code is simple and robust. Characters are saved, synced and loaded from the backend. All account operations are on the backend.
>For game servers, Node, Javascript and Socket.io is used. Everything is custom and as simple as possible. Being Javascript, the coding style might not be everyone's cup of tea, yet, anyone with a slight knowledge of Javascript can easily understand what's what and quickly find stuff. For example, the code to buy things is on the `socket.on('buy',function(){})` handler.
>Using Node and Javascript has enormous advantages, since there is no parallelism, coding is easy and there are no loopholes produced from parallel execution scenarios. However, it also caps the size of a single server. With a game like Adventure Land, it can become a feature rather than a bug. As servers can just grow in number such as Europas I, II, III and so on. It would be possible to extend Adventure Land to use multiple servers for a single game world, however, there's no reason to do so, it's best to keep things as simple as possible.
>On the Client side of things, Adventure Land uses PIXI to draw things, no game engine is used and everything is as low level as possible. Animating characters, rendered weapons and attack animations is a dream for Adventure Land 2. However if a group of developers invested 3-4 months onto the current codebase, it would truly enhance the gameplay and make the resulting product much more monetizable.
>The game clients use Electron and each has unique integrations. I have plans to develop a Hardcore/Short-lived mobile version too. All of these and the documentations around the game clients will be open sourced too.
Assets, Data and Licensing
>Adventure Land has unique/in-house assets, purchased assets and derivatives. When the game is open sourced, it will also be possible to download and copy all the game data, for example the maps. Developers will also have the opportunity to release the game as a sub-entity of Adventure Land. For example, Adventure Land: The Reckoning. This way, if a developer doesn't have the resources to track/purchase all the assets individually, it will be possible to release the game commercially as it will technically be owned by Adventure Land. However it's best to just start from scratch and create everything in-house if possible. It's something I dreamed of but couldn't achieve.
Commercial, Light Licensing
> While the details aren't set yet, the game will be open sourced with a custom commercial license. It will be free to use for non-commercial usages. For example to create a local instance/server at home. For commercial derivatives, there will be an expectancy to receive 12.5% from gross income. However, if the game succeeds and gets written from scratch (like pubg growing out of arma) the commercial license won't apply to the new entity. I believe 12.5% is a fair % that developers would be willing to pay. I also plan to promote each derivative from the main game. (It's a dream at this point, hoping it becomes a reality)