News:

Simutrans Wiki Manual
The official on-line manual for Simutrans. Read and contribute.

On Canals

Started by sbt, April 14, 2010, 08:03:51 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

sbt

With reference to canals - I understand that pak128.Britain assumes that these are Narrow (7ft) canals?

Are there any plans to expand the list of types in the future - especially on experimental - in line with the types of railway?

If so, having given things some thought, I believe the list should be:

Narrow (7ft)
Wide (14ft and similar)
Eurobarge (need a better name) - The canals of the NE such as the Aire and Calder
Navigable River / Ship Canal - the smallest size that allows Sail, but only for smaller craft such as Wherrys and Thames Barges.

Very large Ship Canals, such as the Panama, Suez and Kiel should be made by lowering land to sea level - although the Panama does have very large locks...

All have distinct properties - for example a Wide canal can take a smaller seagoing barge under tow but not under sail whereas a Narrow canal is to small for such vessels, a Eurobarge size canal can take seagoing motor craft etc.

I suggest that it should be possible to build 'Navigable River' - to allow smaller/early Ship Canals to be represented.

If Narrow Gauge rail ever gets added then I think Tub Boat canals should also appear - a key, and very efficient, type of canal much used in the Shropshire area and also where gradients were to steep for locks (the tubs ran up Inclined Planes, either on land-bound trolleys or wheels permanently fixed to the tubs).

Rick

jamespetts

#1
Rick,

thank you for the feedback/information! The Hood is the one who did most of the work on canals (and is in charge of the Standard release of Pak128.Britain), so I don't know exactly what he has planned. I suspect that different types of canal had not hitherto been planned, quite possibly through not having a canal expert on board. The various different canals can indeed be simulated in Simutrans-Experimental by using way constraints, although I should note that it is only possible to have eight permissive and eight prohibitive constraints in total, a number of which are already used up on things like railway electrification types. Currently, we have "waterway" (a permissive constraint) and "small waterway" (a prohibitive constraint); anything without "waterway" will not take any canal barges at all, and anything without "small waterway" will allow ocean-going ships to enter it (only the largest of rivers - intended to represent tidal rivers - omits "small waterway").

You suggest, I understand, four different sizes of canal. I am not quite sure of the significance of the difference between Eurobarge and wide; but I presume that the principal differences between the canal types is that the larger canals can take different barges? One issue to bear in mind is that there is a limit to the graphical width of a canal in a tile, and that limit is more or less reached with the current canals, so they cannot be regarded as the "narrow" type. The number of available way constraints may well limit the total number of canals to less than four, as perhaps might the different possible graphical widths.

Another thing to consider is production of the graphics. Currently, there are not a great many people producing graphics for Pak128.Britain - The Hood is the main protagonist; he has been producing boat graphics recently (ocean-going vessels principally most recently), but is rather busy with other things and cannot turn them out very fast. There are currently few modern boats (i.e., past the age of sail), and no aircraft at all.

However, because: (1) the graphics of Simutrans are actually quite low-res, and (2) Pak128.Britain uses very simple 3d models made in Blender (free), then rendered/exported to produce most of the graphics, it is actually quite easy to produce vehicle graphics - so much so that even I have managed a few (adapted from existing Blender files - by far the easiest way of doing it to maintain consistency and minimise work) vehicles and even a building. If you were interested, I'm sure that The Hood would send you the Blender files for the canal barges and canals and you could tinker with those to produce boats/canals of different types.

If you are not in a position to produce graphics, then your input is still very welcome - research on specific types of canals/boats will save a lot of time if there is a desire to implement them later - but it might be some time before anyone is able to get around to drawing the different types, as there are currently other priorities.

If you would like any help with using Blender and/or the GIMP to produce graphics for Pak128.Britain, then either I or The Hood (the latter of whom knows what he is talking about on the subject more than the former) would be happy to help.

As to narrow gauge rail - that is, I think, on the "to-do" list somewhere, but nearer the bottom than the top at present.

