The revitalization update

This is a significant update.
It will start by being available on the Tester branch only, for a few days until its ready to be applied on the default branch.
Also note that the only official server running on the Tester branch is the Official Test Server 1. You’re welcome to join it to try the new update before its applied to the public branch!

I hope this update will be a good step towards convincing more players that joining older servers can be a viable option rather than seeking primitive tribes exclusively. The lifespan of players is lower than the one of the servers, thus its critical to get a successful system of late-game starts to prevent the servers decay around bronze age.

Improved advanced starts
This update focuses mainly on improving the late-game starting conditions, with many new features. The goal is to allow for “stale” servers to regenerate by convincing more players to join ongoing games and by cleaning up useless abandoned settlements. 

  • New players now receive the best available starts matching their selection rather than a fully random one. To achieve this, each start is now assigned an internal value assessing the quality of a region based on its buildings, population, techs, and natural resources. The best available value is also displayed when creating a new character, next to the number of available starts.
  • Servers now provide a global start bonus based on the server’s age and lack of active characters. The older and more depopulated, the higher the bonus for new players joining. This bonus is also displayed on the persistent server list. The goal of this bonus is to incentivize the repopulation of abandonned servers. This bonus affects starting resources, money, techs and population.
  • Starting techs are improved and inherited from the average of nearby characters
  • Starting resources are improved to prevent being immediately blocked and being unable to do anything.
  • Government policies are now automatically reset to prevent confusion, and matching the development level of the inherited territory.
  • Starting players now receive automatic knowledge-storage buildings (libraries) to match their current knowledges so that they dont start in negative capacity unable to research new techs. A new ‘stone age’ storage was also added, employing oldpigs, and providing a basic way to expand knowledge capacity even before writting, to prevent tech deadlocks.
  • Starting players also receive automatic warehouses -when possible- to avoid stocks overflowing from the new resources. Excess resources from the inherited territory are also auto-cleared (ex an inactive territory with 2000 of mud and little of everything else ).
  • Diplomacy is automatically cleaned up for new players: all treaties and wars with inactives characters are cleared, to reduce confusion.
  • Regions and nation decay was added: besides new players starting on the best available starts, the bottom ones now also decay and get auto-abandoned thus clearing the map of all the useless and worthless abandoned settlements. In the same way, abandoned Nations can now decay if its leader remains inactive for too long: if that happens, every other inactive character  in the nation will auto-leave, causing the nation to explode. This clears the score board and also ensures that each nation character becomes in turn eligible as a starting point for new players, completing the regeneration of the server.

Networking update
As mentioned in a previous post, this update also contains a significant networking update to improve connection stability and circumvent issues with the engine’s networking that i unfortunately have no control over. 
This update should improve problems of infinite loading times and random “ping timeouts”, especially for players encountering those unusually often of for big players unable to keep playing because they couldn’t load their character or cities anymore.
However I can’t guarantee it to fully fix it as the root of the problem is still there and cannot be directly fixed.
Because its a significant reorganization it might also generate new bugs in the short term, but overall it should greatly improve the quality of life for people having constant disconnections in online multiplayer.
This update should also fix or reduce the problem of the game losing connection when minimized or out of focus (unconfirmed).

Hardware survey and Linux
I’ve replaced the infamous hardware survey by a different better method that should be less likely to trigger AV programs, and less likely to be blocked from executing and to therefore cause the “hardware survey failed” error when starting the game.
This  also restores the game’s Linux compatibility (through wine), as these scripts were not compatible with it.

The new primitive ‘knowledge storage’ building, to avoid tech deadlocks.

 

