SUBSIM Radio Room Forums

SUBSIM Radio Room Forums (https://www.subsim.com/radioroom/index.php)
-   SH5 Mods Workshop (https://www.subsim.com/radioroom/forumdisplay.php?f=249)
-   -   Community projects? (https://www.subsim.com/radioroom/showthread.php?t=203306)

gap 04-22-13 10:00 AM

Quote:

Originally Posted by Targor Avelany (Post 2045053)
no need for apologies, gap :)
All of us know very well how much you have done and continue doing for SH5.

Thank you for understanding Targor :salute:

Quote:

Originally Posted by Targor Avelany (Post 2045053)
Plus, we all also have lives. (well, I think we do:haha:)

...sometimes :D

keysersoze 04-23-13 01:07 AM

3 Attachment(s)
I have finished enough of the AI testing to post the results. In the end, I completed 90 tests, which is short of my goal but hopefully sufficient to still have statistical relevance. You will see that I only ran ten tests at the "poor" skill level, since further tests seemed like a waste of time; I will explain why below.

I have attached the data sets to this post. (By the way, how do I insert images directly into my posts?)

Testing Parameters
All tests were performed in the same mission with only the skill level altered between tests. Further, I performed the tests for each skill level in groups of five at a time to ensure I did not accidentally alter any of the parameters of the mission when I changed the skill level. The U-boat was positioned approximately 3 km away from a convoy consisting of one large liner and five medium merchants. I ran a number of tests with various escorts, but I decided to use a best-case scenario as my baseline test. As mentioned yesterday, I was only testing outcomes, rather than following each torpedo fired. I gave the AI U-boat one in-game hour to sink as many ships as possible, assigning one point for sinking a ship and half a point for damaging a ship but not sinking it. Whenever a ship was damaged, I observed it for one additional in-game hour to see if it would sink.

Results and the Competent/Veteran Anomaly
As you can see, "competent" is still scoring slightly better than "veteran." After observing the AI U-boats and the convoys they hunted, I've come to the conclusion that the veterancy levels mainly affect U-boat sensors. For example, with "poor" skill level, the U-boat never noticed the convoy. On several occasions, the boat approached the convoy, passed between the columns of ships, nearly collided with the large liner, and then sailed merrily along, with the commander apparently none the wiser that he had passed within about 10 meters from a 30,000 GRT ship! In the case of "competent" scoring higher than "veteran," I believe this is to do with the fact that the competent commander noticed the convoy later than the veteran commander, which meant that he was closer to the convoy and able to take more accurate shots. Anecdotally, my observations appear to bear this out: the vast majority of the successful attacks by competent commanders occurred during their first attack on the convoy; unlike competent commanders, veterans and elite captains sank most of their targets after the initial torpedo salvo, as they chased, reloaded, and fired again. The competent commanders, while more accurate for the first shot, had difficulty tracking the convoy once it took evasive action.

Although this reveals some interesting insights into the AI, it also points to a shortcoming of this testing method. Since veteran and elite commanders are better at detecting the enemy in the first place, they would likely continue to get high marks even when placed farther away from the convoy. Competent commanders, on the other hand, would see their effectiveness decline rapidly the farther they got from the convoy, since they might not even be able to sense it.

Proposal
In light of these findings, I propose we stick to a distribution of skill levels that mostly ignores the anomaly between veteran and competent skill settings. I also think we can ignore the poor and possibly the novice skills, since those settings make AI U-boats quite bad. In the scoring rubric below, I assigned points to 1) commander ranks and 2) tonnage sunk. Tonnage sunk is given more weight than rank, since practical experience sinking ships would likely make one a better U-boat commander than wearing shiny epaulettes. These point levels, when added together, give us a corresponding veterancy level. I don't have much experience creating Excel formulae, so the point system below might seem a bit crude. I'm sure there is a simpler and more elegant way to do it.

Ranks:
Oberleutnant z. S. = 1 point
Kapitänleutnant = 2 points
Korvettenkapitän = 3 points

Tonnage Sunk:
1 - 15,000 = 2 points
15,001 - 25,000 = 3 points
over 25,000 = 5 points
--------------------------
Competent = 1 point (default)
Veteran = 4 points
Elite = 6 points