Edit: Incidentally, here is a list of the existing used, reserved and available way constraints, taken from en.tab:


Permissive 0
DC Third Rail Electrification
Permissive 1
DC Overhead Catenary
Permissive 2
AC Overhead Catenary
Permissive 3
DC Fourth Rail Electrification
Permissive 4
Waterway
Permissive 5
[Unused] Permissive 5
Permissive 6
[Unused] Permissive 6
Permissive 7
[Unused] Permissive 7
Prohibitive 0
Tramway
Prohibitive 1
Tube tunnel
Prohibitive 2
Small waterway
Prohibitive 3
[Unused] Prohibitive 3
Prohibitive 4
[Unused] Prohibitive 4
Prohibitive 5
[Unused] Prohibitive 5
Prohibitive 6
[Unused] Prohibitive 6
Prohibitive 7
[Unused] Prohibitive 7
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

sbt

Yes, different 'gauge' canals take different types of craft - and not simply 'bigger'.

The main impact will be in earlier years, prior to motorisation and during the introduction of first Steam and then Diesel. For example you can get a Steam plant in a larger boat earlier and you need a certain width of waterway to allow you to sail rather than tow.

The difference between a 'Wide' Canal and a 'Superbarge' (best I can come up with for now) waterway...

Wide:
http://en.wikipedia.org/wiki/Grand_Union_Canal

Superbarge:
http://www.penninewaterways.co.uk/aire/acn1.htm
http://www.touax-river-barges.com/barges

On the 'Big Rivers' (Navigable Rivers under my suggested scheme) things get a bit excessive. 15x200ft (1500 Tonne Capacity) barge Push Tows 1/4 of a mile long.
http://oldriverbillzumwalt.members.ktis.net/barges.htm

BTW 1500 T is sort of standard - an unpowered  Class 1 Eurobarge has the same capacity IIRC. These are used on waterways like the Rhine-Main-Danube Canal - the Canal would be a Superbarge Canal and the Rivers, which are even larger, Navigable Rivers.

Rough comparison of barge for a self-powered vessel. Sailing vessel limits are smaller because of the need for maneuvering room to tack etc. Towed craft have larger capacity limits because of not needing a powerplant. I'll do more work on the details later.

Narrow Canal - c. 25 T per boat (Detail differences to follow)
Wide Canal - c. 70 T per boat (IIRC)
Superbarge - c. 1200 T per boat (estimate/IIRC)
Big River - Vessels in the 10,000 T capacity region (really guesstimating there - I will look up in more detail)

You could probably sail a Wherry (or a Spritsail Barge) on a Superbarge canal, Quanting where required, and tow one on a Wide canal (there were a couple on the Broads and Thames Barges used the Regents Canal in London). A Yorkshire Keel would have problems though, as it can't sail as close to the wind - which is why they landed the sailing rig and used the services of a Horse Marine and his equine companion when they went inland.

The Hood

Thanks for the info.  As you've probably worked out, I'm not a canal expert (or boat expert generally) so have done what is there so far from muddling about on the internet.  I'm really happy to take advice and suggestions from you here.  (Indeed if I'm brutally honest, my lack of knowledge about boats in general is a disincentive to me getting all the boat graphics completed!)  A couple of things I would point out though:

1) In standard simutrans, there is no way of enforcing width restrictions or the like - a canal will always accept anything from a 7ft barge to a supertanker.  This is possible in experimental though, as you can use weight limits and/or way constraints (I suspect the weight limits may be a simpler method)
2) For game balance, very high capacities can cause problems.  It's quite important to make sure that factory production rates, and the capacities of all vehicles match up in a sensible way.  I've found so far that some boats have very high capacities compared to road and rail and I'm not quite sure how to balance things sensibly.  Cargo capacity for a single boat in excess of several thousand units is likely to cause a few balancing headaches...
3) There's no way presently of making any differences between towing and sail power (e.g. allowing a wherry to sail on certain routes but requiring a tow on others).
4) I'm generally in favour of keeping things simple, as it is a game after all, especially in the standard version.  I'd probably try and keep the number of canal types down.
5) I was under the impression that european sized canals didn't exist in Britain and we had much narrower ones.  As this is pak128.Britain, I'd stick to what we have in this country for now.  Happy to be corrected here though.

