Sea expedition and colonization

Bug #939026 reported by Nasenbaer
20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
widelands
Fix Released
Wishlist
Unassigned

Bug Description

Widelands should contain a expedition and colonization feature.

The first frontend changes are already integrated in lp:~widelands-dev/widelands/seafaring

Tags: seafaring

Related branches

Revision history for this message
Nasenbaer (nasenbaer) wrote :

Attached is a pdf showing the flow chart how I plan to implement the expedition & colonization feature.

It includes the state of implementation, the logical order of procedures how the colonization should work as well as needed sub functionalities.

I am happy for every comment, suggestion, improvements and of course for coding help :)

Revision history for this message
fuchur (fuchur77) wrote :

I think the chart shows a good way how expeditions need to work. I have merely comments on the details. But maybe you already thought of these.

1. Will the capacity of the ships be limited that only the necessary wares for one port building can be loaded?

I think when the port is finished and the request for building materials for further buildings is made it will take quite a some time till the ship comes back with thet materials. And when the buildings are finished it will take some more time for the workers to arrive. This brings me to:

2. Can the player select the number of soldiers for the expedition?

Because if the portspace is near an enemy it could be conquered while the ship with additonal material and troops is on it's way. And so:

3. Does the player know if there is an enemy nearby the discovered port space?

That of course depends on the vision range. But personally I would like to avoid a dangerous place and prefer creating a small but working new economy before getting in contact with an enemy.

4. I assume with the mentioned player commands during the expedition the player can control the direction the ship goes.

Revision history for this message
Patrick H. (daggeteo) wrote :

I like the chart, the process is clear and makes sense.

It is my opionion that the ship should be called once the expedition is ready, ie when the wares/workers/soldiers are fetched.

Also I agree with #2 that there should be some consideration into how the soldiers come in to play.

Revision history for this message
SirVer (sirver) wrote :

Very nice Peter! My only concerns are:

1) How detailed will the control of the player be? IIRC, s2 let the player choose from 8 directions and the ship would land on a new port place. I liked that.
2) What happens when a port place is occupied with a port already? I suggest that it should be possible to attack this port in some way, but not necessarily the other military buildings around it.

Revision history for this message
Patrick H. (daggeteo) wrote :

#4
Regarding 2) this is a good point. What will happen if an opponent has occupied an entire island and perhaps even placed a port in the buildable location?

I think that yes it should be possible to attack the port but not the surrounding buildings, for this you'd have to build other fortifications. Which brings up another point that you should in some manner be able to control if you can bring extra wares on the boat so that you are prepared to defend your "invasion". Does this conflict with widelands being non-miltary-game?

Revision history for this message
Nasenbaer (nasenbaer) wrote :
Download full text (3.5 KiB)

Sorry for the late reply.

So point after point. :)

> 1. Will the capacity of the ships be limited that only the necessary wares for one port building can be loaded?

in short: it is already limited - I don't have the numbers in front of me right now, but you can find the maximum value of wares that can be loaded in the conf file of the ships