I have also tried to create another iteration of the scoring rubric for the later war, since it seems that the quality of training, as well as the opportunities to make mistakes and not get killed for them, would have decreased. I was thinking about something like using the above system from Sept. 1939 until late 1943 and then using a second system, possibly with "novice" as the default skill setting, until the end of the war. What do you guys think?

Targor Avelany 04-23-13 08:38 AM

Nice! Very interesting results!

Very good job! :up:

gap 04-23-13 08:39 AM

Well done, Daniel :up:

Based on your findings, this is my proposal for crew ranking calculation:

lesser than 12,500 tons sunk: Poor
12,500 - 24,999: Novice
25,000 - 37,499: Competent
37,500 - 49,999: Veteran
50,000 and more: Elite

Commander's ranks would contribute to the total tonnage sunk with the following additional factors:

Fähnrich zur See: 3,125
Oberfähnrich zur See: 6,250
Leutnant zur See: 9,325
Oberleutnant zur See: 12,500
Kapitänleutnant: 15,625
Korvettenkapitän: 18,750
Fregattenkapitän: 21,875
Kapitän zur See: 25,000

As you can see, the "Poor" ranking would be extremely unlikely, being applied to commanders with not tonnage sunk whose rank was lower than "Oberleutnant zur See" (the most common rank of U-boat commanders, according to uboat.net). "Novice" would be the most common in-gane ranking applied to medium-high rank commanders at the beginning of their careers. Getting promoted to the "Elite" level would take 37,500 tons sunk to an Oberleutnant and 34,375 to a Kapitänleutnant; respectively 25,000 and 21,875 for the "Veteran" level, and 12,500 - 9,375 for the "Competent" level. On the other hand, the maximum rank which a Kapitän zur See could attain having sunk lesser than 12,500 tons, is "Competent" (which is also his starting ranking); but it is extremely unlikely that such an high-ranked officer would have been given the command of an U-boat anyway.

What do you think? :hmm2:

Quote:

Originally Posted by keysersoze (Post 2045431)
I have also tried to create another iteration of the scoring rubric for the later war, since it seems that the quality of training, as well as the opportunities to make mistakes and not get killed for them, would have decreased. I was thinking about something like using the above system from Sept. 1939 until late 1943 and then using a second system, possibly with "novice" as the default skill setting, until the end of the war. What do you guys think?

Wouldn't better ASW sensors and AI be enough to realistically decrease the performance of our virtual wolf pack mates, at late war? :06:
Moreover, the assignement of many unexperienced commanders to U-boat's command during late war, would further decrease their performance...

keysersoze 04-23-13 11:24 AM

Quote:

Originally Posted by gap (Post 2045533)
Based on your findings, this is my proposal for crew ranking calculation:

lesser than 12,500 tons sunk: Poor
12,500 - 24,999: Novice
25,000 - 37,499: Competent
37,500 - 49,999: Veteran
50,000 and more: Elite

Commander's ranks would contribute to the total tonnage sunk with the following additional factors:

Fähnrich zur See: 3,125
Oberfähnrich zur See: 6,250
Leutnant zur See: 9,325
Oberleutnant zur See: 12,500
Kapitänleutnant: 15,625
Korvettenkapitän: 18,750
Fregattenkapitän: 21,875
Kapitän zur See: 25,000

As you can see, the "Poor" ranking would be extremely unlikely, being applied to commanders with not tonnage sunk whose rank was lower than "Oberleutnant zur See" (the most common rank of U-boat commanders, according to uboat.net). "Novice" would be the most common in-gane ranking applied to medium-high rank commanders at the beginning of their careers. Getting promoted to the "Elite" level would take 37,500 tons sunk to an Oberleutnant and 34,375 to a Kapitänleutnant; respectively 25,000 and 21,875 for the "Veteran" level, and 12,500 - 9,375 for the "Competent" level. On the other hand, the maximum rank which a Kapitän zur See could attain having sunk lesser than 12,500 tons, is "Competent" (which is also his starting ranking); but it is extremely unlikely that such an high-ranked officer would have been given the command of an U-boat anyway.

What do you think? :hmm2:

Your system is much more elegant than mine. I like it, except I think it might give us too many novice commanders at the beginning of their careers. Even when placed in an ideal position against a totally unguarded convoy, novice AI is not very good. My concern is that, if forced to intercept a guarded convoy from a greater distance, novice commanders would be almost useless.

