Genre: Real Time Strategy (RTS), Simulator, Strategy, Indie
Ymir
News about the next update...
Hi, fellow Porcos!
I though i'd share a bit about the next update and what i've been working as it could take some time before its ready...
Since the release there's been many reports of unstable connection for some users. I've been investigating this on and off since then, and especially now for more than a week non-stop.
After extensive testing it turns out the networking of the engine i'm using is... broken. It is buggy and as soon as there is a bit of strain or too much traffic, it simply breaks.
This game implies a lot of transfers as there is a lot of data such as building lists, resources, techs, worldmap etc, especially during the loading times.
So it turned out that was the main cause of why some users experience connection timeouts or infinite loading times.
This is very likely to trigger as soon as the connection between client and server is slightly unstable ( distant server, short lags, bad wifi, packet drops across the network etc... ).
Now these should not normally cause any issue, but something is broken somewhere in the networking engine and its causing a failure that i cannot fix myself: long story short the engine i'm using is pretty closed and i have no direct control over it. There is also no hope for any fix from its devs either.
Therefore for the past week i've been entirely focused on trying and experimenting to see if I could find any way to workaround whatever's broken in that networking engine, but i'm working blind here and its making this a very time consuming task. I have found ways to improve things, and i'm still working on it, and i hope the improvements to be significant in connection stability for players although it might never fully fix the issue, as the root of the problem is beyond my control.
This is just yet another issue i'm having with this obsolete engine, which has now been a constant source of issues and limitations.
That is why I've started looking and learning the basics of Unity, an engine much more adapted to the needs of this game, but this is a very long term goal and would be a HUGE task. I am merely learning the basics of it right now, on whatever free time i manage to muster which is not much! So its more of a wish than an actual plan, at this stage.
The second main focus of the next update will be a global update of how advanced starts work.
Many people are asking "when will there be a new server" while many servers have plenty of available spawns. The problem being that there are currently too many issues with it and players are not convinced to use them.
Rather than restarting servers who would always be doomed to end by the same decay, my objective is to improve late game starts so that a stale server may be able to regenerate itself with new players.
For that, many improvements and fixes are needed on how late game starts work, and the next update will bring many improvements about this so that hopefully new life can be brought to older servers, as the cycle of players and empires is simply a natural process that can't be avoided: if players can't be convinced of the validity of late starts, every server will always go stale after the majority of first wave of players leave.
So that's it, just wanted to give some news so that my apparent silence isn't interpreted as not being actively working on the project!
The animated update
This update is mostly visual and adding many 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! (and more servers coming)
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
Better late than never: Ymir is released
Last night Steam finally approved my build - the same build they denied yesterday - and i'm finally allowed to release it!
So here it is: Ymir is finally available on Steam, one day late, but better late than never, and at least the week-end is not over!
About servers: I predict the next days will be quite eventful with the influx of new players. Please be patient! It will take some time probably for the community to get more servers going, and depending on the success of the game i'll look to rent proper servers to host more Official servers and accomodate more people.
One of my top priorities is now to work on my own master server to list open ymir servers, replacing the steam lobbies system and to allow for proper steam independent dedicated servers (which is somehow not currently possible to do on the engine i'm using ), which will help having more servers.
Release delayed: Steam has denied the game's release
Yesterday Steam denied my current build for release, and today i'm therefore unable to release my game as planned, until it gets approved.
The reason given for this denial was that according to them "the game does not appear to currently support online gameplay ", yep, that's right.
Despite the fact that after more than a year in closed testing hundreds of players participated in games (mostly online), in multiplayer, and that as i received this reply the current test server i'm running myself had players online...
Now before i go on I must say that this also happened because i made a really bad mistake. I had so many things to deal with the upcoming release, that i didnt realize in time that i had to send a build for manual review and approval before being allowed to release. I wrongly assumed that releasing was automated (like pretty much everything else) and a formality that wouldnt take long like every other steps i had to pass before, especially as everything was ready. But i was wrong. This was the ONE of the few things that had to be manually approved by actual people.
When i realized it about 3 days ago, it said that it usually took 2 to 3 days to approve (but could take more if there was issues), so I hoped for the best and submitted it only to receive a negative answer yesterday night.
Of this i am totally responsible, I should have realized this before and started this earlier. Considering things now... apparently weeks before the release date!
This is my first game release, so i'm learning here and making mistakes, espcecially as being alone to manage so many different things and where an error in a single one can make everything else fail - as it now did. For this i apologize to everyone.
But i have to say you'd be surprise how even as a dev, we have pretty much zero human contact with anyone from Valve either. Its more of a self running website where all you're left with is some documentation and a forum of other devs trying to figure out things themselves too and sharing experiences. You can't get any help, and the whole steamworks interface is very confusing, sometimes even faulty/buggy, which doesnt help to make things intuitive.
Is there still humans working at Valve ? nobody knows. I personnally suspect Gabe merged with the mainframe "lawnmower man" style years ago, and left us all to despair with this platform.
More seriously, the ONLY way to contact anyone human at Valve is to send... a support ticket. To which you'll eventually get an anonymous response of about 12 words -at best-, after a day or more. When i realized my mistake i did that. Luckily i got a one line answer - as is tradition - saying they'd speed up the process, but only to receive this absurd denial an hour later.
And the denial explanation was the most cryptic part: " we found out that the game is using the public IP instead of the IP4 address which the port is open for. This happen with hosting only a server form the localfolder. "
If anyone understand the meaning of this sentence, please give me a call.
What is this rambling about the 'public IP' when for an online multiplayer game, that's what it should be using to allow others to connect... online, rather than using a local IP only reachable via LAN ?
What is this thing about 'instead of IP4 address' when all IPs ARE in IPv4 format ?
ANd what the hell does " hosting only a server from the localfolder " even means in this context ?
Nobody knows.
Apparently not only did these testers failed where hundreds of testers have never had trouble doing so during over a year of tests (which is to simply join an existing server), but they ignored the visible public server showing online players at that very time, and concluded that surely that must have been an illusion and that online multiplayer did not exist in this game, while giving the most absurd explanation that made zero technical sense to me.
And as it was an anonymous message with no way to reply directly, that means being back at square one, having to resubmit, and wait again 3 to 5 days. I have no way to ask these specific guys what the hell did they mean or tried to do.
Worst of this is that i don't even know what to change , considering their reply made no sense, so i just ended up resubmitring the exact same thing... with one minor change: i removed the "online multiplayer" tag as it's apparently what triggers them, adding insult to injury for a game that is mainly... online... and multiplayer.
So here i am now, on release day, unable to release my game after about 8 years of work.
Big AAA city builders games are about to be released in a week or so. I had the perfect release day planned, and now it's ruined.
But even though it's partly my fault, i can't keep but feeling bitter at the lack of understanding from Valve's side. On one hand because they didnt seem to care that denying me this for some absurd reason ruined such an important day for me, and on the other because i can't help but feel infuriated that somehow my game was under greater scrutiny and had to meet high quality standards( resulting in a denial), when in the meantime the cheapest porn games and asset flippers seem to be released on a daily basis without the slightest oversight on steam. Like...really Steam? MY game gets its release denied but those are fine?
So what now ? Well i'll release as soon as i can. I don't know when that will be now. I can't do anything else right now but wait...
Best case scenario it sill somehow happens today.
If not its probably over until at least Monday as this will be the week end.
The pre-release update
This is the last 'update' before the release!
Actually it’s not really an update but more of a summary of all the successive hot-fixes that have been applied since the last patch while preparing for release.
It doesn’t add any new feature in particular, but many fixes and re-balancing of various aspects of the game.
The pre-release update
v0.1.0.x
– trade routes pricing is now fully dynamic and can go down automatically ( and not only up as before ). Minimum price is the production cost of the exporting territory.
– added more UI price details to the Resource menu
– fixed issues with market study not taking into account multiple resources competing for the same need (leads to global decrease of food prices).
– added side pannel with Resistance details in the Loyalty tab of the territory menu.
– lowered resistance growth in occupied territories by 2.
– added UI honor warning when converting an occupied territory
– removed resistance penalties when transfering ownership of occupied territories
– fixed display bug of units in high altitude ( hills or mountains )
– increased distance penalty on required cargo amounts for trade routes
– fixed purchased resources on markets not being state owned
– fixed bug with world pathfinding, rights of passages, and national armies
– auto shut down of all trade routes after an invasion
– all resources are now state owned after an invasion
– added tutorial toggle option in the main menu
– added basic camera key bindings
– fixed issue of doubled AP costs in battles
– fixed case of infinite battle
– placing some infrastructures now require profesionnal builders
– added missing income taxation to sales profits of producers whn selling resources in the market
– reduced palissade cost to 1 wood.
– reduced fuel cost to refine gold.
– reduced state power cost of subvention and state workers policies
– fixed issues with demand/ideally needed/sold in the resource distribution
– resources pricing: profit marghin is now proportionnal to production costs (+20% of production cost) instead of being always +1.
– fixed UI issues with nation names
– rebalanced resistance
– lowered resistance by 50% when transfering culturally integrated cities within a nation (cities that have been in the nation for a long time)
– adding social buttons in the main menu (porcopedia, discord)
– lowered honor penalty of losing to partisans by 60%, but still capped at 50 honor.
– improved decision making of the population to decide when they rise to help defend their territory.
– changed windowed mode to borderless to circumvent an engine issue that had no solution (glitched display espcially visible with fonts)
– fixed issue causing freezing at the end of a battle
– new mission to assist with barter transition now converts all resources to state owned as a reward.
– fixed merchant building not unlocking when adopting barter until the game was restarted.
– added auto creation of market stands when adopting barter
– fixed bug with price arbitrage and world area prices
– reduced UI flickering when opening or refreshing some tabs.
New release game trailer!
Here is the new Ymir trailer for the upcoming early access release in March!
Feel free to share and help spread the word :)
https://www.youtube.com/watch?v=alj5q7C4lBM
The price arbitrage update
This quick update fixes critical gamedesign flaws in the economic simulator post-currency.
Price arbitrage
A new price factor has been added : price arbitrage. It represents the natural arbitrage that would happen between the prices of cities that are near to one another when there are big local price discrepancies between them.
Price arbitrage calculates a “world area price” for each resource of the city, by looking at the price of that same resource in all nearby territories the city has trading relations with, weighted by proximity with the city.
That includes other cities of the player, but also all foreign cities they have trading rights or rights of passage with.
Based on the difference between that world price and the current local price, it determines the price arbitrage modificator that is applied to get the final effective price of the resource.
The goal of this feature is to harmonize prices in a region, and to fix the game-design flaw that allowed players to easily manipulate prices by having a territory produce a cheap resource in great amounts, to then sell it in limited amounts in the next town where it would reach luxurious prices and make game-breaking profits that made everything else irrelevant.
With price arbitrage, price differences are now much lower and this easy strategy is no longer possible, improving the game balance.
Trade routes versus manual transfers
Another flaw was the advantages of manually transferring resources between cities via units instead of using trade routes. This resulted in advantaging repetitive tedious actions.
The cause of this was the fact waste would be applied twice in trade routes ( from the exporting city, and another time in the importing city ), while you’d only pay it once when transferring manually ( buying with no waste in the exporting city, and paying waste on state sales profits in the importing one ).
To resolve this, waste is now collected only on trade profits rather than trade raw incomes, which fixes the double waste problem for trade routes.
Additionally, buying up resources by loading them up into units is now subject to a waste penalty, meaning that manual transfer is now the one exposed to double waste.
This makes trade routes now much more profitable than manual transfers for regular exchanges of resources.
The price arbitrage update
v0.0.28.x
– lowered authority loss from militias by 50%
– lowered max effect of leader wealth on leader superiority. –> superiority from wealth now maxed at 100 at +∞, with a 1/x shaped curve.
– fixed bug with demand in the price variable of supply/demand
– increased cultural decay speed from low influence
– increased armor of wolf warriors (+2) and manbearpigs (+3)
– fixed bug of technologies costing double what was advertised
– added waste cost when buying resources to load into formations
– added new price arbitrage variable in resource prices based on a world area price, which is a price average calculated from all nearby territories.
– waste now only applies to importations and exportations profits, rather than gross incomes.
– fixed visual issues when selecting neutral nations in the world map.
– fixed resistance not decreasing after uprisings
– disabled sleeping building upkeep for buildings with no workers (ex ground storages)
– fixed an issue with sows, piglets, and olpigs access to services (ex doctors)
– price profit margin now considers the fact that the resource is distributed by merchants and is increased to +2 in that case.
– fixed memory leak in battles, on the server
– fixed tax incomes not being collected in some cases