Page 1 of 2

Sal's Canalboats

Posted: 14 Jun 2020 05:33
by 2TallTyler
0-2-0_screenshot_2.png
0-2-0_screenshot_2.png (172.38 KiB) Viewed 5699 times
I've got a mule and her name is Sal / 15 miles on the Erie Canal

Before railroads, canals powered the early industrial revolution. Towed by horses, mules, or sometimes people, canalboats could carry up to 30 tons of cargo.

This work-in-progress canalboat set starts in 1700 and currently includes two British narrowboats:
  • Narrowboat (carries all cargo except passengers and mail)
  • Packet boat (carries passengers, mail, valuables, and express cargo)
In order to make early networks viable, the cost of building, clearing, and maintaining canals is reduced to 1/16 of default.

Now available on BaNaNaS. Source files are onGitHub.

Re: Sal's Canalboats

Posted: 14 Jun 2020 09:32
by GarryG
Great idea .. I wonder if you and Kruemelchen will figure out a way to use your canalboats with the horse in his WWAY set.

Re: Sal's Canalboats

Posted: 14 Jun 2020 21:08
by kamnet
GarryG wrote: 14 Jun 2020 09:32 Great idea .. I wonder if you and Kruemelchen will figure out a way to use your canalboats with the horse in his WWAY set.
You could draw some canals with walking paths, and put an animated animal on the paths that would overlap. The problem comes when it's time to turn the animal around to go down the other side of the canal. During the times of animal canals, the boats usually worked only on one side of the canal, and when it came to two boats and animals crossing, one would be temporarily disconnected from the boat to allow the other to pass without tangling lines. OpenTTD roads and rivers don't work like that. So either you have to build an eyecandy flat bridge (and thus bring an end to the WWAY) or your animal magically treads on water. ;)

Re: Sal's Canalboats

Posted: 15 Jun 2020 10:31
by temporal8
Good idea, keep up the good work.

Re: Sal's Canalboats

Posted: 15 Jun 2020 21:47
by Gadg8eer
Nice! This will go great with the GPL Roadtype Collection!

Re: Sal's Canalboats

Posted: 16 Jun 2020 01:22
by odisseus
Is it possible to make the sprites for the small boats offset to one side, e. g. to the right? It would be nice if the boats looked as if they're passing each other in the canal, instead of passing through each other.

Re: Sal's Canalboats

Posted: 16 Jun 2020 01:43
by kamnet
odisseus wrote: 16 Jun 2020 01:22 Is it possible to make the sprites for the small boats offset to one side, e. g. to the right? It would be nice if the boats looked as if they're passing each other in the canal, instead of passing through each other.
OpenTTD ships (coded as ships) do not have any collision avoidance detection. Multiple ships can occupy a tile simultaneously. There's no way to code around that.

When used as a WWAY vehicle, though, this is possible since they are coded as road vehicles.

Re: Sal's Canalboats

Posted: 16 Jun 2020 01:57
by odisseus
I know that multiple ships can occupy the same tile. However, if the ship's sprite is so small that two of them can fit into one tile's space without overlapping, it should be possible to make them look as if they occupy different parts of the tile. It wouldn't require any changes to the game mechanics or to the way ships are rendered, just to the sprites themselves. Of course, this won't work at all if the ship is wider than half a tile, and the ships that travel in the same direction will still ride into each other.

Re: Sal's Canalboats

Posted: 16 Jun 2020 02:13
by 2TallTyler
kamnet wrote: 14 Jun 2020 21:08 You could draw some canals with walking paths, and put an animated animal on the paths that would overlap. The problem comes when it's time to turn the animal around to go down the other side of the canal. During the times of animal canals, the boats usually worked only on one side of the canal, and when it came to two boats and animals crossing, one would be temporarily disconnected from the boat to allow the other to pass without tangling lines. OpenTTD roads and rivers don't work like that. So either you have to build an eyecandy flat bridge (and thus bring an end to the WWAY) or your animal magically treads on water.
NML actually includes an easy way to replace canal graphics, and it would be trivial to draw the boats with the horse/mule on, for example, the northeast and southeast side of the canal. The need for a bridge comes up at intersections, and I don't think the sprite sort order will let me build a bridge (likely as an overlapping object tile) which horses go over but boats go under. Corners are also tricky, as ships cut corners diagonally rather than making 90 degree turns like road vehicles. Nevertheless, I will do some experimentation to see if I can find a workable solution.
odisseus wrote: 16 Jun 2020 01:22 Is it possible to make the sprites for the small boats offset to one side, e. g. to the right? It would be nice if the boats looked as if they're passing each other in the canal, instead of passing through each other.
I actually tried this in the beginning, but the sprite sort order isn't really set up for this and the wrong boat appears in front of the other. Offsetting one boat backwards hacked the object position to solve this, but then cornering looked strange as the boat teleported backwards upon rotating. I will continue to experiment but otherwise kamnet is correct that ships aren't really designed for this. I will end up including each vehicle as both a ship and a WWAY road vehicle so you can use whichever you prefer.

