Latest Posts

Topic: Naval warfare rethought

hessenfarmer
Avatar
Joined: 2014-12-11, 23:16
Posts: 2745
Ranking
One Elder of Players
Location: Bavaria
Posted at: 2023-09-27, 17:39

Nordfriese wrote:

Well, I have a prototype branch now at https://codeberg.org/Nordfriese/widelands/src/branch/navalwarfare/refactor-refit
Warship targets don't really work yet and counting of expeditions and warships in a fleet is basically not implemented yet, but the main change is that the shipyard now builds both warships and expedition ships, with warships 25% more expensive than transport ships; and removed the ability to refit at ports.

I hope to be able to test this tonight.

However I am no longer sure this is a desirable way to go. Now you can build warships without needing a port, which allows you to gain early sea domination much earlier and cheaper than before. While a port is still needed to actually invade the enemy, we have seen in several tournament matches that a player who builds a few warships earlier than the opponent has already half won at sea, so this change turns naval warfare into even more of a race for early ships.

therefore I suggested to add iron and/or gold to the cost, which will make you think whether you spend this for soldiers or for warships.

So I have changed my mind and no longer favour this approach. I still don't like the idea of strictly requiring soldiers for naval combat, but the branch also contains a commit to make warships with soldiers much stronger than before and give less randomness to their attacks (not actually tested, maybe it's too strong now). It also has a change to set the soldier capacity initially to zero.

it is definitly too strong now. I like the concept of reducing randomness and increasing strength. but with a factor of only 4 instead of 20 we still would require 2 succesful hits rather then only 1. so with a kMaxMultiplier of or 5 (as we still will not have the max values from the description due to randomness)) this could perhaps be the base for the next tournament round.

