• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Victoria 3 - Dev Diary #68 - Patch 1.1 Changelog (part 4)

16_9.jpg

Hello and welcome to the final dev diary on the subject of patch 1.1! The release date for this patch is Monday December 5th, at 10:00 Central European Time. Your existing save games should be compatible* with 1.1, but as usual we will backup the old 1.0.6 version as a Steam beta branch you can rollback to if needed (e.g. for mod compatibility).

This is a chonky update so I'm not going to go over the entries in detail, but to get a more in-depth look at a few of the major things that have been added or changed to 1.1, you can take a look at our previous dev diaries.

Let's dig into it!

features.jpg

- Reworked Morale to inflict a base loss for every round of battle, modified by the difference in casualties inflicted between the sides as well as various other modifiers
- Reworked Legitimacy to provide bonuses and penalties to countries at different Legitimacy levels
- Added a new Legitimacy modifier based on Votes in Government
- Replaced Legitimacy Penalty from Government Size with a Legitimacy Penalty from Ideological incoherence
- Treaty Ports will no longer function if the owner's Power Rank isn't greater than the market owner's, ensuring Great Powers cannot use them to get access to the markets of other Great Powers

balance.jpg


- Rebalanced Legitimacy across all Laws
- Added Authority bonus to High and Very High Government Wages
- Added Morale Recovery and Power Projection bonus to High and Very High Military Wages
- Added Power Projection penalty to Low and Very Low Military Wages
- Lowered Training Rate penalty for Very Low Military Wages
- Lowered the positive and negative approval from Government/Military Wages
- Buildings will now only raise wages if they are either competing for wages or are below their minimum wage target; the target is based on employees' Expected Standard of Living to prevent too much active radicalization
- Building wage targets are lowered in unincorporated states (e.g. colonies) and for discriminated pops
- Laws that restrict cultural / religious tolerance now give a decrease to radicals and increase to loyalists from accepted cultures / religions - the more restrictive the law, the higher the effect
- Pops in Unincorporated States now have their voting power reduced according to current Incorporation level
- Mass migration now only targets incorporated states, to avoid colonies being the main target of mass migration rather than e.g. the New World
- Unincorporated states now have a lower expected standard of living than incorporated states
- Rebalanced potential Oil and Rubber deposits around the world
- Rebalanced Power Plant production method
- Reduced the impact of Artillery Commander traits
- Rebalanced Port production methods to (generally) increase Convoy production
- Rebalanced technology unlocks for potential Port levels to increase sizes over time
- Replaced Cape Colony with Persia as a recommendation for the Learn the Game objective
- USA no longer immediately starts losing its Interest in the Great Plains on game start

ai.jpg


- AI will not begin unifying Canada or Australia until Pan-Nationalism is researched
- Australian and Canadian confederation no longer forces the annexation of a player
- AI acceptance for white peace now increases over time the longer a war goes on
- AI is now less inclined to pursue annexation of subjects with whom they have good relations
- AI is now more willing to settle wars that are going nowhere with a white peace
- AI now also takes into account bankruptcy when considering peace desire, neutrality and confidence, not just debt level
- AI will now properly stop enacting a law to avoid revolution if it calculates this to be in its best interest
- AI will now properly use its investment pool when it can cover the entire construction cost, despite being in deficit
- Fixed native uprisings not mobilizing due to not being able to calculate their conscripts' power projection
- Improve the AI's understanding of when it should produce more military goods of a certain type
- Make the AI more interested in switching to more productive PMs, and less interested in switching to less productive ones unless there is a very good reason to do so
- Great Powers are much more likely to declare an interest in Arabia while the Ottomans are trying to reclaim Syria
- Liberia now begins independent, to discourage US colonization of Africa and to better reflect Liberia's de facto situation
- Changed incorrect check in Powerful Protectors that compared army size to country rank instead of army size
- Fixed some cases where the AI would use the wrong define for computing heuristics

interface.jpg


