Tip of the Iceberg
I have come to realise that Adventure Quest 3D is a massive game. I say this from a game developer's perspective. When I joined the company I knew the game is a big game, it's an MMO after all. The game has a lot of moving pieces and a lot of features. But I grossly underestimated it.
I'm still shocked at the number of maps, items, monsters, features, events that this game offers. I couldn't wrap my head around this, I was utterly in awe when I started seeing all the features in this game. I was confused, to say the least. "How in the world is this game running with about 5 dedicated programmers?!"
As I have been working at Artix Entertainment for 8 months now, and I have the answer to that question. Well, two words, talent and passion.
Let's look at "talent". When I say talent I mean the writers of the codebase. This is no ordinary project. There are mechanics in place to expedite the process of implementing a gameplay feature, making new maps, managing the server and everything related to game development. When you work in this codebase, it feels like it was written keeping the future in mind. We are encouraged by our technical lead to write code that is future proof and expandable. The technical team does exactly that, we write code that is modular, easily expandable and has the least points of failure.
These game development mechanics and futurist mentality are the key reasons that the team can bear the load of this extensive game.
Let me give some example of these mechanics and features that allow us to support the game with a fast-paced weekly release schedule.
1) The game has 5000+ items, 2000+ NPCs and 750+ maps. We can't put all of this data in the app binary. If we were to do this, we would make the game more than 2 GBs, and since this is a cross-platform game we can't afford to do that. So the game actually repurposes the Unity's AssetBundle system to pull all of the items, maps and NPCs dynamically. Allowing for smaller app size and only downloading data that is neccesary.
2) Since this game is cross-platform, we would have to make all items 4 times. For that, we have a "Cloud-Build" system that makes the items for all 4 platforms and uploads them to the right destination.
3) We have a visual programming language inside our project that allows the Content team to have creative control and make maps that are more than just environments and can make an experience.
4) Having programmability in the maps also allow us to make changes to the maps without having to update the application every time. So the content team can make changes without it affecting the technical side.
Those were just a few examples of the vast modular features we have in place to support this game with a few programmers.
Moving to "passion". Everybody who is working on this game is giving it everything they have because they are genuinely passionate about what they create. This yields a situation where everything that is created by the team exceeds expectations and it feels like a huge team is working on it. Everyone is trying to improve themselves and that truly reflects in the work that is produced.
I really hope this shows game developers and the players of AQ3D that how a small team is developing and maintaining such a massive game.