The advantage of ship-coded vehicles are the use of natural rivers and the ability to add larger boats later, as well as allowing some canalboats to also sail on ocean — not horse-drawn narrowboats, but there were some Dutch canalboats which had sails and have appeared in period drawings of London's dockyards indicating an impressive range.

Re: Sal's Canalboats

Posted: 17 Jun 2020 20:43
by Electricfox
Fantastic! Just the sort of thing that will go perfectly with the early rail set and sailing ships grfs.

Following this one with great interest.

Re: Sal's Canalboats

Posted: 18 Jun 2020 01:56
by Comm Cody
2TallTyler wrote: 16 Jun 2020 02:13
The advantage of ship-coded vehicles are the use of natural rivers and the ability to add larger boats later, as well as allowing some canalboats to also sail on ocean — not horse-drawn narrowboats, but there were some Dutch canalboats which had sails and have appeared in period drawings of London's dockyards indicating an impressive range.
to elaborate, if you want to restrict boats further, you can have a canal speed for a boat (for canal or river titles), and a ocean speed. I know that FISH has it set up so that most boats are faster on ocean than canals, but you could do the inverse for these boats, faster on canals than oceans.

Re: Sal's Canalboats

Posted: 18 Jun 2020 02:36
by 2TallTyler
Comm Cody wrote: 18 Jun 2020 01:56if you want to restrict boats further, you can have a canal speed for a boat (for canal or river titles), and a ocean speed. I know that FISH has it set up so that most boats are faster on ocean than canals, but you could do the inverse for these boats, faster on canals than oceans.
Thanks for the suggestion. I might just do that.

Re: Sal's Canalboats

Posted: 02 Jul 2020 05:19
by 2TallTyler
I haven't had a chance to redraw sprites yet, but after some playtesting I've slashed both the purchase price of canalboats and the cost to build, clear, and maintain canals. Canals now cost 1/16 of default, or about 3 times more expensive per tile than roads. This makes early gameplay a lot more enjoyable, as you're not having to fast-forward past decades at a time to earn enough cash for your next expansion.

The growth of cities around canals dug decades earlier for downtown goods deliveries is a nice look. :)
canalboats_update.png
canalboats_update.png (1.17 MiB) Viewed 5959 times

Re: Sal's Canalboats

Posted: 02 Jul 2020 11:50
by Kruemelchen
Just discovered this topic. I really like the idea of canal / narrow boats!
If you need any help coding the boats for WWAY, please ask :)
You can refer to this NML code ;)
(Or just point me to a file and I'll add it in as a template!)

I also really like the idea of mule/horse pulled boats!
You can code them as articulated road vehicles easily, so horsis stay dry at corners :P

And if you don't mind, I can draw and push a canal type for it (with pathways and bridges* at crossings) to my WWAY set ;)

*this can be realized as catenary, so boats can go under, albeit with a bit of graphical illusion ;)

Edit:
here is a ingame working pulled boat :wink:
first test of horse pulled boat (horse rider by McZapkie)
first test of horse pulled boat (horse rider by McZapkie)
towboat1.png (4.17 KiB) Viewed 5884 times

Re: Sal's Canalboats

Posted: 13 Jul 2020 05:04
by 2TallTyler
I redrew the sprites for Version 0.2.0 to match the scale of road vehicles, particularly eGRVTS since it will likely be one of the only other vehicle sets in a pre-train game. It now supports 2CC coloring! An updated screenshot is in the first post, shown with Iron Horse trains for scale. I may lighten the tarps over the load -- thoughts?
Kruemelchen wrote: 02 Jul 2020 11:50 Just discovered this topic. I really like the idea of canal / narrow boats!
If you need any help coding the boats for WWAY, please ask :)
You can refer to this NML code ;)
(Or just point me to a file and I'll add it in as a template!)

I also really like the idea of mule/horse pulled boats!
You can code them as articulated road vehicles easily, so horsis stay dry at corners :P

And if you don't mind, I can draw and push a canal type for it (with pathways and bridges* at crossings) to my WWAY set ;)

*this can be realized as catenary, so boats can go under, albeit with a bit of graphical illusion ;)
Hi Kruemelchen, sorry I somehow missed your post.

Please feel free to do as you like with my sprites, including using them in a WWAY set of your own. Your horse-drawn boat looks fantastic and I may or may not get around to adding WWAY variants in my set. Here's the GitHub repository. :)

Re: Sal's Canalboats

Posted: 18 Jul 2020 19:02
by 2TallTyler
packet_boats.png
packet_boats.png (382.71 KiB) Viewed 5553 times
British narrowboats were mostly used for cargo transportation, but there were some packet boats which carried passengers, mail, and express cargos.

Re: Sal's Canalboats

Posted: 03 Dec 2020 01:23
by 2TallTyler
I played a recent game with Timberwolf's Trains, and discovered his horses trot along at 18 mph while Sal's Canalboats trundle along at 6. To keep up with even one industry often requires one boat for every two tiles of travel, which looks ridiculous especially considering ships' lack of collision detection.