- Improves the Pop Details Panel with tabs and Consumed Goods
- Added a Good's current Trade Routes to the Goods Panel's Market tab
- Added a delay to opening map tooltips. The amount of delay is controlled by a new setting.
- Added pop consumption goods needs display to Economy and Consumption pop tabs
- Added "show more" button to the Population panel to display all categories, inspired by the "Complete Pop List" mod by Ron Swanson
- Make the Construction Queue building list items say their State as well as making the list items smaller, inspired by the "Construction Queue with States" mod by Seppiya
- Multiple changes to which notification types display as Toasts (middle of the screen) versus Feed (bottom right)
- Show usable manpower involved on each side of a battle in addition to the number of battalions
- The volume for Music Stingers and Background Music can now be adjusted independently in the Audio Settings screen
- Inactive Treaty Ports are now displayed as such, with a tooltip explaining why
- Active Production Methods are now non-clickable and more distinguishable from the rest
- Game rules are now visible even before you select a Player Objective in the New Game Interface
- Moved the Timed Modifiers higher up in the change Production Method tooltip
- The amount of unrealized taxes are now displayed in the country budget tooltip
- Transfer of Power information is now displayed better
- The outliner now shows the number of currently active unpinned Player Objective challenges and Journal Entries
- Update to the construction queue’s page buttons visuals
- Establish Trade Route Map List Panel can now sort markets alphabetically by name
- Updated text for convoy raiding order to better represent information to the player
- Right-align the Consumption tax cost in the add Consumption tax menu for better readability
- Removes decimals from Legitimacy modifier types

content.jpg


- Added decision to cancel surveys of Panama/Suez
- Added event greatly weakening the Shogunate if Japan is forced to open its market
- Skyscraper now has a Trade Nexus base PM as an option for Bureaucratic Nexus
- Changed the requirement for completing the Reading Campaign to only require 95% literacy.
- Made several repeating events fire less often
- Fixed various issues in 1848 content
- Expanded the name lists for North German, South German, North Italian, South Italian, and Thai cultures
- Added some variant unifier flags for Germany and Italy
- Germany's default flag is now the Black-Red-Gold tricolor
- Italy's default flag is now the Green-White-Red tricolor without the House of Savoy's coat of arms
- Conservative IGs such as the Landowners, Devout and Rural Folk now tend to be significantly stronger at the start of the game in most countries
- Fixed the large starting unemployment in several Decentralized Countries
- Reduced Hokkaido's population to historical levels
- Made events that strengthen abolitionism rarer in the USA
- Manifest Destiny decision now requires an Interest in the Pacific Coast
- Manifest Destiny now provide claims on the colonized split states of Mexico
- Alaska Purchase decision now has significantly easier requirements
- American West Expedition is now significantly easier to complete
- "The Dream" event for gold rushes no longer has one unequivocally better option
- Sub-Saharan African states now have more cultural homelands assigned to them
- Amended Great Qing flavor text to better fit its historical situation
- Reduced the urban center requirements for the Underground Railway Journal Entry from 30 to 20, and made the completion goal valid for cases where the country's capital and the country's market capital are in different states
- People's Springtime is now correctly triggered by a powerful Radical IG, not only through insurrection
- tanzimat_events.10 now requires Napoleonic Warfare
- migration_laws.6 now displays pop names correctly
- "A Tale of Hope" event no longer targets a null state
- "An Economic Prison" event no longer applies trade route effects to isolationist countries
- "Devout Scandal" no longer has a sentence starting with a lowercase letter
- "Elevating Our Situation" journal entry has been made less convoluted
- "Expand the East Indies Administration" is now visible whenever the Dutch East Indies exists
- "Mutually Beneficial" event now applies the correct popularity modifiers.
- "The Rogue Imperialist" event can no longer cause a diplomatic incident with yourself
- Austrian-formed Germany no longer has the Matter of Hungary Journal Entry
- Fixed many issues in cultural_homelands_events
- China now re-incorporates the states of the Heavenly Kingdom upon defeating the rebellion.
- Commanders can no longer cheat with their own spouses
- Defeat in the Opium Wars will now remove opium bans and opium ban Authority cost
- Countries with the Free Trade law can now remove trade bans but not add them
- Doctrine of Lapse decision for the British East India Company now has a proper cooldown of two years
- Elitist ideology now has a stance on theocracy
- Ethiopia now requires at least two fully controlled states to form
- Poland now requires only 5 Polish states to form rather than 7
- Event "Campaign Financing" now requires active parties to fire
- Expand Productive Building tutorial challenge now tests if the player can actually expand the target building an additional level before selecting it as a target building
- Italian nations classified as minor powers may now participate in Risoregimento
- Efficient Home Affairs modifier is now actually efficient
- Made the "Good Word of the Revolution" event less spammy
- Mustard Gas no longer permanently applies modifiers to states
- North German Federation, South German Federation, and Italy are now formable if all completion requirements are achieved before Nationalism is researched
- Numerous law enaction events will now fire properly, and not auto-cancel
- Paying for school supplies now costs bureaucracy instead of benefiting it
- Philip Sheridan's birth date is now correct
- Presidents in Republics now die less frequently
- Railway research bonus in the Atmospheric Engine tech event now requires all railway prereqs to be unlocked
- Resolved edge case where native_resettlement.4 has no options
- Resolved issue with error spam when China was annexed
- The Free States of America's name now shows up in its secession event
- The Ripper can no longer be a child or toddler
- Tooltip for "How to Reform your Government" tutorial will no longer flood the error log
- West America expedition now removes event tracking variables properly
- Bureaucracy tech no longer uses the same localization key as bureaucracy concept