that said, I'm really looking forward to any input you can give, as I want the pak to be a reasonable representation of real life, and especially so in experimental so we can take advantage of the extra gameplay features offered.

And of course, if you did want to help out with either graphics or game balancing, or both, I'd be more than happy, especially as I don't have the time to make the progress I want to with the pak at the minute!

sbt

Quote from: The Hood on April 15, 2010, 07:38:06 AM
I'm not a canal expert (or boat expert generally)

I shall have to be careful - I'm a Canal Enthusiast and have to be reasonably knowledgeable about Commercial Shipping for my job. I'm trying to keep my posts at the moment to easily digestible chunks of 'one sub-topic at a time'.

Quote
1) In standard simutrans, there is no way of enforcing width restrictions or the like - a canal will always accept anything from a 7ft barge to a supertanker.  This is possible in experimental though, as you can use weight limits and/or way constraints (I suspect the weight limits may be a simpler method)

I am going to have a look at Experimental in detail over the weekend to see what might be the best approach there.

For Standard I suspect it may be best to designate 'Canal' a 14ft Wide Canal. Having benefits to encourage use of Narrowboats, so as to look 'Typically British' then becomes a problem, how to do it with the minimum of 'breaking realism' - it may be as simple as representing their flexibility by making them load faster per ton and making them slightly faster up and down hills (narrow locks cycle in about 15 minutes, broad in around 20)

Quote
2) For game balance, very high capacities can cause problems.  It's quite important to make sure that factory production rates, and the capacities of all vehicles match up in a sensible way.  I've found so far that some boats have very high capacities compared to road and rail and I'm not quite sure how to balance things sensibly.  Cargo capacity for a single boat in excess of several thousand units is likely to cause a few balancing headaches...

Part of the issue is that Freight Trains in in the game are much shorter than in reality - given that it seems sensible to 'stunt' shipping to the same extent to maintain balance. Also the factories are quite small compared to the huge complexes we have these days.

As far as ships (rather than boats) go, over the distances represented in the game you will see 'Short Sea' and Coastal vessels rather than the really big Ocean Going ones. The docks for the large vessels are huge complexes and only a few places in the world can receive them. Unless you have the proposed 'off board' destinations and larger factories I think that  the 'Ships' should be Short Sea & Coastal only and scaled down to match the factory output and train length in the game. Remember that the North Sea is larger than most game playing areas - the 'seas' in the game are really just big lakes.

Quote
3) There's no way presently of making any differences between towing and sail power (e.g. allowing a wherry to sail on certain routes but requiring a tow on others).

I will have a think about this but I think that if it is represented at all then 'Wherry under tow' might have to be a separate type or just slow the vessel down on narrower waterways. Its a secondary effect though and can be left for later, if at all.

However having independent towing vehicles might be a nice future enhancement that would allow Locos to pick up trains of different types as required, Artic Cab Units on the road that pick a trailer as required and all sorts of other fancy stuff. But that's probably to complex.

Quote
4) I'm generally in favour of keeping things simple, as it is a game after all, especially in the standard version.  I'd probably try and keep the number of canal types down.

I'm thinking of that - and will be thinking about it further. But if you are going to represent umpteen types of rail track and road, why not a few different types of Waterway, just as long as the types chosen represent the key differences only.

Quote
5) I was under the impression that european sized canals didn't exist in Britain and we had much narrower ones.

'Superbarge' Canals and Navigations in the UK are mainly in the North East: River Trent (300 T Capacity Barges), Sheffield and South Yorkshire (700 T Barges), Aire and Calder (600 T) but there is also the Gloucester and Sharpness (600 T)