The revitalization update
v0.1.3.x
– added start bonus factor affecting all advanced starts and proportional to the server’s runtime and need for new players.
– auto-setting policies when new character spawns in an advanced start
– added auto spawning of libraries for new characters to match knowledge capacity with current inherited knowledges
– improved procedurally given knowledges at aspawn to better match the inherited city and game stage
– added auto cease-fire and ending treaties with all other inactive characters , when starting as a successor.
– best spawn value matching settings is now displayed in the create character menu, and best type is selected by default
– fixed problem of enemy armies on empty cities being incorrectly considered as the attacker when engaged, causing battle AI issues
– added Nation decay, triggered when the nation leader remains inactive for 1.5x the max inactivity time.
– fixed ruins not being visible in region view
– added auto-abandonning of the least valuable cities of inactives and rebels, based on the average value of all other existing cities.
– fixed rebel cities remaining in “occupied” status when owned by rebels.
– fixed problem of state ownership of resources put for sale in markets.
– reorganized the data of the building AI prototype, to prepare for future improvements.
– improved anti-cheating (still passive).
– improved hardware survey at startup and restored Linux compatibility (through wine).
– added new primitive knowledge storage building: elder’s circle.
– added capacity for buildings to employ oldpigs or sows.
– improved network stability when under strain to prevent loading failures and ping timeouts
– data transfers from client to server now operate on a different socket that can auto-reconnect when failing.
– potentially fixed minimized game causing connection losses.
– improved networking debug diagnostic tools
– improved connection process
– improved ping loop process
– improved data instances transfer
– fixed crash from placing roads on bottom left corner tile
– clearing all events from previous player when spawning as a succession.
– added a ‘value’ measurement of regions and spawns so that new players start in the best available ones in priority, to improve the quality of starting late-game.
– colonies belonging to an inactive character ar 50% less valuable for spawn
– spawns in multi-player nations are more valuables
– succession starts of subjugated characters are much less valuable
– succession starts of characters with an inactive superior are less valuable
– natural resources increase the value of a spawn (except for primitve tribes)

The animated update

This update is mostly about adding new building animations -and sounds- to add more life to cities and buildings.

It fixes also issues related to windwheel and waterwheel annexes.

 

The animated update
v0.1.2.x
– added many new building animations
– added new building sounds
– fixed display issues with windwheels and waterwheels
– fixed annex number limit not working (ex windwheels)
– docks required depth reduced to 2 for all docks
– fixed UI issues with autocomplete (ex resource names in trading tab)
– fixed claim action being available to adjascent to outposts
– fixed problem allowing walls to be built in water
– state resources distributed to population no longer generate income if unsold -> now considering sold amount and not distrib amount.
– fixed UI issue in servers lobby with server side pannel beeing beneath server list.
– Fixed a battlecode error

 

The improved subjugation update

Subjugation improvements
This update mainly improves and re-balances things related to subjugation in multiplayer, fixing exploits and abusive behaviors.

Subjugated characters now get assigned a special ranked that cannot be modified by the nation owners, with fixed tax rate. The taxation from the subjugation treaty has also been removed. 
This insures a fair taxation of the subjugated player, as before in most cases subjugated players where assigned a rank with max taxes additionally to the subjugation treaty, resulting in 45% tax rate from which made it impossible to keep playing.

Subjugates characters also can’t be placed beneath one another anymore, preventing nation owners to exploit the rank system.
Indeed, when vassalizing a group of players it is no longer possible to circumvent the state power maintenance costs by putting all the vassals under a single ‘buffer’ one -which also meant condemning him to death as well.

For the same reason, it is also no longer possible to use “inactives” as buffers to avoid paying the nation’s state power maintenance costs. Inacitves are now totally ignored and all their own subordinates will act as direct subordinates to the character above them.

“join nation” treaties are also automatically ended when a character is no longer part of the nation, and all national armies are reset when subjugated – as this allowed for exploits too.

Anti-cheating
Besides these, this update focuses on laying foundations against exploiters: the arrival of piracy in the first week following release was quickly followed by multi-account abuses in the second, and now more recently by the arrival of actual cheaters.
Sadly most of my work since release has been regarding these issues.
So following the anti-piracy patch insuring legit servers remain free of pirated versions, this patch brings the foundations of anti-multiaccount and anti-cheating measures. 
Once the system becomes active in next updates, servers will ultimately auto-ban players flagged for cheating.
Also noteworthy that this new version might get falsely flagged by some antiviruses when launching it.

New “previous_version” branch
A new branch was created called “previous_version”, allowing to keep playing on the public version previous to the current one, for people who need to for whatever reason, or in the case when a new patch causes too many issues.

 

The improved subjugation update
v0.1.1.x
– national armies are now reset to normal armies when being subjugated
– subjugated characters cannot be vassals of another subjugated character in a nation
– treaties with a “join nation” term will auto-end legally if the character is no longer in the nation
– subjugated characters get an automatic preset rank that is ‘locked’ and cannot be modified by nation members.
– removed taxation from the automatic subjugation treaty
– when a superior is inactive, state power maintenance cost is relayed upon the superior’s superior as if the character was a direct subordinate
– fixed subjugated characters getting breaking clauses from previous treaties being broken because of the subjugation
– fixed server game names allowing for special characters that would cause issues when saving with the OS file system
– fixed battle problem when multiple characters hunt at the same time
– organized anti-cheat strategy and layed foundation of an auto-ban system
– implemented multiaccount counter-measures
– disabled equipment loot from spawned rebel (exploit)
– fixed problem at server restart of ” failed to load save”
– fixed problem of infinite worldmap loading time
– added UI button in options to hide account infos ( IPs, user ID )
– minor improvement to connection stability
– fixed battlecode error causing server crash
– fixed issue with claims
– fixed UI issue in the worldmap action wheel where available actions would not update correctly