modding.jpg


- Cleaned up defines to remove unused ones
- Renamed some defines to be more precise about what they do
- Exposed several parameters of character life expectancy calculation as defines

majorbugfixes.jpg


- Fixed font atlas not notifying the map system when textures where recycled, leading to garbled map names especially frequent in Chinese, Japanese, and Korean languages
- Enabled new logging system that prevents log files from growing too large
- Fixed overflows in politics related math that could lead to weird values for political strength of pops, or amount of votes in elections, and other such things
- Fixed an issue that led to most characters having a natural lifespan in excess of 90 years
- Fixed computation error that made it possible to have two highly profitable routes trading the same good back and forth between two markets
- Fixed an issue that made the "force open market" and "ban slavery" wargoals forbid the affected country from changing policy for 60 years instead of 60 months
- Fixed an overflow in gold reserves limit
- Fixed a bug that would cause garrison units to not recover morale
- Ensures that angry IGs always leave the government if able to do so, even when in a party
- Fixed an issue where tariffs would incorrectly be paid out to market owner from tariff-exempt trade routes
- Revolutionary and seceding countries can no longer engage in colonization until the civil war is over
- Discriminated Pops now have their Political Strength reduced by 90% as intended
- Pops in Unincorporated States now get a 50% penalty to Political Strength as intended
- Battalions are now assigned to battles in order of descending usable manpower (including Morale)
- Countries can no longer make progress on colonies in regions without maintaining an active Interest there
- Subjects no longer have to ratify a peace deal if their overlord does, even if they have diplomatic autonomy
- Expedition leaders are now always properly returned to service upon expedition conclusion
- Expeditions no longer automatically fail after turning back on the Niger River
- Expedition modifier for expedition taxes now removed upon expedition end
- Fixed general travel exploit that would allow to teleport generals by alternating orders towards the same destination
- Fixed a general travel duration exploit that was possible when giving several orders targeting different destinations, causing GENERAL_TRAVEL_OVERSEAS_SCALE to sometimes not be applied
- Fixed a bug where making a general return to a previous location during travel would sometimes apply GENERAL_TRAVEL_OVERSEAS_SCALE
- Military buildings are now unable to provide more Battalions or Flotillas than their level can support
- Fixed the bug when Cut Down To Size wargoal would liberate conquered states regardless of when they were acquired
- Fixed a bug that would cause only one admiral to be able to defend against naval invasions
- Fixed a bug that allowed an admiral to be able to naval invade a state that has no passable coastal provinces controlled by the enemy
- Fixed an issue that caused secessionist countries to not being able to be targeted by diplomatic plays even after they win the secession war
- Fixed a bug where Treaty Ports could give you access to markets in states outside the same state region
- Fixed bug where market access was not updated in states split due to ceding a Treaty Port or gaining independence
- Fixed the bug when status of convoy raiding wasn't displayed on the map nodes
- Combat unit allocation between commanders is now recomputed if a commander loses their role
- Failed or timed out Journal Entries won't be triggered by an Objective again unless marked as repeatable
- Fixed an error that caused the building tooltip to display incorrectly and produce error log spam when the building was built in a state with an apostrophe in its name
- Fixed commonly occuring crash caused by offscreen GUI VFX not being cleaned up properly
- Fixed crash when running out of cloud storage space for save files
- Fixed OOS for Elections when hot-joining
- Fixed a crash that would happen when the same peace deal is accepted at the same time in multiple wars
- Fixed crash when listing saves
- Fixed crash arising from cultural_homeland_events.1
- Fixed crash during commander generation

