Bugfixes update

I’m back after a month of vacation 🙂
This update brings a bunch of miscellaneous exploit fixes and small rebalances. 

One significant change is that from now on, below -200 of state power, players will directly lose armies and territories as their state collapse, effectively triggering a game over unless the situation is fixed quickly.

Most other fixes are here to counter exploits that have been rampaging through the servers.

Now another issue that most games have is that they reached their “end” but have yet to be won officially.
Therefore they keep going on while players leave, and its creating a rather anti-climatic end.
For this i’ll be reworking the score and endgame until i can get these games to effectively end. This will also allow me to finally restart new fresh games on the official servers.  
As a first step in this direction i’ve made a change to the PAR score calculation, which will result in more Victory Points for the leading nation getting them closer to effective victory.

Bugfixes update
v0.1.4.x
– fixed armies not paying AP for their action when retreating
– fixed exploit when converting militias into armies
– added more infos in persistent games lobby
– fixed cultural integration (dismantling) not reset for vassals of a player joining a nation by treaty/vassalization
– fixed UI problem with owning character of occupied territories on the worldmap
– rebalanced “PAR” score calculation: now based on an average that ignores the score component of score gained from subordinates -> will increase VP of dominant nations.
– fixed issue with battles display for long battles causing them to visually restart/reset.
– added “government collapse” events when below -200 state power, causing direct loss of territories and formations.
– empty cities (0 pop) will decay even if they belong to active characters.
– fixed problems with hardware survey failing from unusual characters in windows username.
– fixed ui problem with the tutorial
– adding new character missions
– distance penalty for cities does now maxed at -95%
– horses and camels +1 nb attack
– adding ideas trigger bonus in solo mode to ensure all techs ideas can be unlocked
– school intelligence bonus lowered from 15 to 10.
– fixed problem with networking socket ids
– fixed problem with server auto-close
– rebel cities not elligible for decay for about a week after rebellion , in persistent speed
– fixed spawn bonus too strong in newly created games when it should remain at 0 in the first days;
– reorganized and debugged issues with tutorial
– converting militias depletes all AP
– fixed national armies controllable even if you’re at war with their owner
– fixed gaia cities giving movement bonus
– server offtime no longer counts towards character inactivity timers
– fixed too many animals on worlmaps

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