'Big River' and 'Small Ship Canal' Waterways include the Manchester Ship Canal, the lower Humber, the Thames through London between Teddington and Tilbury etc. They tend to be smaller than the massive US rivers but they are still pretty big. I haven't quoted 'Tonnages' as the data I can find are all Gross Tons - which is a legal and financial measure of volume (not weight) not all that well related to carrying capacity.

Quote
And of course, if you did want to help out with either graphics or game balancing, or both, I'd be more than happy, especially as I don't have the time to make the progress I want to with the pak at the minute!

I'll see what I can do - but deciding what needs doing is the first hurdle!

Rick

The Hood

Thanks for the detailed response.  I'm quite happy to let you go away and come back with a plan on how to implement boats and waterways better in pak128.Britain, and I agree that seeing as rail and road have quite some detail, it makes sense for boats to have similar levels of detail rather than just being an afterthought (always a danger when you know practically nothing about them like me!).  Just in response to what you have said:

1) What you suggest for standard is a bit beyond what it can do unfortunately.  All that can be changed in standard is carrying capacity, speed and power (acceleration/hill climbing ability).  Loading time variation is exclusive to experimental, as are weight limits and way constraints.  To be honest though, I'd still like to get things looking right even if there isn't such a gameplay reason for choosing one over another, so that players who want to recreate realistic networks can do so, and those that don't can just do whatever unrealistic things they like.

2) Generally sounds good to me, but I'd still like to see external connections implemented one day so I'm drawing graphics for some larger vessels anyway.  I've also got half a plan to re-work the factories to take advantage of the "fields" concept, especially now we can have more than one field graphic type per industry (so I'm told).  This would allow larger and more complex factories in the game.

5) In terms of game concept, I still think that tidal rivers such as the Thames and things like the Manchester Ship Canal are best done by lowering land to sea level.  Superbarge canals/navigations though could be worth doing based on what you say though.

Thanks for the input, and looking forward to whatever else you come up with.

jamespetts

It would indeed be worthwhile having a proper variety of canals, just as we try to do with railways and roads. We haven't so far because we haven't had a canal expert enthusiast to assist us until now... ;-)

Rick - I should be interested on your thoughts as to how to implement things in Experimental when you have looked through the literature on that fully. As you know, we currently have two waterway based way constraints: waterway and small waterway. We'd need several more to implement many types of canals. And I prefer to use way constraints rather than weight limits to implement different canal types because it makes more sense: it is unintuitive for "weight" to be the deciding factor as to whether a particular barge can use a particular canal when weight, per se, does not affect whether, in reality, it would be able to use such a canal, especially when the load makes a big difference to the weight (we'd really not want an unloaded barge being able to get to a factory, then being too heavy to leave again!).

As to the capacities issue, this is one that is particularly important to consider and address. I think that it would be a mistake to use non-real-world values for ships and barges, especially since real world values are used everywhere else. It would cause problems balancing between the various types. More than that, it is not necessary, since, in Experimental, the total number of vehicles per train can be up to 64 (rather than 24 in Standard), so it should be possible to have an accurate balance. If the balance was off-set, there would be all kinds of problems (passenger locomotives being better at freight than freight locomotives, etc.) which would lead to absurd results. I'd rather have the industry outputs balanced accurately for real-world capacities on road, rail and water.

Thank you for your detailed thoughts and input of expertise enthusiasm - I shall greatly look forward to any future contributions! :-)
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

sbt

Just to say that further contributions will be slightly later than I expected - My main PC 'blew up' yesterday and its now 03:40 as I build a new one from fresh components - test boot done, Graphics Card and HD to rescue mangled files onto about to be fitted. Meanwhile I'm on my little Netbook.

As to train length & scaling etc. - Unfortunately I suspect that players will keep trains shorter than reality due to unloading facility constraints etc. But I get your point about balance - as soon as you add artificialities in one area you need to do the same in others and keep them all in sync.