minorbugfixes.jpg


- Fixed issue with displaying country names for civil war countries
- Ensures the correct number of Battalions are reported for both Regulars and Conscripts on various panels and tooltips
- Death notifications no longer fire upon the retirement of a politician
- Fixed an issue in prediction tooltips where Peasant goods consumption was incorrectly calculated, causing price predictions to be wrong for certain goods
- Fixed an issue where price predictions for pop-consumed goods would get increasingly inaccurate the longer the game went on due to old data not being properly cleared
- Fixed flickering map mode in the culture panel
- Fixed front map markers not showing up correctly in Observer Mode
- Fixed overlapping text of the options in the Sway Country Panel
- Fixed overlapping text on the Nation Formation panel to not overlap
- Fixed text overlapping and alignment issues on the War Panel
- Fixed the Diplomatic Play title text to not overlap the flags when very long
- Fixed 'You' label being visible for other players in the War Panel in a Multiplayer game
- Fixed invalid diplomatic relations expandable tooltip
- Fixed wrong scope provided to on_sway_offer_rejected
- Added missing localization for is_direct_subject_of
- Fixed a missing texture that would appear in the war tooltip when the initiator of a diplomatic play had obtained all of their declared war goals
- Fixed an issue that made it possible to change government or military wage rates when the country wasn't actually paying any government / military wages
- Fixed incorrect text that would appear in the war tooltip when either side of a diplomatic play had obtained all of their declared wargoals
- Fixed notifications accidentally appearing twice when closed
- Fixed typo in Pop Properties tutorial lesson
- Fixed missing text for Annex Subject Diplomatic Play Tooltip
- Korean officers now wear clothes
- Male Academics and Capitalist pops no longer carry parasols
- Dinka slave pops are now properly naked
- The final fallback for character clothing is now peasant's clothes instead of a birthday suit
- The Confederate States of America should now always be called such during the American Civil War
- Taiping Rebellion war name is now properly localized
- Corrected spelling issues with Australian hubs and Theodore Roosevelt
- Commanders-in-Chief now use the correct Character background on their Character Panel
- Fixed unlocalized string in the load game button in the multiplayer game over screen
- Resolved several typos in the country flavor text for Parma, Modena, and Krakow
- Fixed spelling of "Van Diemen's Land", "Concepción", and "Legazpi"

* A known issue with loading 1.0.6 save games into 1.1 is that the Bureaucracy tech will be "forgotten" and has to be re-researched. If you don't want to do this in-game, you can fix it by running your game with the debug console enabled in the launcher, loading up your save game, opening the console, and typing 'research tech_bureaucracy'.

We hope you enjoy this update! Please continue to provide your feedback and make sure to let us know if you run into any other bugs so we can continue to improve the game for the next free patch 1.2. We will return to discuss our next plans for the future next Thursday!
 
Last edited by a moderator:
  • 167Like
  • 75Love
  • 14
  • 2