I could live with the concept of consuming some wares (and a few minutes of time and a shipwright's work) when refitting a transport ship to a warship in a port, maybe we should give this approach a try instead?

Well, as cost was only one part of the problem and micromanagement was the other I would love to not have to refit every ship manually. Having them in the shipyard and adhering to some "economy setting" would have solved that. If we keep the port refit we need some auto refit mechanism based on targets as well. In this case it does not matter to me where the warship will be created and how.


Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 2056
OS: Debian Testing
Version: Latest master
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2023-09-27, 21:43

I made another branch implementing a refitting cost: https://codeberg.org/wl/widelands/pulls/4509

Now that I have tried it I am certain that this is a good way to go. The refitting costs can be discussed (currently 4 iron, 4 wood, 2 cloth, no gold), but IMO a high refit cost would solve the problem of too-cheap naval warfare without requiring soldiers.

+1 for the concept of auto-refitting based on a fleet target. This could be added, but better in a separate branch afterwards to avoid PR bloat and merge conflicts.


Top Quote
hessenfarmer
Avatar
Joined: 2014-12-11, 23:16
Posts: 2745
Ranking
One Elder of Players
Location: Bavaria
Posted at: 2023-09-27, 22:44

As the first branch is now compiling, just my first impressions from Code Review.
Each concept has pros and cons. I believe so I try to summarize them with the foloowing assumptions:
- refitting costs are the same as additional buildcosts for warships in both concepts
- auto refit will be implemented for the refit concept using the same fleet interface as the shipyard concept

With these assumptions both concepts would probably solve the most urgent critics.

shipyard concept:

pros

  • only productionsites react to economy settings --> consistency
  • needed wares can be seen easily and managed using input queues
  • even after losing (temporarily) the last port a player might be able to gt some basic naval defense

cons

  • (currently) no repair possible
  • possibility to gain naval power without a port (but only defensive without the possible bonus)

refit concept:

pros

  • repair possible
  • only gain naval power with an own port

cons

  • no control over the wares needed for refit (even no control where they are needed due to the refit taking place in any port) resulting in possible long waiting times for wares to be shipped
  • adding not only militarysite functionality but productionsite functionality to a port (warehouse)

so based on this list ( which may be adjusted based on discussion of course) what is exactly the reason you prefer the refit concept over the shipyard concept?


Top Quote
tothxa
Avatar
Joined: 2021-03-24, 12:44
Posts: 484
OS: antix / Debian
Version: some new PR I'm testing
Ranking
Tribe Member
Posted at: 2023-09-28, 00:09

hessenfarmer wrote:

shipyard concept:

cons

  • (currently) no repair possible

refit concept:

pros

  • repair possible

Actually repair could be better implemented with the shipyard concept: Ships sent for repair would go to a shipyard interface, then turn into a warship construction site with the completion and required wares set proportionally to the current health. (onboard soldiers would either be remembered by the construction site, returned to a port first, or just let go at the construction site, which is supposedly near an economy with a warehouse where they can go)


Top Quote
tothxa
Avatar
Joined: 2021-03-24, 12:44
Posts: 484
OS: antix / Debian
Version: some new PR I'm testing
Ranking
Tribe Member
Posted at: 2023-10-01, 00:29

hessenfarmer wrote:

tothxa wrote:

Would it be OK to need a separate warship yard, which would be an enhancement of the plain shipyard, and need an experienced shipwright? That way it would be possible to require different materials for a warship than a transport ship.

having a different building would be possible with such changes, but no prerequisite. An Enhancement would not fir into the Atlantean tribe as they do not need any experience at all.

They have one building enhancement (tower→high tower), so that part should be fine. To skip worker experience, we may consider making the warshipyard enhancement more expensive for Atlanteans.

@Nordfriese: Warshipyard costs can delay warship production as well as or even better than requiring ports.


Top Quote
tothxa
Avatar
Joined: 2021-03-24, 12:44
Posts: 484
OS: antix / Debian
Version: some new PR I'm testing
Ranking
Tribe Member
Posted at: 2023-10-01, 00:36

I have a PR with a proposal to involve soldiers in the defence of a ship in naval battles. Though the main purpose from my POV is that with this change invasion soldiers start with reduced health if their ship has to fight through naval defences. So it makes defending warships more useful for the player with the smaller warfleet too.

This is meant in addition to @Nordfriese's attack bonus tweaks.

Edited: 2023-10-01, 00:37

Top Quote
tothxa
Avatar
Joined: 2021-03-24, 12:44
Posts: 484
OS: antix / Debian
Version: some new PR I'm testing
Ranking
Tribe Member
Posted at: 2023-10-17, 10:37

(sorry for pushing this)

Re https://www.widelands.org/forum/post/41069/

kaputtnik wrote:

Maybe there can be an additional entry in the configure economy menu, something like "forbid naval warefare" or something like that before the next official release will become official.

With the warshipyard concept this could be done simply by disabling the warshipyard building type.

I've already thought of this in the context of campaigns. We have a few scenarios with seafaring, and naval warfare would affect the balance in these. I'm most concerned about emp03 and atl02, which would become very hard for the player if AI naval attack on ports were implemented.


Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 2056
OS: Debian Testing
Version: Latest master
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2023-10-17, 11:34

Well, I think we have pretty much reached a stalemate with too many mutually incompatible suggestions…

I agree with kaputtnik's post that we should not delay the next release indefinitely. If we stuck to the yearly release plan v1.2 would already be out, and we're not even approaching a feature freeze yet. A first-snow freeze in early December and release in February would be desirable, but right now I can't yet tell if that's realistic. Naval warfare is the only blocker left.

So how about we only pull out the soldier bonus changes, and add a game flag to disable naval warfare like we have for diplomacy. Currently, deactivating the refit function is all it will take for this. And defer any further conceptual changes to v1.3.

I would then focus on getting the warships graphics branch ready and quickfixing the bugs left in ToDo state. Those and a tutorial and basic AI handling are all remaining points that are really release-critical.


Top Quote
hessenfarmer
Avatar
Joined: 2014-12-11, 23:16
Posts: 2745
Ranking
One Elder of Players
Location: Bavaria
Posted at: 2023-10-17, 12:18

Having a flag to enable it in this experimental state. And disabling it for default sounds like a good idea.

We should add some explanation that this is beta and might undergo serious redesign in the release notes in this case.


Top Quote
tothxa
Avatar
Joined: 2021-03-24, 12:44
Posts: 484
OS: antix / Debian
Version: some new PR I'm testing
Ranking
Tribe Member
Posted at: 2023-10-29, 04:21

I created a proof of concept implementation for another possible mechanism of refitting at ports, by reusing and extending the expedition code. PR is up at CB#4543/GH#6201


Top Quote