> (#2) 2. Can the player select the number of soldiers for the expedition?

jepp that's something I would like to have as well and that I plan to implement. But to be honest: I am not yet sure how to implement it. Especially because it needs the "control number of stationed soldiers in ports and headquarters" feature to make sense. So this is low priority for now and will likely be an addon for later on.

> (#2) 3. Does the player know if there is an enemy nearby the discovered port space?

That depends. In general the answer is no, BUT you of course might say "no" to colonizating a port space in the first place to continue the expedition. That way you would see more of the island or coast or whereever you are currently shipping along.

I see this the most logical behaviour. So in general this depends on the vision range and the strategy how you guide your expedition.

> (#2) 4. I assume with the mentioned player commands during the expedition the player can control the direction the ship goes.

and

> (#4) 1) How detailed will the control of the player be? IIRC, s2 let the player choose from 8 directions and the ship would land on a new port place. I liked that.

To be honest I am not yet sure how the best way looks like. The "sail to nearest port space in that direction" design would make things easier in first place, but would complicate it if there are some more port build spaces in a certain direction.

My idea was more along the lines of:
* Follow coast line to the left until you are back here or found a port build space
* Follow coast line to the right until you are back here or found a port build space
* Sail in direction XYZ until you find land - only available for the directions that are away from current coast

The only downside i see in this implementation is, that there is the need, that the player can switch the ships direction while it is on the sea, to reach every part of the map. But is this a downside? I am not sure. :)

> (#4) 2) What happens when a port place is occupied with a port already? I suggest that it should be possible to attack this port in some way, but not necessarily the other military buildings around it.

In general, this counts to "etc." on the flow chart for me, meaning: additional feature that will be implemented after THIS feature works as it should - so we better open another bug report for it.

However I already thought about it some time ago and am sure I wrote it down in the wiki or the forum, but... well I could not find it at the moment.

My idea was, to give the chance to colonize a port buildspace in enemy territory - no matter whether there is a port, another building or just nothing. The idea is:

* if the port can be build without destroying player mapobjects, but just taking some land -> do it.
* if the port...

Read more...

Revision history for this message
wl-zocker (wl-zocker) wrote :

The number of wares a ship can load is 20 for all tribes, but that is too less: The barbarian port needs 21 wares, the Imperial one 19 and the Atlanteans' port 17 wares. If a builder, maybe a carrier and some soldiers are transported, there is no space for something additional, including soldiers.

The possibilities for controling a ship Nasenbaer suggested sound sensible, but some notes:
- When a ship that sails in direction XYZ finds land, what will happen? Will it start searching a port space itself (which direction first?) or wait for new player commands?
- Switching the direction manually does not sound bad. It would give the player more control.
- Can a ship be sent to a special place on the map, e.g. because I know I can build a port there? I think about moving to the place and then choosing "move here". What will happen if that is on land or in a not reachable lake?

I do not like the idea that one can take a port space in my area without a fight. My suggestion is to check whether to port space in under military control (so whether the building has been destroyed). If that is not the case (and only then), a port can be built. If there is military presence, attacking like suggested. I do not think that the wares should be lost: The soldiers might hurt enough.

Revision history for this message
_aD (ad-simplypeachy) wrote :

Treat the "invading" ship just as any other military fight. If the ship's owner wins the battle nothing is lost. If they lose, the ship and wares are taken, or all destroyed, according to the existing game logic. (Or have I remembered incorrectly - am I right in thinking military sites that lose are sometimes completely destroyed, or are they always captured?)

Revision history for this message
Patrick H. (daggeteo) wrote :

Wouldn't it make more sense to have a separate troop ship?

After all, an expedition ship is supposed to be a peaceful and not a warship. If all ports spaces are occupied by the opponents you would have to send and invading army, claiming territory while you set up your own port. If not, well then you just set your colony up peacefully.

This way you can reinforce your invasion troops in case the only port space is heavily guarded by enemy forts. Otherwise, how are you gonna fit enough troops on one expedition ship to combat that? You have to be handle such situations or there could be stalemates if the maps designers aren't careful.

A troop ship could set up an invasion camp as a separate building with limited healing capabilities etc and no port connection. You'd only be able to unload the troops ships manually. Also, it would make sense to require rations for an undertaking of that sort. If you run out of rations, the soldiers die off or the building collapses etc.

The troops ship wouldn't have be differently handled than the expedition ship when it comes to design or how the way it is controlled.

Stop me if I'm straying too far off! Just unleashing some thoughts :)

Revision history for this message
fuchur (fuchur77) wrote :

I'll put the military aspect aside and just make a few remarks on the basic coloniazation process. I.e. without meeting any enemy too soon.

Thanks, wl-zocker for the current ships capacity. I think that ca be adjusted easily. But it should not be too high and also not too low. I'd suggest that a ship can carry build materials for the port and buildings needed for a basic infrastucture. For the barbarians this could be huts for one woodcutter, one stonemason, one woodhardener and maybe one forester. Having the workers for these buildings already on board would be nice.

 Of course this should not be hardcoded but the player should be asked when initializing the expedition process. Maybe a box with a selection of buildings can be presented, and the player gives the number for each he'd like to build. And only these buildings are shown for which the remaining capacity of the ship is sufficient. Maybe the selectable buildings should be limited to some basic ones like the ones mentioned above.

For the navigation I like the suggestion of Nasenbaer. The player chooses the initial direction and gets notified if a decission is necessary. My only concern is that I sometimes (or often...) miss messages. Especially when I send geologists I watch them and don't look at every message they produce. So at least I could overlook a ships message. Would some kind of pop-up window ok? Or is it possible to have a watch window that follows the ship?

And finally some thoughts of the map. As it will take some time until one has ships, is there a way to prevent the port buildspace to get grown by trees? Also the surrounding should stay clear that at least a woodcutter can be built.

Revision history for this message
SirVer (sirver) wrote : Re: [Bug 939026] Re: Sea expedition and colonization

I am against many types of ships. I feel seafaring already adds a lot of
complexity to the game and we should not go overboard with it. One type
of ship is enough.

Revision history for this message
_aD (ad-simplypeachy) wrote :

I agree with SirVir. A ship is a ship and you can put anything you want into it. I believe they should remain a method for linking the economies of islands, not part of warfare.

Revision history for this message
Nasenbaer (nasenbaer) wrote :
Download full text (3.4 KiB)

@#7:

>The number of wares a ship can load is 20 for all tribes, but that is too less: The barbarian port needs 21 wares, the Imperial one 19 and the Atlanteans' port 17 wares. If a builder, maybe a carrier and some soldiers are transported, there is no space for something additional, including soldiers.

good to know, so indeed there needs to be a fix.

> - When a ship that sails in direction XYZ finds land, what will happen? Will it start searching a port space itself (which direction first?) or wait for new player commands?

No - at least as I plan it - I would like to implement it the way, that it stops once it finds new land and sends you a message. It will then wait until you tell it what to do.

> - Can a ship be sent to a special place on the map, e.g. because I know I can build a port there? I think about moving to the place and then choosing "move here". What will happen if that is on land or in a not reachable lake?

ixprefect suggested something similiar - a possibility to sail to already found port buildspaces - but that's an addon as well as the military aspects, so this can follow some time after the basics work.

> I do not like the idea that one can take a port space in my area without a fight. My suggestion is to check whether to port space in under military control (so whether the building has been destroyed). If that is not the case (and only then), a port can be built. If there is military presence, attacking like suggested. I do not think that the wares should be lost: The soldiers might hurt enough.

not sure whether I understood you correctly, but I think you would like to always have the need for a fight, if the port build space is in opposing area controlled by at least one military site or port. <- after thinking a bit about it, I agree, that this would be the best way to go.

And yes, I as well agree, that it would be enough to loose the soldiers and let the ship fastly sail away.

@#8:
Militarysites are destroyed, if they are smaller than another militarysite in the near, that would be destroyed, if the smaller one is taken over. For the rest see last point above.

@#9, @#11 and @#12:
I agree with Sirver and _aD: we should only keep one ship.

@10:

I am against too much control of which wares are loaded.
From my point of view the expedition should only hold the wares + builder needed to build up the port + soldiers to defend. The number of soldiers would be the only thing I would like to make controlable.
Giving more options would make this feature to complicated -> I am all for KISS here :)

>Or is it possible to have a watch window that follows the ship?

Already possible. Automatic popping up windows are never a good idea (neither a pop up message, nor a watch window), as there are always people (like me ;) ) who do not like it and would be annoyed. And I am as well against making this configurable - feature creep. ;)

>And finally some thoughts of the map. As it will take some time until one has ships, is there a way to prevent the port buildspace to get grown by trees? Also the surrounding should stay clear that at least a woodcutter can be built.

It ...

Read more...

Revision history for this message
fuchur (fuchur77) wrote :

#13:
> not sure whether I understood you correctly, but I think you would like to always have the need for a fight, if the port build space is in opposing area controlled by at least one military site or port. <- after thinking a bit about it, I agree, that this would be the best way to go.

Just to clarify, you need to fight if the port build space is under enemy control. That's fine. Will that also be possible if the opponent already has built an own port? Can you conquer the port like a military building, or will it get burned down like a warehouse after winning the fight? Maybe conquering an enemy port is a too easy way to get an own port.

Revision history for this message
Nasenbaer (nasenbaer) wrote :

@#14

> Will that also be possible if the opponent already has built an own port?

Yes because the port building is a military defense building like the headquarters, so it can be attacked and destroyed.

> Can you conquer the port like a military building, or will it get burned down like a warehouse after winning the fight?

It will burn down.

Revision history for this message
Nasenbaer (nasenbaer) wrote :

Small update of progress

Revision history for this message
Nasenbaer (nasenbaer) wrote :

Another update:

Expeditions are now basically working, this means:
* You can start an expedition in a port (and cancel it to recover the wares and the builder)
* Once all wares are available, a ship is called, the wares and the builder is loaded and the player gets a message
* Quite some possibilities for control of the expedition including island exploration and guiding the ship in a direction (no direct Coord selection, but direction selection (NW, W, E, etc.) including all needed messages to the player
* Construction of a port once a free port build space is found

Missing features are:
* User interface showing, whether the builder for the expedition is already available in the port.
* Save support for the port if an expedition is started (I haven't written this part because of the point above)
* Including of soldiers in the expedition
    - to be discussed, how to handle the soldiers - maybe add militarysite functionality to the port constructionsite and unload the soldiers as soon as the constructionsite is created?
* Handling of "clearing" a port space owned by an opposing player

From my point of view the later two are addons, therefore, I would like to test (and finally merge) the seafaring branch, as soon as the first two missing points are implemented.

Revision history for this message
SirVer (sirver) wrote :

That sounds like great progress Peter - it is mighty impression how you squeeze in the time to work on Widelands - even with your new Job. Thanks and I am looking forward to your changes :)

Revision history for this message
Nasenbaer (nasenbaer) wrote :

ooookay... the basic expedition and colonizing support is now in trunk and so will be in build18.

Missing features (I will open seperate bug reports for this):
* In the list of wares for the expedition (in the port building once an expedition was started), the builder is not listed
* It is not yet possible to clear the land owned by opposing players to build a port on that place
* Soldiers (for defence of the port under construction) can not yet be added to the expedition wares & workers list

Changed in widelands:
assignee: nobody → Nasenbaer (nasenbaer)
status: Confirmed → Fix Committed
Nasenbaer (nasenbaer)
Changed in widelands:
assignee: Nasenbaer (nasenbaer) → nobody
Revision history for this message
SirVer (sirver) wrote :

Released in build-18 rc1.

Changed in widelands:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.