The solution was simple: distract Timberwolf's horse handlers with cheese straws, then lead their horses out of the stable in the middle of the night, turn them invisible, and hitch them to my canalboats.

Thus, the changelog readeth:

0.4.1
- Change: Horse-drawn boats now travel at 18 mph, increased from 6. Purchase and running costs increased accordingly, balanced against Andythenorth's Road Hog.

Re: Sal's Canalboats

Posted: 03 Dec 2020 10:30
by Timberwolf
I'm going to be annoying here and suggest that might not be the value :) My horses are deliberately "fast" to take advantage of the rail traction mechanics, and as a gameplay concession to make early vehicles viable.

With a typical small train, a team of horses in Trains will tend to get up to around 12-14mph loaded, and 15-16mph unloaded. Top speed is usually only reached going downhill, which emulates the real-world behaviour where horses would be placed in a dandy wagon and the train allowed to roll (even if there are no graphics for it!). This is still somewhat above the real speeds for horse-drawn trains, which were around 7-9mph.

I'd suggest boats should also be a little slower than trains for two reasons: one is the realistic one of dragging a boat hull through water having a lot more resistance than dragging wheels along iron rails, the other is TTD's gameplay balance. This is the game having a few expectations of ships being "slow, with large capacity", particularly in station ratings - a ship is allowed 4 times as many days between cargo pickups as other vehicles before the station rating starts to drop from cargo not being picked up. I'm not sure what the default cargo ageing period is for a ship but possibly that could be a little higher to compensate for the transport along a canal being slow and gentle rather than jostling things about over bumpy primitive rails.

Not sure what a good value would be relative to capacity and "gameplay vs realism" concerns, maybe around 11mph?

Re: Sal's Canalboats

Posted: 03 Dec 2020 19:44
by 2TallTyler
Thank you for the feedback. Your points are well taken.

The real goal of the speed increase was to reduce the number of boats clogging the canal. Another solution would be to change the capacity. Right now it's set at 30 tons, which is actually a realistic value. With a corresponding cost increase to both vehicles and the canals themselves, I wouldn't mind increasing that significantly, say to 60 tons? How do your horse cart capacities compare to the real world?

I am also considering a move to road vehicles, as has been discussed above. I welcome any thoughts on this.

Road vehicle pros:
  • Better visuals thanks to collision detection and driving in lanes; no clipping through each other
  • Supports articulated vehicles for better-looking horses
  • Flat drive-through station tiles instead of docks
  • One-way roads
  • One-tile locks easier to fit than three-tile locks
  • Tunnels!
Road vehicle cons:
  • Players might build regular canals by accident
  • Other boats can't use the canals later
Kruemelchen wrote: 02 Jul 2020 11:50And if you don't mind, I can draw and push a canal type for it (with pathways and bridges* at crossings) to my WWAY set ;)
Did you end up drawing these? They weren't in the 0.3 source in your thread, but there are nice towpaths and a horse in your screenshot. If I move from canals to WWAY roads, I'd like to include a suitable roadtype in my set. It could disable itself if a player has your full WWAY set.

Re: Sal's Canalboats

Posted: 03 Dec 2020 23:27
by Timberwolf
2TallTyler wrote: 03 Dec 2020 19:44How do your horse cart capacities compare to the real world?
My road vehicles are grossly over-optimistic in terms of capacity - recommendations for a working horse are around 1.5-2x body weight for a day of work so (considering the dray wagon weighs quite a lot itself) the realistic capacity is only around 2t - even the most Dickensianly hard-hearted Victorian would balk at making their horses pull 12t of cargo plus the wagon over a long distance.

(Over short distances, horses can move extremely large weights, the record for Shires is something like 50t from a two-horse team).

Where it gets interesting is railways. On a carefully graded tramway, even a single horse could pull a surprisingly large tram thanks to the lack of friction. While early industrial horse-drawn railways weren't as smooth, they also tended to be built taking advantage of another natural source of motive power: gravity. Loaded wagons travelled downhill and the horses were only used to drag empty ones back up, meaning the limitation was more that of primitive braking systems than what horses were willing to put up with.

That said, the capacities of the early wagons hew more toward the end of their lifespan in the 1850s than the start of it; my open wagon carries 12t but it should be more like 6-7t for something realistic.

There were two drivers for these capacities. One was the same as you have - avoiding the need to build 100 wagons just to keep up with the output of a typical industry. This I think would be better dealt with by an industry GRF to have correspondingly lower outputs for primary industries early on. The second is the pure OpenTTD mechanic of being able to run profitably - as I found out recording my early start videos, once you have infrastructure maintenance enabled and all the costs turned up this can get pretty marginal even before you start tweaking around with base cost newGRFs. (For something I arrived at mostly by accident, I quite like the balance I have currently; it's tough without being so aggressive the only way to succeed is play a 100% optimal game)