Reactions:
I hear you on that ultimately it does come down to the player experience of the system, but if we do have a fundamental balance issue in the economy system - which is not unlikely to be the case - doing a proper fix early in the game's lifecycle is definitely preferable to a smoke-and-mirrors solution. We also want to take care to not give countries full control of every nuance of their trade policies without pushback, since it's completely contrary to both modeling the international market forces that lead to economic imperialism and the political interests of your pops. I have no doubt we'll find a solution to the balance issues we currently have with trade, we just need a bit more time.
Lovely stuff, thanks. I agree that a lot of control is also not healthy.
 
  • 4Like
Reactions:
First, thanks for all the hard work, both in this patch and overall ! I spent a lot of hours on Victoria 2, and the improvements in the game play, especially in the underlying economic modeling, are truly fantastic!! Great job!!!

That being said, since this seems to have turned into a bit of a "I hope you fix XXX next" thread :), I wanted to call out the suggestion by @neroden here (sorry - spam filter won't let me post real link): forum/threads/victoria-iii-most-of-the-world-has-no-ports-1920s.1551913/ (that would make Convoys a "normal" good Ports a "normal" factory that convert Clippers into Convoys in order incentivize the AI building Ports) and ask if it's on your radar for 1.2 or beyond.

I think it's a great idea, and that it has the potential to also lead to a fix for an issue that I don't see a way around: I don't know how to open a trade route with non-neighbors if I'm a land-locked country.

If you extended @neroden's suggestion (as he suggests) to also include land transportation (i.e. transportation is represented as a Caravans/TrainRoutes good that is produced by Railroads), then I think the Convoys-as-a-good mechanic has the potential to solve the land-locked trade issue. You could set up the game mechanics so that if a country had a neighbor with ports, the cost of the trade route would include paying the neighbor for Caravans to transport it across the appropriate states, and paying someone's Convoys to send it overseas if necessary. A different version of this idea would to allow a country to negotiate a special kind of "transportation" trade deal with another neighboring country for access to purchase that country's Caravans (for transit across land states) and/or a maritime 3rd party country to purchase Convoys (for transit across sea states) that would then be consumed as part of a normal trade route for goods. A trade route would be possible if there was a transit path where for every leg of the path either the buyer or the seller had such a transportation deal in place. I suspect this sort of mechanism would have a lot of potential to simulate "carrying trade" economics (in the sense that there's a 3rd party to the trade route who is supplying the transportation) and/or the Great Silk Roads.

I did see a "yes, we're looking at this" message in the original thread, but just wanted to bump it here. Thanks!
 
  • 4
Reactions:
I see lots of good changes here. Thank you - it's great to see progress on so many issues!

When people ask me whether I recommend the game, I've responded that the issues I care about are on the roadmap and I hope that the major patches bring this title to a better state. So all of this is positive except for one glaring tidbit: the war system and automatic removal of generals from fronts is such a severe problem that it basically requires general teleportation as a manually-applied hotfix. I've said many times that if the hotfix is removed before the need for it goes away, I couldn't play or recommend the game until these are brought back in alignment.

- Fixed general travel exploit that would allow to teleport generals by alternating orders towards the same destination
- Fixed a general travel duration exploit that was possible when giving several orders targeting different destinations, causing GENERAL_TRAVEL_OVERSEAS_SCALE to sometimes not be applied
- Fixed a bug where making a general return to a previous location during travel would sometimes apply GENERAL_TRAVEL_OVERSEAS_SCALE

This is critical - if war and frontlines are waiting until 1.2, then players need to keep the current capacity, however unintended, to hotfix their own general behaviors via the teleportation bug until then.

Have I missed a dev response to the repeated player posts on this subject in the patch thread? I didn't see one :(
 
Last edited:
  • 4
  • 2
  • 1Like
Reactions:
What about it?
Italy gets formed reliably and quietly by Two Sicilies, despite in reality being a French project for Sardinia-Piedmont that involved quite a bit of fighting Austria.

Prussia is currently turning the French and Germans into fertilizer on the Rhine for four years straight with two million dead each. While trying to annex a German minor with 250k population.
 
  • 1Like
Reactions:
This essentially lets them execute a number of profitable transactions "before" the final market prices are actually set, leading domestic market agents to have to buy or sell at (probably) unfair prices by comparison, particularly when one market is much bigger than the other.