Oh, and by the way, if I can get the links back from the mangled drive I found some real world historical data on absolute and comparative costs between Horse and Steam propelled boats of various types.

Rick

jamespetts

Rick,

sorry to hear about your computer - that really is awful when that sort of thing happens. Best wishes on building a new one - I hope that you manage to get all your data back. I should be very interested to see your links if you can find them!
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

jamespetts

Some tentative thoughts on canal implementation with way constraints:

How it works now

Water craft have two way constraints: "waterway" (permissive) and "small waterway" (prohibitive). Boats that can only travel on rivers, and not lakes or seas (such as canal narrowboats) have the "waterway" way constraint set. All rivers and canals have the "waterway" way constraint set. This means that boats with the "waterway" constraint set can travel on any river or canal, but not on tidal rivers, lakes or the open ocean.

Large craft that are too small to go up smaller canals and rivers lack the "small waterway" constraint. Smaller craft that can fit up such waterways have the "small waterway" constraint. That means that only smaller craft can use canals and smaller rivers (all but the largest river size originally, although I think that that has been experimentally extended to the second largest size now).

Options for adding depth 1 - the simple way

To the existing constraints, I could add just one more prohibitive constraint: the "narrow canal". This would represent the 7ft canal. Only craft that could fit in the 7ft canals could travel on ways marked with "narrow canal". The 7ft canals would have both "narrow canal" and "small waterway" constraints set. The 14ft canals would have "small waterway" but not "narrow canal". Shipping canals would not have either "small waterway" or "narrow canal". All would have "waterway", so that small craft can use all of them. In the simple model, there would be no distinction between the 14ft canals and Eurobarge canals.

There would then be three canal types: (1) 7ft; (2) 14ft; and (3) shipping. The existing graphics would be the 14ft canals, leaving two sets of canal graphics to produce, and boats to go with them.

Option 2 - in-depth

"Small waterway" would be removed and replaced with the following constraints:


  • 7ft canal
  • 14ft canal
  • medium waterway
  • large waterway

The canals of each description would have the matching prohibitive constraint set; the superbarge type would use "medium waterway". Boats would have a set of constraints set: for example, a boat that could use the 7ft canal would have 7ft canal, 14ft canal and medium waterway set (probably not "large waterway" unless the small narrowboats could manage such things). A barge built for a 14ft canal would have 14ft canal and superbarge set. All would have the "waterway" constraint set.

(Query: should "7ft canal" be called "narrow canal" and "14ft canal" be called "small waterway"?)

"Large waterway" would be used both by ship canals and the widest rivers. The second widest rivers would have "medium waterway", the third widest "14ft canal", and anything less than that non-navigable (on the basis that it takes engineering to make something narrow navigable). (The interaction with river types may need refining depending on input). Canals for the largest ocean-going vessels (such as the Suez canal) could be made by lowering land to sea level.

All but the largest ocean-going vessels would have the "large waterway" constraint set. If and where realistic, some smaller sea-capable vessels might have "medium waterway" set. There are enough spare prohibitive constraints to make this work.

This would need no new rivers, but would need graphics for 7ft canals, superbarge canals and ship canals. The existing canal graphics could be used for 14ft canals. All of the extra boats in the simple version would be needed, plus further boats for the superbarge canals, and possibly a slightly greater variety of sea-going vessels.

Any thoughts from the OP or anyone else on the suggestions in this post for implementing the OP's suggestions much appreciated.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

neroden

Quote from: jamespetts on April 20, 2010, 11:56:10 PM
Some tentative thoughts on canal implementation with way constraints:
Well, I did have one thought which might make a lot of this a lot simpler....

Quote
Any thoughts from the OP or anyone else on the suggestions in this post for implementing the OP's suggestions much appreciated.

