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

Removing the superfluous

4/18/2025

0 Comments

 
When Conquest! was solely a text based game, it made sense to send players all the proper names for all the objects in the game (e.g., troop names, ship configurations, magical items, etc.). For example, when sending kingdom details, the server would send something like this:

 { "Id": "4174", "Body": [ "168 Move", "34 Grove", "4357845 Gold", "180" ] }

The "Move", "Gold", and "Grove" text descriptions are fine for a text client but they were being discarded by the GUI! This meant lots of unnecessary data being sent to the client. I decided to finally address this situation, similar to the effort last year for troops and reports (you can read the blurb here).

Some of the information, for example the names of magical items, still needs to be visible in the client. If it isn't sent every update, how should the client get this information? I thought of three options:
  1. Hard code the values in the client. It's true these values rarely change  but I didn't like how this option made me feel. :)
  2. Push the values once on client startup. This was the option I was leaning towards but it still meant lots of unnecessary traffic.
  3. Store the values in JSON files and update when necessary.

I ended up going with option three and adding three additional JSON files to the client: magical components, magical items, and ships. These files are retrieved  when they don't exist or when the server instructs the client to update them. In this way I get the best outcome: data is sent once and only updated when required.

This conversion ended up breaking all previous clients, since I didn't build in a way for the server to send the data the old clients needed. The game was still playable, but items and ships couldn't be viewed or utilized (not a great experience). Live and learn I suppose.

Until next time!
0 Comments



Leave a Reply.

    Author

    James has been working on Conquest! since 1993.

    Archives

    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