If I could make a suggestion, when this is looked at could that sort of behavior be left as an option for the right economic or trade laws? Quite a few countries during the time period pursued a policy of aggressive exportation of certain resources, usually to fund government expenses. Most notably the USSR's grain exportation to fund its technological and industrial imports from the west.
 
When do you guys get the chance to fix the 'regime change' war goal? Right now, it just changes nothing(only a few laws):oops:
I think this also requires an update which actually makes government in other countries matters. Like, you're a monarchy, and your neighbor became council republic. So what? There's nothing worth fighting for, his government doesn't affect other countries. The only way to use it is rp as I see it now, if you want to spread revolution (which can rather hurt you than help if everyone will go isolationist and protectionist)
 
  • 3Like
Reactions:
The pricing function is linear, ranging from 0.25 to 1.75 of base price and reaching those bounds when sell / buy is 2:1 and 1:2 vice versa and progressing linearly based on the ratio between buy and sell orders in between. Not sure where the claim to a concave pricing function is coming from, this is pretty well outlined in both tooltips and the defines file (the PRICE_RANGE and BUY_SELL_DIFF_AT_MAX_FACTOR defines in particular).

The price inversions are rather originating from traders optimizing their volume based on an average of pre- and post-trade prices, but then applying the full brunt of this volume as Sell and Buy orders in the respective markets. This essentially lets them execute a number of profitable transactions "before" the final market prices are actually set, leading domestic market agents to have to buy or sell at (probably) unfair prices by comparison, particularly when one market is much bigger than the other.
That's fine for one country, but when accounting for trade route volume between markets this is no longer the case since the prices will vary according to the sell and buy orders in their respective market (in other words, Russia selling 1000 wood out of the 10000000 they have to Timbuktu will flood their market and tank the price to the minimum, but if the opposite happened the price in Russia would barely budge). You're correct in stating where the price inversions come from (albeit in a slightly different way), but what I'm trying to explain is that using that straight arithmetic mean doesn't produce 'good' outcomes just like using some other arbitrary value doesn't produce good outcomes. If you want a mean such that the accurate revenue is the mean price * volume you'd need to have very tiny steps and sum them, or since that's just basically integration then you could integrate (see @Tempscire's post below and I'd urge the dev team to take a deeper look at the analysis in that thread even if just to tell us we're all totally wrong).

Thanks to some insightful posts in this thread (especially by @Ekcrbe ), I think I have found a solution which would solve the problem while not requiring a complete rework. The idea that some sort of average value should be used to calculate profitability is sound in my opinion. Because if you export as much goods as needed to balance the prices between the two markets then you should at least generate some profit along the way. Otherwise the prices should have been the same even before trading. The problem lies more within the particular choice of average price. The average price is the arithmetic mean of the prices before and after trading. This would be correct, if the function that represents the price difference between the two markets was linear. But the price functions in Vic3 are not linear. Therefore, the total amount of profit is just not the volume times this average price.

As an example consider the following:
Say A sells 500 units of good G with base price 1 and buys 100 units of this good, while B sells 100 and buys 100. Now A exports the good G to B until the prices are equal,i.e. it exports 200 goods.
Then the original prices are P_A=1+0,75*((100-500)/500)=0,4 and P_B=1. After trading both have the price P_A=P_B=1+0,75*((100-300)/300)=0,5.
If the prices where linear we would then have the average prices in the exactly in the middle of this trading process, i.e. when 100 goods are traded.
But then we get P_A=1+0,75*((100-400)/400)=7/16 and P_B=1+0,75*((100-200)/200)=5/8.
Both of these are clearly not the average prices, as 7/16<0,45=(0,4+0,5)/2 and 5/8<0,75=(1+0,5)/2.

The correct profit is more complicated to calculate. As it is not linear a simple product does not suffice and the correct way to is to take the integral over the price difference function from 0 to the trade volume V.