Use *weight limits*.  (In experimental.)  The large ships which cannot go in smaller canals almost always also have much larger weights, and the canals already can have tonnage limits.  This might allow for a simpler implementation, without so many constraints, but still providing a complex set of restrictions.  Even though the weight limits are not a true representation of all the constraints, they're probably usually close enough that we can fiddle with the ship stats to force the various ships into the right types of canals!

The only restrictions for which weight limits do *not* work are:
(1) when a *small* vessel is *prohibited* from entering a larger waterway.  These must be coded as constraints.  So, anything which needs a towpath or which would be unsafe in the open ocean "Requires: Waterway".
(2) when a vessel is prohibited from entering a canal, but a different vessel carrying the same tonnage can enter the canal.  I don't know enough about canals to know under what circumstances this actually happens, or how important it is.  From what sbt wrote, the main restriction is on sailboats, which need room to maneuver.

I think, if I'm not mistaken, that 7ft canals always carry smaller tonnages than 14 ft. canals, so they could be differentiated *solely using weight limits*.  This will also keep the really big ships out of the river system entirely.

If I read what sbt wrote correctly, there are some sailboats which won't really operate in 14 ft. canals without being towed, even though heavier barges do operate, because they need "room to maneuver", so I suspect that does need a constraint -- and that should be the "small waterway" constraint, which should mean "too narrow to sail comfortably"

Which means that the existing arrangement lines up reasonably well, except that there should be multiple types of canals.  :-)

So I think we shouldn't add any constraints, but we should tune the weight limits to match the intended boats.  There should be new graphics for different width canals, though.

Important points on what the game engine can't do: the biggest feature of rivers -- speed downstream is faster than speed upstream -- has not really been implemented, even in experimental.  (This is definitely on a wishlist of desirable improvements, but the streams don't *have* upstream or downstream.)  The time cost of going through a canal lock is not measured properly either, as I believe it's modelled along the lines of going uphill or downhill on a road.  Canals currently don't require canal basins for passing and allow ships to drive on top of each other.  (I think *that* one could be fixed with minimal code changes by the introduction of canal signals, even though that may sound silly.)

jamespetts

Neroden,

whilst using weight limits might work, I don't see the advantage to using those as opposed to using way constraints. It will not be any simpler to implement (coding way constraints into .dat files is very easy), and will be confusing for users, as it is inherently unintuitive. It makes more sense for the GUI to tell the user that a barge "MAY USE: 7ft canal" (which would couple with a canal type called "7ft canal") than for some barges to have a weight of x tonnes and some canals to have a weight limit of y tonnes, y being less than x.

A bigger problem with weight limits is this: weight limits in Simutrans-Experimental measure the loaded weight of a vehicle. Empty barges are light - most of the weight is the cargo. So, if weight limits were used, enormous barges would fit down tiny canals empty, and get stuck at the other end when they are loaded up.

As to upstream/downstream speeds (and that other feature of water craft specific physics - wind direction affecting speed for sailing vessels depending on their direction of travel): are you volunteering...? ;-)
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

neroden

Quote from: jamespetts on April 22, 2010, 10:04:23 AM
A bigger problem with weight limits is this: weight limits in Simutrans-Experimental measure the loaded weight of a vehicle. Empty barges are light - most of the weight is the cargo. So, if weight limits were used, enormous barges would fit down tiny canals empty, and get stuck at the other end when they are loaded up.
Heh.  Good point!

My only counterargument: weight limits already have fun effects when using rivers, which have varying weight limits in the game already.  (Which is reasonably plausible for ships, as they displace deeper when they have more weight on them -- you *can* go in somewhere, load, and be unable to get back out.  Not so much for barge designs.)

QuoteAs to upstream/downstream speeds (and that other feature of water craft specific physics - wind direction affecting speed for sailing vessels depending on their direction of travel): are you volunteering...? ;-)

Only when I can figure out a sensible way to determine what is "upstream" and what is "downstream".  :-P  Which I can't, so far, particularly if someone's been using the map editor.  Wind I might be able to do, but not this week.  :)