Jump to content
Game-Labs Forum

UAD Rebalancing Mod For [v1.4.0.5 R2]


admiralsnackbar

Recommended Posts

Updated the game to 1.1.1 and the mod to 0.4.

Due to broken penetration, last update the game/mod was struggling to hit full pens and overpens. This update is now allowing more pens, but there's a strange issue with deck vs belt prioritization.

Keeping the same ship/guns/shells, some battles only allow me to hit belt, even when I'm >30km, while other battles only allow me to hit deck, even when I'm <10km away. It's like the game is flipping a coin between belt and deck and my main guns are only allowed to hit that part of a ship for the whole battle.

This issue is affecting my main guns only, secondaries don't seem to be affected. AI ships also don't seem to be affected either.

I'm playing 1940s custom battles as 1 French BC vs 1 British BB. Maybe this issue could be custom battle or year specific, I'm not sure.

Link to comment
Share on other sites

6 hours ago, o Barão said:

U25Q4Nh.jpg

1890 Germany, max shipyard 12k. Is this correct?

My parameter affected the shipbuilding capacity, i'll make that more clear in the changelog.

The idea is that, as a function of GDP/max shipyard you  can build more ships in total not necessarily bigger ones. 

Edited by admiralsnackbar
  • Like 2
Link to comment
Share on other sites

2 hours ago, admiralsnackbar said:

My parameter affected the shipbuilding capacity, i'll make that more clear in the changelog.

I see. I got confused from my poor English. But still, I think this change is not needed. If we look at the screenshot I posted, we will see that Germany is capable of 85k tons already in 1890. If we take into consideration the naval arms race between Germany and Great Britain and how many pre-dreadnoughts they could launch every year, it is clear that this is already too much for this time period. Not a bad change, only that is not needed and is a little fantasy.

Link to comment
Share on other sites

3 minutes ago, o Barão said:

I see. I got confused from my poor English. But still, I think this change is not needed. If we look at the screenshot I posted, we will see that Germany is capable of 85k tons already in 1890. If we take into consideration the naval arms race between Germany and Great Britain and how many pre-dreadnoughts they could launch every year, it is clear that this is already too much for this time period. Not a bad change, only that is not needed and is a little fantasy.

you might be right, i'm going to have to continue to release updates even without changes to keep up with the hotfixes, so i might revert that change. 

  • Thanks 1
Link to comment
Share on other sites

6 minutes ago, neph said:

Do you expect 0.4 to work with 1.1.2?

The new resources.assets file for 1.1.2 likely [haven't checked yet] changes thing from 1.1.1  meaning that attempting to replace  it will undo the 1.1.2 fixes. (And the last thing I want is for people to complain to nick about bugs that were actually fixed by him but they don't know that because they used my mod)

I have to look at the timestamps of edited files and recreate the resources.assets from the 1.1.2, sadly i have to do this any time a hotfix comes out which is why I waited for live to release the build. I wasn't anticipating more hotfixes on a daily basis like before. 

But  still the last two hotfixes have fixed some serious issues so i can't complain. 

I will try to get a v0.5 out before midnight eastern time [1/25]

The good news: is that the mod is quite popular,
The bad news:  dropbox has suspended me for using too much bandwidth due to the downloads for the mod. 

Edited by admiralsnackbar
  • Like 10
Link to comment
Share on other sites

20 minutes ago, neph said:

Is there any way you can AGRESSIVELY increase spotting values?


I think so.

The long and tedious approach is to go through parts.txt and edit the tower spotting values of every single one, which would take several hours. 

I would be more comfortable doing this if I knew the formula for detection in game and could somehow map that to a more "trigonometry based system".  

Another approach would be to create or edit an existing technology at the beginning of the game and give it psuedo radar-like powers which increases tower spotting by a certain percentage. Note that this is going to probably be added to the tower spotting modifiers of other technologies which might have certain "unbalancing effects". Like if Radar II increases tower spotting by 100%, that's 100% of the base, but in this theoretical universe we might have already boosted tower spotting by 50%, so it's 1.5x default and 2.5x with radar 


 

Edited by admiralsnackbar
Link to comment
Share on other sites

8 hours ago, neph said:

Could probably write a quick python script to crawl parts.txt & alter every value

As soon as I learn to code in python :D 

In all seriousness though there was someone on this thread who described using a script to edit the text files. I have a rough Idea of what I would want. Go through the towers values and find the minimum and maximum spotting values in the game, adjust all values by a scalar. 

It occurs to me though that weather in the game alters the detection range [by a negative percent] -- i wonder if it's possible to alter it by a positive percent and then adjust the values relative to eachother so that the relative differences between the ranges are preserved. That would acomplish the above without a python script. 

 

Edited by admiralsnackbar
  • Like 1
Link to comment
Share on other sites

9 hours ago, neph said:

Could probably write a quick python script to crawl parts.txt & alter every value

 

1 hour ago, admiralsnackbar said:

As soon as I learn to code in python :D 

In all seriousness though there was someone on this thread who described using a script to edit the text files. I have a rough Idea of what I would want. Go through the towers values and find the minimum and maximum spotting values in the game, adjust all values by a scalar. 

It occurs to me though that weather in the game alters the detection range [by a negative percent] -- i wonder if it's possible to alter it by a positive percent and then adjust the values relative to eachother so that the relative differences between the ranges are preserved. That would acomplish the above without a python script. 

 

I think a 50% boost to the surface detectability of every hull would go a long way to improving it. Then go from there to see if Tower spotting needs to be tweaked. I think the underlining mechanics work, just way to low to produce real world spotting distances. 

Link to comment
Share on other sites

6 hours ago, admiralsnackbar said:

As soon as I learn to code in python :D 

In all seriousness though there was someone on this thread who described using a script to edit the text files. I have a rough Idea of what I would want. Go through the towers values and find the minimum and maximum spotting values in the game, adjust all values by a scalar. 

It occurs to me though that weather in the game alters the detection range [by a negative percent] -- i wonder if it's possible to alter it by a positive percent and then adjust the values relative to eachother so that the relative differences between the ranges are preserved. That would acomplish the above without a python script. 

 

It's really incredibly simple. If you can point me at where parts.txt lives I'll give it a swing

Link to comment
Share on other sites

"...Features include new weather and graphical environments, UI polish, improvements on the spotting system and many new ship models. We will also create a special thread where you can help us list what is mostly bothering you, so we can try to fix it...."

 

https://store.steampowered.com/news/app/1069660/view/3653017023922886169

5 hours ago, madham82 said:

 

I think a 50% boost to the surface detectability of every hull would go a long way to improving it. 

Maybe it's better to wait and see what the devs will do? This being said a 50% boost can be a nice improvement.

Link to comment
Share on other sites

43 minutes ago, o Barão said:

"...Features include new weather and graphical environments, UI polish, improvements on the spotting system and many new ship models. We will also create a special thread where you can help us list what is mostly bothering you, so we can try to fix it...."

 

https://store.steampowered.com/news/app/1069660/view/3653017023922886169

Maybe it's better to wait and see what the devs will do? This being said a 50% boost can be a nice improvement.

Yep I saw that, so they at least acknowledge it is a problem. Maybe they took some notes my post in the main thread. I know we aren't the only ones who have complained either. 

Link to comment
Share on other sites

16 hours ago, neph said:

Could probably write a quick python script to crawl parts.txt & alter every value

awk or perl are better for this; both are specialized specifically for this kind of bulk text manpulation, awk moreso than perl. Python is the world's most popular dumpster fire, and personally I will only touch it for significant quantities of money.

Currently I just use a shell script and sed since unpacking and repacking the asset file is too much trouble for the edits I want to make. If I was properly unpacking it, I would probably use awk. (I could write my own unpacker in c++, but I can do 99% of edits I want without bothering.) 

 

#!/bin/zsh

UAD_DIR='/home/REDACTED/Documents/games/steam/steamapps/common/Ultimate Admiral Dreadnoughts/Ultimate Admiral Dreadnoughts_Data'
UAD_ASSETS="$UAD_DIR/resources.assets"
UAD_BACKUP="${UAD_ASSETS}.bak"

declare -a GUN_MARKS GUN_CALIBERS
declare -ia MARK_STARTS MARK_ENDS CALIBER_OFFSETS
GUN_MARKS=(
	"Mk-I"
	"Mk-II"
	"Mk-III"
	"Mk-IV"
	"Mk-V"
)
GUN_CALIBERS=(
	"9-inch"
	"10-inch"
	"11-inch"
	"12-inch"
	"13-inch"
	"14-inch"
	"15-inch"
	"16-inch"
	"17-inch"
	"18-inch"
	"19-inch"
	"20-inch"
)
# Taken from secondary gun techs.
MARK_STARTS=(
	"1890"
	"1893"
	"1910"
	"1919"
	"1930"
)
MARK_ENDS=(
	"1890"
	"1902"
	"1919"
	"1929"
	"1940"
)
# Taken form main gun techs.
CALIBER_OFFSETS=(
	 0 #  9in
	 0 # 10in
	 0 # 11in
	 0 # 12in
	 5 # 13in - 1895
	21 # 14in - 1911
	27 # 15in - 1917
	29 # 16in - 1919
	34 # 17in - 1924
	37 # 18in - 1927
	39 # 19in - 1929
	41 # 20in - 1931
)


generate_gun_years()
{
	local -i ncals=${#GUN_CALIBERS[@]}
	for ((i = 1; i <= ${#GUN_MARKS[@]}; ++i)); do
		for ((j = 1; j <= $ncals; ++j)); do
			local -i coff=${CALIBER_OFFSETS[$j]}
			local -i syear=${MARK_STARTS[$i]}
			local -i eyear=${MARK_ENDS[$i]}
			local -i year=$(( $syear + ($eyear - $syear) * $j / $ncals ))
			# "Minimum Year" for calibers which are not invented at game start.
			local -i myear=$((1890 + $coff + 2 * $i - 1))
			# Don't allow bigger guns to hit high marks too fast
			[[ $year -lt $myear ]] && year=$myear

			echo ${GUN_MARKS[${i}]} ${GUN_CALIBERS[${j}]} guns $year  
		done
	done
}

apply_changes()
{
	local line;
	while read -r line; do
		[[ ${line:0:2} != "//" ]] && sed -re "$line" -i "$UAD_ASSETS"
	done
}

# Applies changes in a single sed call.
apply_changes_opt()
{
	local line

	while read -r line; do
		echo -e '\055e' "'$line'"
	done | xargs sed -r -i "$UAD_ASSETS"
}

cp "$UAD_BACKUP" "$UAD_ASSETS"

apply_changes << 'EOF'
s/,south_carolina_hull_a,/,dreadnought_hull_c,000/
s/(tech_budget_boost),110/\1,120/
s/(tech_budget_max),35/\1,50/
s/(research_progress_base),1.5/\1,1.8/
s/(research_late_years_to_double),25/\1,10/
s/(hide_research_below),66/\1,20/
s/(fuel_battle_max_throttle_mod),1.05/\1,0.50/
s/flaws\(3.5\)/flaws(5.0)/
s/reload\(27.5\)/reload(50.0)/
s/reload\(20\)/reload(40)/
s/reload\(15\)/reload(30)/
s/reload\(10\)/reload(20)/
s/penetration\(1.5\)/penetration(015)/
s/penetration\(-2.5\)/penetration(5.00)/
s/penetration\(-5\)/penetration(10)/
s/(Dunnite.*shell_damage)\(10\)/\1(25)/
s/gun_damage\(\+17.5;-15\)/gun_damage(+5.0;-5.0)/
s/torpedo_damage\(\+20;-20\)/torpedo_damage(+5;-5.0)/
s/gun_damage\(\+20;-20\)/gun_damage(+5;-5.0)/
s/ap_ricochet_chance\(7.5\)/ap_ricochet_chance(-10)/
s/ap_ricochet_chance\(10\), /ap_ricochet_chance(-15),/
s/ap_ricochet_chance\(15\), /ap_ricochet_chance(-20),/
s/ap_ricochet_chance\(20\), /ap_ricochet_chance(-40),/
s/(^gun_length_firerate_min,0.)275/\1100/
s/(^gun_length_firerate_max,-0.)15/\110/
s/(^over_penetration_threshold,)2/\13/
s/(^over_penetration,0.0)85/\135/
s/(^armor_damage_threshold),0.15/\1,0.15/
s/(^no_ricochet_threshold),1.5/\1,1.1/
s/(weight\(tower_(main|sec);)-2\)/\1-1)/g
s/(weight\(tower_(main|sec);)-3.5\)/\1-2.0)/g
s/(weight\(tower_(main|sec);)-5\)/\1-3)/g
s/(weight\(tower_(main|sec);)-6.5\)/\1-4.0)/g
s/(weight\(tower_(main|sec);)-8\)/\1-5)/g
s/(weight\(tower_(main|sec);)-4\)/\1-2)/g
s/(weight\(tower_(main|sec);)-7\)/\1-4)/g
s/(weight\(tower_(main|sec);)-9\)/\1-5)/g
s/(weight\(tower_(main|sec);)-10\)/\1-06)/g
s/(weight\(tower_(main|sec);)-11\)/\1-06)/g
s/(weight\(tower_(main|sec);)-13\)/\1-07)/g
s/(weight\(tower_(main|sec);)-15\)/\1-10)/g
s/(weight\(tower_(main|sec);)-20\)/\1-12)/g
s/(weight\(tower_(main|sec);)-25\)/\1-15)/g
s/(weight\(tower_(main|sec);)-7.5\)/\1-5.0)/g
s/(weight\(tower_(main|sec);)-12\)/\1-08)/g
s/(^lose_provinces_threshold,0).3/\1.1/
s/(^war_min_duration,)5/\11/
s/(^war_wealth_growth_add,-0.00)55/\115/
s/(^war_inflation_add,-0.0)12/\103/
s/(^instability_damage_ratio,0.0)65/\115/
s/(^peace_treaty_chance_per_month,)20/\160/
s/(^player_decision_chance_fight,)-15/\1-50/
s/(^peace_min_vp_difference),10000/\1,05000/
s/(^major_nation_threat_chance,0).1/\1.9/
s/(^spread_close,0).85/\1.65/
s/(^min_battle_lines_spread),1050/\1,0750/
s/(^damage_section_spread_mod),0.975/\1,0.500/
s/(^destroyed_section_damage_penalty),0.25/\1,0.15/
s/(^war_naval_budget_mult),2,mu/\1,1.2,/
EOF

generate_gun_years | \
# This works because the first capture group is greedy and catches up to the last space.
sed -re 's/(.*) (.*)/s\/(\1),1...\/\\1,\2\//' | apply_changes_opt


 

Edited by anonusername
Link to comment
Share on other sites




V0.6 changes (for 1.1.3)

It is difficult to keep current with a daily update schedule, being quick about this limits my ability to guaranty that campaigns and battles are not broken. I very quickly checked my own campaign and custom battles to make sure they could launch properly, but that is no guaranty. Please be kind to me if something breaks, just revert to vanilla and inform me about it.

  • Updated files to allow for compatibility with latest hotfix (1.1.2). Some small differences from v0.3 in terms of the what is changed from vanilla. If not mentioned assume it’s the same as before:
    • Accuracies
      • Detection range modifiers for weather have been “on-leveled” so that the relative differences between them are preserved, but the new “base detection” is 1.5x what the base detection is. @neph
      •  Anecdotally looks like it’s working but it’s the sort of thing that is insanely hard to test. Feedback on this ‘change’ is very strongly requested.
      • Will adjust based on feedback and also possible future changes as needed.
    • Params
      • Anything I noticed that was altered between 1.1.3 and 1.1.2 I have deferred to. I’ve squeezed some of the gdp modifiers to be closer to vanilla again. If national economy collapses stop happening I may remove them completely for the next version.
      • Chance of peace/war after you make your choice is still 90%
  • Like 1
  • Thanks 3
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...