I've spent the morning working on the issue where the client fails to update the UI. I added some debug messages to the server and discovered that the server is indeed disconnecting the client for not following the Conquest! protocol, which looks something like this:
However, when I had the client log the commands before sending the XML and terminator were intact. Even more strange, around 90% of the time the same command would report the issue ("Book"). This seems to indicate there is a sizing issue but after spending the morning on Google, I couldn't locate any solid leads.
At least I know, generally, what the issue is. I will resume debugging sometime this weekend.
In other news, I am starting to work on a sequence document, which will list all the different commands and paths through the game. Up until now, this has only existed in my head but it's time to put some of this on paper. I really don't like documentation...
I created a page specifically for the reviews. You can check it out here.
After a very relaxing week in Maui I returned to Conquest! to address several bugs involving the client and server (thanks to SeLTiC and MrEricScott for their efforts). Most notably, was a bug which broke the client if you changed classes. In addition to all the bug fixes, I managed to add a few new quality of life items. First up, the client side bugs:
This should help alliances stock enough troops to make them worthwhile. The troop type alliances give can also be changed by the leader.
Some "creature comforts" added to the client:
On April 4, 2015 DINOLION studios shot a promotional video for Conquest! The editing process is complete and it looks awesome! Check it out here. It is essentially a live action version of the introductory text used for Conquest! for as long as I can remember. Great stuff!
On the client and server front, I made several modifications the past couple of days. For the server, I changed the food production calculation. Now, peasants can farm 2 land each and if you have more peasants than land they can still contribute to your food production. I added a few more journal entries (traveling to the secret, antimagic, and magic cities and clues to the secret spell component). I also added support for level 7 quest characters.
For the client, I added a "Use Item" menu to the right click options and increased support for the vacation command. I also cleaned up some code; you won't notice anything on the front end, but it helps me sleep at night knowing I'm removing unnecessary code.
The last two days have seen quite a bit of activity. An "old" player, "SeLTiC", was testing what happens when a player is eliminated while playing. The client did not handle this well. At all. You received two popups and if you created a new player, your old stats were displayed. Yuck.
The issue was my lack of understanding when Form events are fired. I was initially used "Load", which is only called once, and then actually broke the client for new players when I switched to "Activates". Now I just call the function I want instead of relying on events and the experience is smoother.
On the new front, I added "Sell" to the rick click menu for market to quickly allow you to sell food and a "Transfer All" command to manage troop movements better. The server supported this, I just got around to adding it to the client. Finally, I added a configuration file ("conquest.settings") to store the last used username/password and server/port. Another good suggestion by SeLTiC.
Feedback from MrEricScott also yielded two new pages to help the new player experience. Conquest! has always had a bit of a learning curve and these new pages address that by providing step by step instructions (with images) of what to do when you first land in the game. Thanks to MrEricScott for these!
In testing with "MrEricScott", a chicken/egg problem was discovered. Once all the land has been claimed, by attacking the hordes, how does a newplayer go about getting land? With only 1 Keep, it will be difficult to find targets who have land and who you can beat in combat.
Enter "Forgery", which allows you to take a small amount of land (25-100) from another player, at the cost of an attack (only if successful). In this way, you can steal land from other players and build up your army. Since this is new, testing will have to ensure it is balanced.
Check it out in the new client released today.
The login screen no longer automatically pulls the list of lieges to newplayer under. I did this in case a player wanted to connect to a different game server. Might be kind of silly since there is only one game server right now...
Anyway, to refresh the list hit the "crown" button next to the dropdown to pull in the list.
If I'm not tinkering on the client, I feel like I should be. So I decided to change out the background (looks more scroll-y) and move the "World Events" and "Forums" link to the menus. What do you think?!?
James has been working on Conquest! since 1993.