AQ2D
Artix Krieger | Saturday, January 7, 2023
Here is the latest news on the Phone, Tablet, and Steam re-creation of AdventureQuest Worlds: Mobile.
We applied to two game conventions. They are both taking place in March. Our goal is to demo and promote AQWorlds: Unity at these conventions. It is not far away. So we are now in a dire sprint to get this version of the game ready for showtime.
With all of the typical holiday chaos in the rear view mirror, our team is back at full strength. Much to the relief of this game project's dedicated coders.
Warlic & Yorumi have been working on the new game's client, server, and conversion tools for a few years now. Warlic also created and maintains the Artix Game Launcher. He was also instrumental in creating AdventureQuest 3D's cloud builder farm. Yorumi has been working 100% on AQ2D since the project began, handing over the existing AdventureQuest Worlds game server, database, and admin tools to Captain Rhubarb. Tunik joined the crew a year or so ago to code the user interface, cutscenes, and NPC pop ups.
In addition to those dedicated coders, there are also other people working on the project. This includes Spider, who has worked on nearly every one of our games over the past year. He joined this project to contribute to combat and to help bring over other features from the web version of the game. There is also our server and database administrator, Captain Rhubarb. He maintains our entire game network. (Captain Rhubarb and Spider remain the two programmers on the existing AdventureQuest Worlds, as well.) For AQWorlds:Mobile he has been creating the web tools the team uses to edit the game.
Overseeing the project (and all of the Artix Entertainment's video game coders) is Zhoom. You may already know that Zhoom wrote the code for nearly all of our existing games. Over the past few years his role has been changing. Instead of writing all of the vital code, he has been mentoring and transferring his knowledge with the start coders in the team. Roughly half time is currently spent working with AdventureQuest Worlds: Unity team.
The programming team's primary goal is recreating the feel and functionality of AdventureQuest Worlds. A close second is making parts of it even better. For example: the smooth 60+ frames per second speed and the freedom of keyboard ("WASD") movement. This project has been going on for a looooong time. (As if I had to tell you that.) You also probably know that converting our game is waaaaaaay harder than just creating a new one. We spent the last few years trying every possible solution to convert our 10,000+ game assets. This includes reaching out to players who were tinkering with possible solutions too. In the end, all of the time and energy we invested in building experimental conversion tools was worth it. We have tools to accomplish what we need for this project. The tools keep improving. You can read about their progress below.
We have covered the topic of convert Flash art and animations a few times in the past. Thought a quick recap of our largest challenge would be useful here. The existing AQWorlds was created using Flash and Actionscript 3.0. Flash uses vector art... which means it made from lines and fills using math. In the early days, our armors were quite simple. However, over time we added advanced things like color customization, blend modes, animation, custom and logic. Also, individual items in AQWorlds are free to be any size or shape. Every week our talented artists create tons of magnificent looking items, many of them achieve their looks by stacking layers and layers of these advanced things on top of each other. This is also why the game lags so much. Also, the way artists have created these files over the past decade have been... very inconsistent. We are currently re-building the game in Unity. The new version of the game is faster because it does not use line art, it uses pictures... aka raster art or bitmap graphics. The GPU (graphics processing unity) of your computer or mobile device does not work with vector art. So we need to assemble your entire character, apply the custom colors, flatten it down onto a texture atlas, and send it to the GPU for the game to work. This is a pretty standard pipeline for customizable characters in modern games. The trick, is exporting those crazy weird armors from AQWorlds and putting them into a format that we can load and correctly re-assemble in Unity.
The new armor exporter is mostly done. With thousands and thousands of armors in game, creating the best way to convert them is vital. There are 3 different tools required to convert an armor.
First is the armor exporter which exports the pieces. It exports bitmaps of all the pieces and if the armor is color customizable, it does its best to get the masks right. But it is not perfect.
Second is a masker tool which helps refine the masks for color customization. It would be easier to explain it by showing it in action, but it allows you to edit the mask by comparing the layers and tweaking the layers until it is right.
Third is the mask finalizer tool which ensures that the masks are 100% properly filled with the proper mask colors. Tool #3 needs to be run regardless. Once the three tools have been run, you now have all of the bitmaps, pivot point data, and masks.
Then you pull it into Unity. There is a special Unity project which takes the pieces and combines it into an Asset Bundle.
While this sounds like a lot of work, it is WAAAAY more easy than our previous processes. The old process required doing everything manually. The new system makes it possible to convert a "reasonable" armor in about 10 minutes. The exporter does not export any animation however. This is a problem because many of the original game's armors have special animation embedded in them. Any animation added to armors will have to be manually re-done custom by hand. It is uncertain how we will be able to do this on so many thousands of armors.
There are 572 hairs from the existing AdventureQuest Worlds that need converted. Because they all require masking, manual intervention is required for each.
There are thousands more helms than hairs. Spider will be tweaking the armor exporter to work with helms. Helms have an extra level of complexity. This is because helms may contain hair-- which are color customized separately.
The cloud builder is a group of computers at the lab which takes the AQ2D:Unity files and exports them for each platform. Each computer is dedicated to a different platform: PC, Mac, Android, Apple iOS, etc. Warlic built the cloud builder for maps and it is currently working. The NPC project is next.
Monsters now drop loot that you can click on or walk over to pick up. They currently look like little bags, but will be changed to reflect the type and quality of whatever dropped. Once picked up they fly up the screen and go into a temporary loot bog. You can open it and choose to keep or throw away your new loot. If you log out, you will not lose these items. If you close the game and re-log back in, your loot will still be in your temporary loot box. There was a bug this week that caused stacks of an item to reset down to just 1. This has been fixed.
We really miss Flash. It made doing everything from cutscenes to interactive experiences super easy compared to what we need to do now. We have two types of cutscenes in the new AQWorlds:Unity...
"Dialog Cutscenes"
The first we call "Dialog Cutscenes". These would best be described as "talking heads" or "visual novel" style cutscenes. The existing AQWorlds does not support anything like this. All of the cutscenes inside the existing AQWorlds are done by hand in Flash. That means, someone literally places every speech bubble and writes the text in them. In the new version of the game, we have a much better solution. Our dialog cutscenes, which we have talked about a lot in previous posts uses a "Dialog Cutscene Editor" that Tunik created. Everything is saved to the database. Which is great, because it means it will be possible to translate the game to multiple languages in the future. This would be virtually impossible to accomplish in the existing web version of the game. Also, these dialog cutscenes load characters, monsters, npcs, and backgrounds into them. They are super efficient in terms of space. While we can do a lot with this, AQWorlds is well known for its crazy cutscenes. To replicate the full blown animation in the existing game, we need a second type of cutscene...
Cinematics
We refer to the second type of cutscene as "Cinematics". These play more like videos with your character dynamically inserted into it. For example, when we remake that cutscene where you steal Chaos Lord Vath's Dragon and fly off... it will use a cinematic cutscene. These cinematics also need the ability to allow you to make choices, show translatable text, and some of the other things the existing version of the game effortlessly does. Again, we were really spoiled with Flash. It was easy to do these types of things in Flash, because that was literally was Flash was designed to do. Replicating this system in Unity requires a requires a lot of rigid structure, and pre-planning. Tunik and Warlic are currently creating a separate project just for cutscenes. It is going to be a real pain for animators. (Sorry Ghost!)
AdventureQuest Worlds: Unity is our highest priority of 2023. Upon announcing to the team that we had applied for two conventions in March, the pressure was instantly on. Sorta like we we trained for those Mud Run challenges, or took AdventureQuest 3D to GDC, there is nothing like having an un-moveable event to bring out everyone's A-Game. I spent the entire day playing AQWorlds:Unity... and by playing, I really mean breaking it in every way possible. Warlic swears that my computer death touch is a real thing. Once the game survives me, it will finally be ready for the rest of the team to check out, and then to bring on testers. On the topic of testers... as mentioned in several posts before, the plan is to get the core game client and server complete, and when it is time to mass convert assets we will launch a Kickstarter.
This is our biggest and most important project.
Thank you for reading this and following our progress! I am looking forward to the day that I am sitting on my couch, logged into AQWorlds:Unity on my phone, chatting with you in Yulgar's Inn. Please go easy on the team. They are working as hard and fast as they can to launch this game for you. I will continue making these transparent progress posts letting you know exactly where we are at.
Battle on!
Artix
P.S. I can post more often if I do much smaller posts like I used to write for DragonFable, MechQuest, AQWorlds, and early AdventureQuest 3D. One hurdle is that these posts all require an image, and while we are working on the same area over and over there is not much visually different to show. So at midnight last night I made a ton of pictures like the one used for this post and uploaded them. I will just choose one at random when making the smaller text posts.
P.P.S. Is there anything specific you would like to know about AQWorlds:Unity? Let me know on Twitter.