Anti-piracy patch!

Another patch was applied today, adding new piracy countermeasures that i’ve been working on this past week. 
This is mostly to prevent illegitimate copies of the game to access legitimate servers (as it only took a few days before it started spreading fast).
So… thank pirates for even slower development, as i doubt this will be the end of it!

This should also reduce the usage of multi-accounts, as they’re most likely relying on the use of pirated versions as well. 
I might start researching on how to limit this in the near future as it threatens the game balance, if it starts spreading on official games as well.

This update also adds bug fixes on the server side, still in an effort to increase server stability.

Most of the next patches will probably keep focusing on bug fixing and server stability/management and networking, so don’t expect much new exciting features for now!

Patch

v0.1.0.31
– added piracy countermeasures to protect legitimate servers
– increased production of directly exploited metal ore tiles
– increased efficiency of furniture makers, and required workforce to produce furniture -> increase wealth from furniture makers.
– set realtime games character limit to 1.
– fixed invalid preview of generated resistance when claiming an occupied territory
– changed -1 resistance decay to a proportionnal to population decay ( 1 per 100 resistance )
– fixed bug of units deploying on the edge of the map

Patch!

It’s been a rough week. Never had so many urgent things to deal with at the same time… 
For the next weeks, i’ll probably be focusing mostly on server management, stability, and bug fixing, so don’t expect new exciting features for a while.

Server and client bug fixes
Here is finally the first patch of fixes following the release, with mostly server related things.
Notably it fixes the 2 infamous issues of the primitive tribe claims, and the carriers engaging enemies.
Barbarians activity in Solo and Realtime was also reduced.
Server can now auto restart on error, which should reduce downtimes greatly as well and increase the quality of life. 
Next step is to find a way to do an emergency save when there’s an error, to avoid the weird ‘rollbacks’ that happen on error. 

More servers
Besides that, I’ve been started renting a professional dedicated server. All official servers will be moved to it shortly, and a new ones will be started (offical 5 or official 1 ). 
The previous official 1 is renamed Official test server, and will remain on the Tester branch, running on my own home server.
Official servers will now be located near Dunkirk, in the north of France, which is also near the Atlantic internet cables if that helps! 😀
I should be able to run eventually up to 8+ on that dedicated server, with much better performances than with my laggy home server. I hope it will reduce ping timeouts and connections issues greatly.

Worldwide lobbies to see all servers
It was also discovered that steam lobbies were filtered by region by default, which is now fixed and will allow users to see all servers worldwide , especially the official ones for people outside europe.
That will reduce the issue of server shortage especially for players in the Americas.

Piracy
And lastly, it didn’t take long for piracy of the game to spread. I thought i’d have more time 🙂
That can never be avoided, however the fact that pirated copies can access legit servers is a big issue, and this one can be fixed.
I’ve been working on it for the past 2 days and a fix for that is coming – although not on this patch yet .
I will increase measures to counter piracy with additional checks.
Eventually every player will probably need to authenticate its game at least once in online mode. Offline mode should of course still be possible.

Patch!
v0.1.0.19
– errors on client now invisible, and dumped into an error folder in the “cache\logs\client\error” folder.
– errors on server now silent and combined with an immediate auto-restart, improving uptime ( also dumped in “cache\logs\game\error” )
– server list will now show all worldwide servers and not only the regional ones
– lowered realtime respawn timer to a base of 10 min instead of 1hour
– fixed exploit allowing to claim tiles of primitive tribes
– added popup warning when attempting to move primitive tribe when starting
– added configurable autosave frequency in server ini files
– reduced barbarian activity in solo and realtime, less frequent and slower difficulty increase
– fixed issue of own character showing up in diplomacy menu
– fixed pathfinding issue with buildings, in battles
– fixed battlecode error on server
– primitive tribe rebellions: fixed primitives deploying inside defensive zones
– “stand ground” units will switch en “engage” if fired upon by range units in same defensive layer
– fixed infamous bug of carriers being in “engage” mode in battles ( and hunts )
– fixed speed settings icons not combatible with CJK font
– fixed some localisation issues
– fixed multiple server side crashes
– fixed crash on worldmap when worldmap quality at minimum