So let us determine the price difference function PD: [assuming that the price formula with max is correct]
Let t be the trade volume, BP the base price and B_I,S_I,B_E,S_E the buy/sell orders of the importer/exporter
PD(t)=BP(1+3/4*(B_I-S_I-t)/max(B_I,S_I+t))-BP(1+3/4*(B_E+t-S_E)/max(B_E+t,S_E))=3BP/4*((B_I-S_I-t)/max(B_I,S_I+t)-(B_E+t-S_E)/max(B_E+t,S_E)).

The profit E(V) for trading V goods should now be the integral from 0 to V of the function PD(t) over t.
I.e. E(V)=int_0^V PD(t) dt.

The function PD(t) is continuous in t and defined on 4 (non-necessarily) distinct subsets of the real axis. Therefore, the integral exists and on each of these subsets the function can be expressed as a linear combination of rational functions. Therefore, the integrals are fairly easy to compute. I have computed all the relevant integral for PD as above per hand, if there is any interest. If tariffs or transport costs enter the picture, the formula has to be adjusted accordingly. Currently this amounts to a sum of natural logarithms, constant and linear functions, so it should not be that hard to implement. [I do not know how this is implemented in the new engine, but if it is necessary, there is always the option to approximate the ln parts via taylor exopansions or similar methods.]

The definition of the profit given above fulfills all the desired properties to a good degree, in particular:
(i) The profits are a lot higher than without averaging,
(ii) It remains profitable to expand the trade route as long as there is a price difference,
(iii) It is always unprofitable to export goods to a market with a lower price, as then the integrand is smaller than 0.
(iv) It is not profitable to create loops, as at least one of the trade routes will not be profitable, as the price in one market will be higher than in the other one and (iii) holds.

There is obviously a lot more detail in the integrals, but I wanted to keep the post short and mostly free of formulas. In addition writing down integral equations in the forum is a nightmare. If anyone is interested I can do a write-up of the relevant math with a better tool to display the formulas at some point.
 
  • 3Like
  • 2
  • 1
Reactions:
Legitimacy has a tendency to drop steeply during the election period, due to IGs leaving parties and thus increasing the size of government. Is that going to be a problem or is legitimacy ignored during elections?
 
  • 1
