So after a few months the – internal – version 0.600 is complete, with the new networking system operationnal and the old code mostly updated, at last! In the last few weeks, i’ve started building new features again.
Also, i started the implementation of Server-side region pathfinding. What does it mean ? It means the server is now getting ” eyes ” , beeing able to see a region. It’s first aplication is to allow the server to place buildings properly by itself, especially the automatic spawning of slum houses for extra populations ( in the last test game it, the messy temporary solution created exploits that are now fixed ).
Here on the screen you can see a debug view of one pathgrid of a region. This is what the server ‘sees’. Here its showing invalid zones in purple (buildings and cliffs) and free spaces where to place a building in green.
Later on, this will allow buildings, walls and terrain to have an effect on battles ( currently they’re all ignored, and its as if armies were fighting in empty plains ).
The next step on that matter is to implement server-side WORLDMAP pathfinding. It will allow automatic movement of troops ( armies coming back to home after a mission or an attack, AI controlled barbarians moving around and attacking players etc.. )
Also here is a screen of the diplomatic menu.
Its composed of a text editor and an optional treaty proposal. Treaty options will in the end include things like right of passage, payment of tributes and taxes, setting up manual trade routes, allowing trade with cities ( the ability of a player to take trading offers from the regions of the other player ), transfering territories, becoming allied and vassals etc…
Also as you can see on each side of the treaty, there is ‘breaking closes’ specific to the 2 members of the treaty. These will apply to the relevant member that breaks the treaty, and it includes 3 options: a gold penalty (some sort of security deposit) sent to the other member, the automatic declaration of war by the other member and an honor penalty. Honor will be a non gameplay stat only used used to inform other players of your reputation.
Signing a treaty with a high honor engagment basically means you ” swear to god i’ll respect it ” while a low one will mean more something like ” lets see how this agreement goes and it will last as long as i’m in the mood”.
This assymetrical system will allow a player negociating peace with a defeated oponent to force him to accept vassality and tributes , binding him with lots of penalties while having none on his side to remaining free to do as he wish.
Treaties will also cost some administration points, depending on the nature and amount of terms they contain.
They will also include a possible limited duration after which they become obsolete without triggering any breaking close.
v0.600 changelog
Engine
– Global networking upgrade & reorganisation to standardize and optimize data transfers and database management.
– Data subscription system to maintain data automatically synced with server
– New pathfinding system and coordinates to optimize framerate and allow later support of terrain elevation and walls.
– Multi threaded pathfinding system to optimize framerate
– Cleaned up login process
– Implemented Server side region pathfinding, allowing the server to place buildings in regions automatically.
Gameplay
– Events system
– Early diplomatic and contact menu
UI
– New text editor
Audio
– Added dynamic music player and transitions
– Fixed bug in ambiant city sounds
– Added building sound effects
Graphism
– Added oldpigs and piglet citizens.
– Now 2 visual levels of citizens ( total of 4×2 citizens )
– Added building animations
Debug
– Solved crashs when loading region.
– Solved workers not properly leaving a bulding set to sleep
– Solved bug where population could be duplicated when destroying slums
– Solved bug where slums would fail spawning