Topic: what about no roads?
Posted at: 2010-09-18, 01:05
I would like to know developpers - and gamers - opinion about roads and their usefulnes in widelands gameplay.
I tried for personal satisfaction to branch trunk and implements ware carrying without roads. It was quite feasible within the actual code. As I remember, a tranfert made a new request for a carrier, with a new callback function. the Path's nexstep would always lead to the final step, thus that class has no real use anymore. I also needed some changes in the Economy code (at least to always merge new flag's one with the existing one if it exists) as well as carrier's tasks and building site. The code was hacky, buggy and i ran in some issues, but a new building would get built as it should.
I reverted and was about to start a clean implementation, but i don't think I want to maintain a separate branch. Thus my question. The principal reason i guess is that from the original Settlers games, i only played the III and IV, which don't have any roads. Playing widelands afterwards, i couldn't find the point in having those.
Now I understand getting rid of those will need some thoughts about, among other things, how the carriers walking around will be handled ( all workers out of an house and standing in the map as in Settlers III is not the best imho, and I saw some discussion about the bees and flowers and thing like that in another thread. We could make the carriers walk around randomly for some time then go back to warehouse if no ware around asked for transport), and if progressive roads appearing on most used path would be needed. It was nice in original Settlers game, but im not sure how easy this can be implemented.
Anyway, Id like to hear some good reasons to keep roads and/or avoid the no-roads scenario. I absolutely don't want to get in your way and will forget this idea asap if its not in your objectives. Also im not a real good Cpp coder yet, and Im not sure about the amount of time i can put into this, but Im sure than i wont get started if I know it would be of no use except for me (wont I? im not sure now)
Edited: 2010-09-18, 01:07
Posted at: 2010-09-18, 08:25
The current form of roads are popular and therefore the engine likely needs to continue to support them. But there are other interesting ideas that are worth testing, so the engine should be made flexible enough to support different rules.
The idea that I find most interesting to try is this. Each carrier lives in a house, like any other worker. The carrier has a maximum work time in each working cycle, which determines how far he can carry things. He can go somewhere and pick up a ware, carry it to its destination, go back home and sleep for a while. If that would take too long time, he could carry the ware to some carrier's house (his own or someone else's), go home and sleep. The carrier living there would then pick up the ware when he awakes and carry it to its destination or the next carrier's house. A ware could land on many carrier's houses on its way from source to destination. Note the similarity between carrier's houses and the current implementation's flags. And what about roads? Of course I would like to keep them too, but in a further developed form. Diggers (who also live in houses) would go out and build them where they are needed most. Carriers will walk faster on roads (and therefore they can walk further within their work time).
As I see it, this would maintain the best parts of both S2 and S3 while fitting nicely into Widelands.
Posted at: 2010-09-18, 09:51
I think handling roads is one of the main tasks of s2 that set it apart from s3. having roads be automatically build like it was in s3 makes a lot of stuff easier. Handling your road traffic is very hard in widelands and that by design.
I like sigras thoughts but I feel this would change widelands gameplay quite drastically, i.e. this will be a completely different game and I would not want that. That said, with cheap branching trying stuff like this out is no harm.