Reactions:
I see the trade changes and it looks like you 'fixed' circular trades while leaving the ability to raid someone else's market by buying high and selling low (i.e. the price inversion problem). Now we have no workaround to re-import goods being effectively stolen from our markets when fixing price inversions would've killed both birds with one stone.
I hope this is not true. But I fear it is.
Same with the teleporting generals exploit -> Fixed the easy bug that made the huge bug bearable before tackeling the huge bug. ;(
 
  • 4
  • 1
Reactions:
Fractal rebellions and uprisings should also be fixed, yes! Countries created due to civil wars should no longer be able to have their own civil wars.
Wouldn't be a baetter solution to allow multiy way wars (3 or more sides fighting in the same war?) - this would solve a lot of issues with break of wars, rebellions and so on (which have been a problem in all PDX games so far)
 
  • 1
Reactions:
Does anyone know if the rulers start to die? I won't touch a game where my king lives for 110 years and gets a bunch of negative modifiers.
You can try reading the changelog in the OP?
 
  • 3
  • 1Like
Reactions:
Wouldn't be a baetter solution to allow multiy way wars (3 or more sides fighting in the same war?) - this would solve a lot of issues with break of wars, rebellions and so on (which have been a problem in all PDX games so far)
Considering it's probably very hard coded (since no pdx games have 3ways) any workaround will probably be much easier to do than allow this
 
  • 1
  • 1Like
Reactions:
Considering it's probably very hard coded (since no pdx games have 3ways) any workaround will probably be much easier to do than allow this
An Engine upgrade would be interesting then.
Could solve thsoe oos/numberoverflow issues as well... (properly designed/done from a softwareengineering perspective)
 
  • 1
Reactions:
The pricing function is linear, ranging from 0.25 to 1.75 of base price and reaching those bounds when sell / buy is 2:1 and 1:2 vice versa and progressing linearly based on the ratio between buy and sell orders in between. Not sure where the claim to a concave pricing function is coming from, this is pretty well outlined in both tooltips and the defines file (the PRICE_RANGE and BUY_SELL_DIFF_AT_MAX_FACTOR defines in particular).

The price inversions are rather originating from traders optimizing their volume based on an average of pre- and post-trade prices, but then applying the full brunt of this volume as Sell and Buy orders in the respective markets. This essentially lets them execute a number of profitable transactions "before" the final market prices are actually set, leading domestic market agents to have to buy or sell at (probably) unfair prices by comparison, particularly when one market is much bigger than the other. We'll try to address it like I said, but please understand that even if a different algorithm was to work better and look more sane at large volumes, there's no guarantee this will magically solve all problems without causing new ones.
The pricing function isn’t quite linear. If there are 10 buy orders for Wheat, each additional sell order from 5 to 10 will decrease the price by 0.15. Each additional sell order from 10 to 20 will only decrease the price by 0.075.

Think of it as 1:2 and 4:2 rather than 1:2 and 2:1. The distance between 1 and 2 is half the distance between 4 and 2, yet the distance between 0.25 and 1 is equal to the distance between 1 and 1.75.

I don’t know the details of how you calculate your trade routes but that shift in slope will throw off your calculations if it isn’t taken into consideration. Odds are you’ve already thought of this but I figured I may as well say this in case you hadn’t.
 
  • 3Like
Reactions:
I definitely understand that perspective but I'm not sold on the thesis that every real life historical outcome represented the most likely scenario. Over the course of history plenty of 30% and even 10% outcomes have actually happened and shaped what came after.
yes, exactly.

I see a lot of suggestions focused on buffing mechanics such that the historically accurate result is almost forced. I personally find it more interesting to have the game represent the historical dynamics well (it also adds replayability). of course some might feel more immersed if AI produces the same results most of the time, thats also a perspective.

I think an example where this actually happened is the unification of Germany: Because Prussia gets German minors for free it will also form Germany most of the time, which is a good way to make the historical result more likely but belies the process a bit, which was not some semi-colonization mixed with the leadership question (which is represented fairly at least and gives Austria a shot on forming Germany), but rather a bottom up political movement (so far nationalism and pan-nationalism mostly is a tech that allows for these things rather than actually ideologies that affect things) that was more hindered by the leadership question of Austrian and Prussian rulers who didnt want to give up power in favor of a unified Germany.
@PDJR_Alastorn already stated that some flavor might get added though, so I am hopeful in that regard.
 
  • 8Like
  • 1
Reactions:
- Multiple changes to which notification types display as Toasts (middle of the screen) versus Feed (bottom right)

Could we get an overview of what these are (or rather: what the rationale is for a message to appear as Toasts)? Any chance we might get customizable notification settings in the future?
 
  • 2Like
  • 2
Reactions:
First of all, these are great changes all around as far as I can see. nice. One pretty big bug, that I dont see adressed however is that defaulting doesnt seem to work properly. is this planned for 1.2?

The pricing function isn’t quite linear. If there are 10 buy orders for Wheat, each additional sell order from 5 to 10 will decrease the price by 0.15. Each additional sell order from 10 to 20 will only decrease the price by 0.075.

Think of it as 1:2 and 4:2 rather than 1:2 and 2:1. The distance between 1 and 2 is half the distance between 4 and 2, yet the distance between 0.25 and 1 is equal to the distance between 1 and 1.75.

I don’t know the details of how you calculate your trade routes but that shift in slope will throw off your calculations if it isn’t taken into consideration. Odds are you’ve already thought of this but I figured I may as well say this in case you hadn’t.
its piecewise linear, which is still "quite" linear. but yes, the slope is 2x steeper for a shortage than for overproduction, which makes sense as a general thing, but could be rebalanced actually.
/edit: to create an everywhere differentiable linear pricing function, would result in either the price for a 50% shortage being just 37.5% higher and the price hitting +75% just at 0 sell orders

also in regards to discussion about linear price ranges I wanted to throw in the idea (pretty sure it has been suggested a few times, just to be sure), of making different orders of price elasticity a thing. linear price ranges are a good abstractions for most goods, not for all though.
 
Last edited:
  • 1Like
Reactions: