Conquest! - Free Real-Time Strategy Game
  • Home
  • Start Playing
  • How to Play
  • About
    • Development Blog
    • History
    • Press Kit
    • Server Change Log
    • World Events
  • Login Help
  • Contact Us
  • Privacy Policy

An Enhancement 20+ Years in the Making

8/13/2016

1 Comment

 
A major improvement was made to the Conquest! server this week.  In order to understand it, first a minor history lesson.
Conquest! has always had the concept of a single winner of an Age.  In the past, this was the player who made it to king ten times without dying.  This usually took a player 30-45 calendar days, depending on the level of competition.
For the mobile version, the game was modified so that land was fixed and the victory condition was changed to the first player who controlled a percentage of the total land (current 15%).
When an Age ends, all players are reset, heroes and artifact locations are changed, a new secret city name is chosen, and a few variables (such as the current Age) were updated.  The mobile version of the server works the same, except players are automatically carried over.  In the past, everyone had to recreate their player, including all settings.
Restarting an age was a manual process.  Since Ages used to take so long and the level of effort was relatively low (15-30 minutes) I didn't have automating the Age restart as a high priority.  Until recently.
For the first time since Conquest! started (circa 1993), Age restarts are now fully automated.  The process took a day to implement (and another to fully debug) but it works great.  Once a player amasses enough land, they are made Titan (a special class reserved for Age winners) and an announcement is made that a new Age will be starting soon.  Email alerts for those who have signed up are also sent.
Thirty minutes later, the server initiates the new Age code.  Files are closed and backed up to an "ages" directory.  Cities and continents are reset and players who survived the old Age and recreated in the new.
One of the most challenging aspects was the random generation of names for heroes and the secret city; I already had code to generate locations of artifacts.  I had never written a random name generator and searching around yielded little in the way of an actual algorithm I could use.  Some were simple, such as randomly combining consonants and vowels.  Others were much more sophisticated, where probabilities were established that one letter would follow another.  But I didn't really like either approach.
In the end, I simply created a "dictionary" of word combinations and then randomly put them together.  In my tests, they came out well.  For some reason I thought this was going to be easier than it was.
Now that no human intervention is required, the game is effectively self-running.  As long as the machine stays up (and the game doesn't crash for another reason!) it could run indefinitely (in theory!).  While this process is invisible to the players, it is a huge quality of life improvement for me.
An improvement for the players next Age that is being discussed is the removal of a game season.  Seasons currently happen 5x per day and grant movement points, attacks, food and gold production, etc.  This gives players more to do but also means a greater time commitment.  By reducing the seasons, and lowering the victory condition to 12%, I'm hoping to make it easier to get into the game without sacrificing real life responsibilities.  I'll report back after the 5th Age ends.
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.​​​​​
1 Comment

    Author

    James has been working on Conquest! since 1993.

    Archives

    May 2025
    April 2025
    December 2024
    June 2024
    December 2023
    August 2023
    September 2022
    July 2022
    October 2021
    September 2021
    April 2021
    September 2020
    February 2017
    December 2016
    October 2016
    September 2016
    August 2016
    July 2016
    May 2016
    April 2016
    March 2016
    February 2016
    January 2016
    December 2015
    November 2015
    October 2015
    September 2015
    August 2015
    July 2015
    June 2015
    May 2015

    Categories

    All

    RSS Feed

Copyright 2025 GreenLion Gaming All Rights Reserved
  • Home
  • Start Playing
  • How to Play
  • About
    • Development Blog
    • History
    • Press Kit
    • Server Change Log
    • World Events
  • Login Help
  • Contact Us
  • Privacy Policy