Development of the Conquest! 2.0 user interface has begun in earnest (1.06.20 is the last 1.x release). For the initial release, we divided the game into certain key areas: kingdom, for managing keeps and taxes, and city, for purchasing goods and access to the church and the tavern. Other key aspects of the game, such as troop orders, subterfuge, and combat, had their own separate areas.
Here is the current main overview screen, which shows the six key areas:
Players click the various buttons, which open up new areas. The icons at the bottom popped up functions such as viewing your log, private messages, and the in-game chat.
There were 9 common areas for a player to move around (Overview, Kingdom, Fleet, City, Church, Tavern, Army, Subterfuge, Combat). While we accomplished our overall goal to compartmentalize the game into sections where like actions lived, it also introduced a navigation issue. For example, loading troops onto ships meant going from City, to Army, to Kingdom, to Fleet. We did add "jump" buttons to help but that was more of a bandaid as we could not add them everywhere.
We liked the overall structure, where like actions were grouped together, but we wanted to make it easier and more intuitive for players to move around. For 2.0 we grouped all functions around 2 areas: Kingdom and City. And we moved from "flat" buttons to a 3-D overview.
Actions are now grouped within buildings in your kingdom and the city. Clicking on a building with a label reveals a new side menu.
Players scroll around the map to view more buildings (and actions). All actions in the side menu are spelled out (vs. solely using icons). Instead of 11 screens there are now 2. Overall moving around the game is quicker, as the back and forth navigation has been reduced.
One interesting problem I discovered was after I added a certain number of prefabs to these new screens, the scroll speed of the map became unplayable. Using Unity's profiler, I discovered the CPU was thrashing on a task called "WaitingForJob" under the CanvasRenderer. I spent days on this issue, trying all of the suggestions. I was almost ready to chalk it up to a bug in Unity but by chance I tried one final suggestion: static game objects. From the official Unity manual:
Information about a Static (ie, non-moving) object can often be precomputed in the editor in the knowledge that it will not be invalidated by a change in the object’s position. For example, rendering can be optimised by combining several static objects into a single, large object known as a batch.
Once I set this option on most of my game objects, performance was restored. I don't know if this is a bug or not (I opened an issue with Unity) but I'm thrilled that 2.0 is back on track. Once the map and buildings for the city are complete, the new version will be released.
Finally, reducing the number of seasons by one had the desired effect of minimizing the time commitment required to play Conquest!. Jj conquered the Age in 18 days, which is about the right amount of time.
Sign up for the Conquest! mailing list here and follow the journey on Facebook or Twitter. Until next time, I hope to see you in the game.
James has been working on Conquest! since 1993.