Also, I wonder if there should be a bonus to prewar U-boat commanders. Many of these captains had been the beneficiaries of extensive training programs while the U-boot arm was being built up. A number of them also participated in interdiction patrols during the Spanish civil war and conducted simulated wolfpack attacks beginning in late 1936 in the Baltic and in the Atlantic proper. This is why I was inclined to make "competent" the default setting. Then again, I might just have difficulty calling Prien, Lüth, etc. novices... :hmmm:

Quote:

Originally Posted by gap (Post 2045533)
Wouldn't better ASW sensors and AI be enough to realistically decrease the performance of our virtual wolf pack mates, at late war? :06:
Moreover, the assignement of many unexperienced commanders to U-boat's command during late war, would further decrease their performance...

Good points :yep: Although I did not record any instances of destroyers sinking AI U-boats with depth charges, their very presence was often enough to allow the convoy to escape.

gap 04-23-13 11:28 AM

Let's make a few examples, based on my proposed ranking system:

U-27 / Johannes Franz

Code:

                commander's rank        tonnage sunk        total        ranking
1st patrol        9,325 (Lt.)                624                9,949        Novice

U-28 / Günter Kuhnke

Code:

                commander's rank        tonnage sunk        total        ranking
1st patrol        12,500 (Oblt.)                4,955                17,455        Novice
2nd patrol        15,625 (Kptlt.)                15,232                30,857        Competent
3rd patrol        15,625 (Kptlt.)                26,447                42,072        Veteran
4th patrol        15,625 (Kptlt.)                36,750                52,375        Elite
...

U-29 / Otto Schuhart

Code:

                commander's rank        tonnage sunk        total        ranking
1st patrol        15,625 (Kptlt.)                41,905                57,530        Elite
...

U-30 / Fritz-Julius Lemp

Code:

                commander's rank        tonnage sunk        total        ranking
1st patrol        12,500 (Oblt.)                23,206                35,706        Competent
2nd patrol        15,625 (Kptlt.)                23,206                38,831        Veteran
3rd patrol        15,625 (Kptlt.)                54,631                70,256        Elite
...

U-31 / Johannes Habekost

Code:

                commander's rank        tonnage sunk        total        ranking
1st patrol        15,625 (Kptlt.)                0                15,625        Novice
2nd patrol        15,625 (Kptlt.)                8,706                24,331        Novice
3rd patrol        15,625 (Kptlt.)                8,706                24,331        Novice
4th patrol        15,625 (Kptlt.)                17,962                33,587        Competent
5th patrol        15,625 (Kptlt.)                17,962                33,587        Competent
...

U-31 / Wilfried Prellberg

Code:

                commander's rank        tonnage sunk        total        ranking
...
6th patrol        12,500 (Oblt.)                4,400                16,900        Novice
7th patrol        12,500 (Oblt.)                9,789                22,289        Novice

U-32 / Paul Büchel

Code:

                commander's rank        tonnage sunk        total        ranking
1st patrol        15,625 (Kptlt.)                0                15,625        Novice
2nd patrol        15,625 (Kptlt.)                5,738                21,363        Novice
3rd patrol        15,625 (Kptlt.)                6,697                22,322        Novice
...

U-32 / Hans Jenisch

Code:

                commander's rank        tonnage sunk        total        ranking
...
4th patrol        12,500 (Oblt.)                2,818                15,318        Novice
5th patrol        12,500 (Oblt.)                2,818                15,318        Novice
6th patrol        12,500 (Oblt.)                18,916                31,416        Competent
7th patrol        12,500 (Oblt.)                40,009                52,509        Elite
...

U-33 / Hans-Wilhelm von Dresky

Code:

                commander's rank        tonnage sunk        total        ranking
1st patrol        15,625 (Kptlt.)                5,914                21,539        Novice
2nd patrol        15,625 (Kptlt.)                11,002                26,627        Competent
3rd patrol        15,625 (Kptlt.)                11,002                26,627        Competent

U-34 / Wilhelm Rollmann

Code:

                commander's rank        tonnage sunk        total        ranking
1st patrol        15,625 (Kptlt.)                11,357                26,982        Competent
2nd patrol        15,625 (Kptlt.)                27,903                43,528        Veteran
3rd patrol        15,625 (Kptlt.)                33,528                49,153        Veteran
4th patrol        15,625 (Kptlt.)                33,528                49,153        Veteran
5th patrol        15,625 (Kptlt.)                34,123                49,748        Veteran
6th patrol        15,625 (Kptlt.)                56,557                72,182        Elite
...

U-35 / Werner Lott

Code:

                commander's rank        tonnage sunk        total        ranking
1st patrol        15,625 (Kptlt.)                0                15,625        Novice
2nd patrol        15,625 (Kptlt.)                13,864                29,489        Competent
3rd patrol        15,625 (Kptlt.)                13,864                29,489        Competent

U-36 / Wilhelm Fröhlich

Code:

                commander's rank        tonnage sunk        total        ranking
1st patrol        15,625 (Kptlt.)                2,813                18,438        Novice
2nd patrol        18,750 (KrvKpt.)        2,813                21,563        Novice

Notes:
- when not inferable from uboat.net's information, Oberleutnant zur See was used as standard commander's rank.
- ships sunk by mine or captured weren't considered
- ships damaged and warship tonnages were considered as "normal" tonnage

Comments:
Maybe we should apply progressively wider tonnage ranges for higher rankings :hmmm:

keysersoze 04-23-13 12:09 PM

Quote:

Originally Posted by gap (Post 2045589)
Let's make a few examples, based on my proposed ranking system:
....
Comments:
Maybe we should apply progressively wider tonnage ranges for higher rankings :hmmm:

Some very illustrative examples. Thanks gap :up: How about slightly decreasing the requirements for the competent ranking but increasing them for veteran and elite? That way, more commanders will fall into the middle categories, meaning it would be be easy to gain initial experience but it would become progressively more difficult to achieve a higher status.

gap 04-23-13 12:55 PM

Quote:

Originally Posted by keysersoze (Post 2045588)
Your system is much more elegant than mine. I like it, except I think it might give us too many novice commanders at the beginning of their careers. Even when placed in an ideal position against a totally unguarded convoy, novice AI is not very good. My concern is that, if forced to intercept a guarded convoy from a greater distance, novice commanders would be almost useless.

Quote:

Originally Posted by keysersoze (Post 2045602)
Some very illustrative examples. Thanks gap :up: How about slightly decreasing the requirements for the competent ranking but increasing them for veteran and elite? That way, more commanders will fall into the middle categories, meaning it would be be easy to gain initial experience but it would become progressively more difficult to achieve a higher status.

What about the following figures?

lesser than 6,250 tons sunk: Poor
6,250 - 12,499: Novice
12,500 - 24,999: Competent
25,000 - 49,999: Veteran
50,000 and more: Elite

Commander's rank additional factors:

Fähnrich zur See: 1,562
Oberfähnrich zur See: 3,125
Leutnant zur See: 4,687
Oberleutnant zur See: 6,250
Kapitänleutnant: 7,812
Korvettenkapitän: 9,375
Fregattenkapitän: 10,937
Kapitän zur See: 12,500

They should make unexperienced U-boat crews to gain experience much faster at the beginning of their career. The novice level would still appear, but much lesser frequently :yep:

Quote:

Originally Posted by keysersoze (Post 2045588)
Also, I wonder if there should be a bonus to prewar U-boat commanders. Many of these captains had been the beneficiaries of extensive training programs while the U-boot arm was being built up. A number of them also participated in interdiction patrols during the Spanish civil war and conducted simulated wolfpack attacks beginning in late 1936 in the Baltic and in the Atlantic proper. This is why I was inclined to make "competent" the default setting. Then again, I might just have difficulty calling Prien, Lüth, etc. novices... :hmmm:

a few remarks:

1. rank-relative additional tonnages in our ranking system are exactly meant to mimic this fact, giving a starting bonus to the most experienced commanders. If you look at my previous post, at the very beginning of the conflict the most common rank was Kptlt. Later during the war, low-ranking officers were assigned U-boat commands more often, due to the high casualty rates.

2. Tonnages sunk during the first part of the war were consistently higher than at later stages. This should make successful commanders (such as Prien, Lüth, etc.) to achieve high ranking levels in few patrols.

3. During the first months of the conflict, group strategies were hardly used. By the time the wolfpack tactic had been fully developed, our aces should have attained their maximum rankings :up:

Quote:

Originally Posted by keysersoze (Post 2045588)
Good points :yep: Although I did not record any instances of destroyers sinking AI U-boats with depth charges, their very presence was often enough to allow the convoy to escape.

Another remark:

During late war, tonnage success decreased drastically. This fact will be refected by our ranking system with lower veterancy levels, without need of further adjustements.

gap 04-23-13 01:54 PM

Using the new ranges:

U-27 / Johannes Franz

Code:

                commander's rank        tonnage sunk        total        ranking
1st patrol        4,687 (Lt.)                624                5,311        Poor

U-28 / Günter Kuhnke

Code:

                commander's rank        tonnage sunk        total        ranking
1st patrol        6,250 (Oblt.)                4,955                11,205        Novice
2nd patrol        7,812 (Kptlt.)                15,232                23,044        Competent
3rd patrol        7,812 (Kptlt.)                26,447                34,259        Veteran
4th patrol        7,812 (Kptlt.)                36,750                44,562        Veteran
5th patrol        7,812 (Kptlt.)                51,373                59,185        Elite
...

U-29 / Otto Schuhart

Code:

                commander's rank        tonnage sunk        total        ranking
1st patrol        7,812 (Kptlt.)                41,905                49,717        Veteran
2nd patrol        7,812 (Kptlt.)                41,905                49,717        Veteran
3rd patrol        7,812 (Kptlt.)                51,694                59,506        Elite
...

U-30 / Fritz-Julius Lemp

Code:

                commander's rank        tonnage sunk        total        ranking
1st patrol        6,250 (Oblt.)                23,206                29,456        Veteran
2nd patrol        7,812 (Kptlt.)                23,206                31,018        Veteran
3rd patrol        7,812 (Kptlt.)                54,631                62,443        Elite
...

U-31 / Johannes Habekost

Code:

                commander's rank        tonnage sunk        total        ranking
1st patrol        7,812 (Kptlt.)                0                7,812        Novice
2nd patrol        7,812 (Kptlt.)                8,706                16,518        Competent
3rd patrol        7,812 (Kptlt.)                8,706                16,518        Competent
4th patrol        7,812 (Kptlt.)                17,962                25,774        Veteran
5th patrol        7,812 (Kptlt.)                17,962                33,587        Veteran
...

U-31 / Wilfried Prellberg

Code:

                commander's rank        tonnage sunk        total        ranking
...
6th patrol        6,250 (Oblt.)                4,400                10,650        Novice
7th patrol        6,250 (Oblt.)                9,789                16,039        Competent

U-32 / Paul Büchel

Code:

                commander's rank        tonnage sunk        total        ranking
1st patrol        7,812 (Kptlt.)                0                7,812        Novice
2nd patrol        7,812 (Kptlt.)                5,738                13,550        Competent
3rd patrol        7,812 (Kptlt.)                6,697                14,509        Competent
...

U-32 / Hans Jenisch

Code:

                commander's rank        tonnage sunk        total        ranking
...
4th patrol        6,250 (Oblt.)                2,818                9,068        Novice
5th patrol        6,250 (Oblt.)                2,818                9,068        Novice
6th patrol        6,250 (Oblt.)                18,916                25,166        Veteran
7th patrol        6,250 (Oblt.)                40,009                46,259        Veteran
8th patrol        6,250 (Oblt.)                90,540                96,790        Elite
...

U-33 / Hans-Wilhelm von Dresky

Code:

                commander's rank        tonnage sunk        total        ranking
1st patrol        7,812 (Kptlt.)                5,914                13,726        Competent
2nd patrol        7,812 (Kptlt.)                11,002                18,814        Competent
3rd patrol        7,812 (Kptlt.)                11,002                18,814        Competent

U-34 / Wilhelm Rollmann

Code:

                commander's rank        tonnage sunk        total        ranking
1st patrol        7,812 (Kptlt.)                11,357                19,169        Competent
2nd patrol        7,812 (Kptlt.)                27,903                35,715        Veteran
3rd patrol        7,812 (Kptlt.)                33,528                41,340        Veteran
4th patrol        7,812 (Kptlt.)                33,528                41,340        Veteran
5th patrol        7,812 (Kptlt.)                34,123                41,935        Veteran
6th patrol        7,812 (Kptlt.)                56,557                64,369        Elite
...

