Flash, Draw Calls, Breaking Things... etc
We started our 3D game project on January 1st with the ambitious goal of making a 3D MMO in Flash, we knew there were going to be no end of challenges. Of course, here at Artix Entertainment, we are used to doing insane and impossible things and somehow magically getting the release out on time. So, when I say our goal is to release a Flash version of AQ3D prior to August 1st... the word impossible does come to mind. We expected to be in beta by the beginning of summer, but the development tools we were counting on to make it with did not physically exist until just two weeks ago. The port to Flash has not been a pretty one. All of our pixel shaders broke. Those were the things that made the game look pretty. The game ran at a blazing 60fps in Unity, but dropped down to under 9fps in Flash. We discovered the secret was reducing the number of "Draw Calls." Minimal brilliantly reduced the draw calls to under 200 for our massive forest scene... but to do this he wrote a mesh combiner that takes the entire Ravenspire zone and merges the mesh into a giant single one at runtime. While the game is now running at ~60fps in flash, it takes about 45 seconds for the game to merge the meshes. Which means, you wait for the 10 megabyte 3D map to download from the server, then you wait another 45 seconds for it to combine everything in the background. It could be worse. Here is how it gets worse. We still need to get weapon, helm, armor, and hair loading working in flash. Most of the things that were working in Unity no longer work. But we have a little over 2 weeks. Oh, and we need NPCs, a simple shop, and some basic combat would be nice. Maybe we can release both Unity and Flash versions of the game. Minimal got the multiplayer server supporting both... which means you could log in from Unity or Flash and play on the same server. Which is pretty cool. Imagine if we could get a mobile version working too. Playing the 3D MMO from iPhone, Android, IPad, or Web would be.... ok, we totally have to do this. Not in 2.5 weeks though. How about we get "most" of Flash working in 2.5 weeks? ... and if you have any magic. CAST IT OUR WAY!