The focus of the past few weeks of work on the client have been twofold: continued cleanup and preview requests.
After overhauling the help, which included adding pictures and improved formatting for the text, there were some typos and inconsistencies which needed to be fixed. Based on feedback, I also expanded some of the messages displayed when the tutorial is active. I will also be adding a button to get back to the tutorial screen at any time (right now it is only accessible once). Additionally, I started soliciting requests for Conquest! to be previewed. As part of this process, I enlisted help from several members of the Core Labs accelerator program to comment on the viability of the game and to help me craft a concise message. The next item on my To-Do list is to update the manuals available on the web site. These were thrown together a while back and need to be tightened up and expanded to make them useful. I'll begin this process by looking around for similar online manuals to see what worked (and possibly what didn't). I re-learned a painful lesson in QA this week, as I released a build without thoroughly testing everything and managed to break the tutorial. At least we are still in Beta. On the server side, I re-balanced some of the troop types, corrected a few bugs, and make two major changes regarding the breakdown of casualties during battles: first, incoming casualties are spread amongst armies based on the ratio of that army's side to the total fighting. For example, if you have two armies fighting for you and one has 700 troops and the other 300, the larger one will absorb 70% of the casualties. Similarly, when individual troops take casualties the damage will be spread based on the ratio of the troops in that current rank. So if you have 70 Knights and 30 Soldiers in one rank, the Knights will absorb 70% of the damage. Prior to this change casualties were divided evenly, which didn't make a lot of sense. I also rebalanced the Ranger class to have food spoilage and reduced the effects of tax rates on food production and birth/death rates. Follow the journey on Facebook or Twitter. Until next time, I hope to see you in the game.
0 Comments
This week, I worked on getting an iOS build of Conquest!. I was putting it off until now because I knew there would be some challenges. But I had no idea how difficult the process would be in comparison to building for Android (or even a Mac).
My first stop was Apple's web site, where I paid the $99 to become an iOS app developer (yay!). Building for Android, PC, and even the Mac platform is free. But at least it is good for a year. My next hurdle was lack of a Mac computer. Apple requires a Mac to compile, sign, and publish iOS builds. Ironically, I can build Mac versions of Conquest! on my Windows PC without this requirement... After some research online, I rented a Mac from MacInCloud.com. They offered a 24 hour trial period for $.99 and 3 hours of Mac time per day for $20/month. Perfect! I was able to sign up and RDP into my Mac within a few minutes. When you build for iOS in Unity, it creates an XCODE project, which I had to transfer to my Mac via Dropdown. I created a zip file for the build and noticed it was 500MB, which took several minutes to upload. Since I was in full test mode I didn't want to wait for long upload times so I did a little digging into the project Unity created. It turns out, that Unity uses IL2CPP as its scripting backend for 64-bit builds (iOS version 8+) and this includes a 1GB library file. Furthermore, I noticed the date/time did not change in between builds, so it seemed like this was just being copied over from a different location. So, I removed this library file from the zip (which dropped to < 90MB) and copied the file back once the project was loaded to Dropbox. As I suspected, it built fine so I could upload the project without long wait times. Next, I had to request and generate a certificate and create a provisioning profile for the Conquest! app. The Unity web site has some great instructions and with those instructions and Apple's, this turned out to be the least painful part of the process. After building the project on "my" Mac, I generated an Archive and uploaded the file to the Apple's web site. It should also be noted that the entire process is tightly coupled with your iTunes account. Apple takes ~15-30 minutes to process each upload. After that time, it is available for internal testers (I seemed to be limited to just one of these). The build is also being reviewed for Beta, which took 1-4 hours each build. This step is crucial because you cannot distribute to external testers until the Beta build is approved. To Beta test an iOS application, one must install Apple's "TestFlight" app. After installing that application, I was able to download Conquest! onto my iPhone 5s and run it. Whew! I could not figure out a way to share a link to Conquest! in TestFlight; it appears email distribution is the only way. One nice feature is Apple will notify users when a new build is available. Going into the TestFlight app on your device allows you to download the upgrade. Unfortunately, I'm not completely out of the woods yet. Apple has reported that Conquest! is over the 100MB download limit. After doing some research, I decided to opt out of a Universal app and only build for iOS 8+ 64 bit devices. This cut over 100MB out of the size. Furthermore, I discovered that textures in Unity are only compressed when in the dimensions are a power of two (POT) i.e. 512x512, 1024x1024, etc. This warning message is displayed but I never paid much attention to the size of my build since the Android one was ~80MB. Krees and I worked to make all the backgrounds a POT and this reduced the build size by 12MB. Even with these changes, Conquest! is still ~15MB over. There are more textures we are fixing, which should bring us under the limit. Otherwise I'll have to start removing music. The other major news this week was an overhaul of certain screens in Unity to make them more platform independent. This was accomplished by working with the anchors on each panel. It took ~8 hours but now Conquest! is playable on almost any device (I still have some work to do for iPads). Finally, I decided on a general release date for Conquest!: June 1st. This should give me time to finish the remaining cleanup items and allow for plenty of Beta time. This week in the Core Labs Accelerator program, we learned about successful marketing and PR strategies. Definitely something I've always needed help with! One important milestone is Conquest! surpassed 100 players for the first time in 10 years. A big "thank you" to all the Beta players. Overall, this has been a great week! Follow the journey on Facebook or Twitter. Until next time, I hope to see you in the game. After ~8 months of development, the Conquest! mobile client has finally entered beta! What started as an email from an IRC player ("Hey, wouldn't it be great if Conquest! went mobile...") is now a fully functioning Unity based client! Woot! This is an important milestone and it would not be possible without the following people: Krisztián Juhász (art and graphical design guru), my understanding wife Amy, and the following folks who offered encouragement, suggestions, and motivation: Steffon Scott, Eric Scott, John Bergin There is still much work to do as we shift from building features to working on usability. As it stands right now, the client has some major issues in that area. Conquest! is a complex game with many features and it is easy to get lost or stuck asking "Now What?". Part of this stems from poor marketing; Conquest! is not a single player game with a multi-player option. It is a multiplayer game only. The NPCs in the game do not attack and are only generated "upon request". Finally, getting the word out and finding people who will stick with it (warts and all) is challenging. I'm still targeting a summer release but it will be a busy spring to get the client ready. Some new items this week include a redesign of the Move Units pop-up, based on beta feedback. Instead of using input boxes we are now using sliders to move troops: Blue represents the amount of troops in the defense army, red (not shown) the amount in the attacking or campaign army. The two buttons at the top allow for troops to be moved en masse from one army to the other. Another major project, which took ~8 hours, was going through all the Unity pre-fabs in the game and making sure they are all aligned and positioned the same. I have always used pre-fabs to build UI elements (i.e. I've never instantiated them via code). This is great for a WYSIWYG building experience but means that this validation was quite time consuming (I rarely position items at runtime and there is very little animation in Conquest!). I also added tips in several more locations to help navigate the world and learn how to play. Another new feature was adding a filter to the player journal: The player journal logs milestones of your journey and can grow to multiple pages. The filter allows you to quickly find just what you are looking for (such as artifact locations or heroes).
Finally, Krees and I completed development by adding support for town ownership. I consider this feature "controversial" as it will be difficult to balance. The concept is that once players reach the maximum level for their class, they can purchase a city. This allows them to alter prices, open and close the markets, and even change the name. It has the potential to allow owners to quickly amass large amounts of gold and troops, which could be unbalancing. We will have to keep an eye on this one. On the server side, the main change was ensuring the signature commands, which used to expire at the top of the next hour regardless of when they were activated, last the full hour. I also continued to shorten messages so they were easier to consume on a mobile client. In our last two Core Labs sessions we discussed making good game pitches (to publishers or investors) and predicting and taking advantage of future trends. Follow the journey on Facebook or Twitter. Until next time, I hope to see you in the game. |
AuthorJames has been working on Conquest! since 1993. Archives
June 2024
Categories |