U-35 / Werner Lott

Code:

                commander's rank        tonnage sunk        total        ranking
1st patrol        7,812 (Kptlt.)                0                7,812        Novice
2nd patrol        7,812 (Kptlt.)                13,864                21,676        Competent
3rd patrol        7,812 (Kptlt.)                13,864                21,676        Competent

U-36 / Wilhelm Fröhlich

Code:

                commander's rank        tonnage sunk        total        ranking
1st patrol        7,812 (Kptlt.)                2,813                10,625        Novice
2nd patrol        9,375 (KrvKpt.)                2,813                12,188        Novice

Result:

1 Poor + 9 Novice levels versus 16 Novice levels obtained for the same U-boat commanders using the previous ranges :03:

keysersoze 04-23-13 02:27 PM

Quote:

Originally Posted by gap (Post 2045641)
What about the following figures?
....

I like your figures and am convinced by your arguments :up:

One final question: do you think we should use the poor skill? So far poor commanders have not even noticed the convoy was there, even though they sailed right beside it.

gap 04-23-13 03:06 PM

Quote:

Originally Posted by keysersoze (Post 2045693)
One final question: do you think we should use the poor skill? So far poor commanders have not even noticed the convoy was there, even though they were sailed right beside it.

Personally I would keep them for three reasons:

1 - "Poor" rankings will be quite rare, being applied only to unusually low-ranked U-boat commanders. I cannot think of a Cadet or a Senior Cadet being given the command of a submarine other than in emergency circumstances, whereas a Leutenant would need to sink just 1,653 tons for being promoted to the next level (which is usually achieved in one, maximum two war patrols).

2 - Loving variety, I think that giving up one veterancy level out of five would be a shame.

3 - Possibly, there is some space for making "Poor" subs more effective, via AI or sensors tweaks. Or at least I hope so :hmm2:

keysersoze 04-23-13 03:55 PM

Quote:

Originally Posted by gap (Post 2045714)
Personally I would keep them for three reasons:

1 - "Poor" rankings will be quite rare, being applied only to unusually low-ranked U-boat commanders. I cannot think of a Cadet or a Senior Cadet being given the command of a submarine other than in emergency circumstances, whereas a Leutenant would need to sink just 1,653 tons for being promoted to the next level (which is usually achieved in one, maximum two war patrols).

2 - Loving variety, I think that giving up one veterancy level out of five would be a shame.

3 - Possibly, there is some space for making "Poor" subs more effective, via AI or sensors tweaks. Or at least I hope so :hmm2:

Sounds good to me. As long as it is rare, we can use it to add variety. As you said, there's also no reason to think U-boat AI could not be improved, judging from TDW's successes with IRAI.

gap 04-23-13 04:40 PM

Quote:

Originally Posted by keysersoze (Post 2045739)
Sounds good to me. As long as it is rare, we can use it to add variety. As you said, there's also no reason to think U-boat AI could not be improved, judging from TDW's successes with IRAI.

Okay, tomorrow I will start implementing the new U-boat ranking system. Keep me informed in case you get any other remark :up:

keysersoze 04-23-13 07:51 PM

Quote:

Originally Posted by gap (Post 2045752)
Okay, tomorrow I will start implementing the new U-boat ranking system. Keep me informed in case you get any other remark :up:

Sounds good. I will let you know if I can do some more testing, but I think I need to devote a few hours to my thesis tonight :shifty:

gap 04-24-13 05:35 AM

Quote:

Originally Posted by keysersoze (Post 2045819)
Sounds good. I will let you know if I can do some more testing, but I think I need to devote a few hours to my thesis tonight :shifty:

Never mind. Your thesis have the priority, indeed :)

Quote:

Originally Posted by gap (Post 2045752)
Okay, tomorrow I will start implementing the new U-boat ranking system. Keep me informed in case you get any other remark :up:

done. :up:

At this point I got just to make some little changes to the torpedo/fuel fucntions, and to add the custom base coordinates :up:


All times are GMT -5. The time now is 07:33 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 1995- 2025 Subsim®
"Subsim" is a registered trademark, all rights reserved.