News:

The Forum Rules and Guidelines
Our forum has Rules and Guidelines. Please, be kind and read them ;).

[Patch] "Design mode" for route building

Started by falconne, December 10, 2011, 02:22:27 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

falconne

Quote from: sdog on December 19, 2011, 07:32:32 PM
i think it's a brilliant idea, i did not post because i thought it's such an obvious sollution, without any drawbacks that it doesn't need much discussion.

I thought so too, but I think there's some misunderstanding going on about the terms in this thread. I need to clear up some confusion by summarising my points:

The original idea of actually creating a preview mode as explained in the first post has many complications as I've explained in subsequent posts. It's not impossible or even that difficult to implement, but doing it in a user friendly way that doesn't feel tacky is hard. The alternative method I would like to try is making it so that if you bulldoze a piece of infrastructure a short time after building it and you haven't sent vehicles on it yet, you get the full refund back. It achieves the same objective as design mode with much less complexity and code change required... and everything just works.

The term "extended undo" got introduced later and there's some confusion over that, being taken to mean that adding extra undo levels with full refunds as an alternative. I don't intend to do that, or use undo in any way.

Quote from: prissi on December 20, 2011, 09:24:20 AM
Could we please focus on the design mode as it is now, and the addition needed to make it work with the network mode and on the UI whether using a dialogue or a new toolbar.
I just don't feel the original idea is workable any more. What do you think about bulldozer refunds?

prissi

Personally I still think the design mode is as useful as an extended UNDO as it would make thinks like diagonal tracks easier.

An UNDO refunding when there was never a convoi on a track is even easier, as such a counter is also in the way statistics. Extending such a lists with trees is certainly possible, as trees can be relatively easy restored. Terraforming will be lost so far.

In the end it would be an extended UNDO. IF not moving stuff is to be restored, an extended UNDO seems also not so difficult, as most of the infrastructures is there. You might need an undo-class to undo different kind of objects. (Like terraforming will delete trees and alter height of many tiles.) Since those stuff goes via dingliste, maybe a lot of stuff could get there.) Well, if this is the route you want to go, please open a new thread.

falconne

Quote from: prissi on December 20, 2011, 12:46:35 PM
In the end it would be an extended UNDO. IF not moving stuff is to be restored, an extended UNDO seems also not so difficult, as most of the infrastructures is there. You might need an undo-class to undo different kind of objects. (Like terraforming will delete trees and alter height of many tiles.) Since those stuff goes via dingliste, maybe a lot of stuff could get there.) Well, if this is the route you want to go, please open a new thread.
Cool, as long as by "extended undo" you mean the same thing as I meant by bulldozer refunds. In fact, the current undo feature can also be enhanced so that it too follows the same rules and gives you money back if if everything that was undone was unused by vehicles and you're still within the grace period. But that will be an iterative extension.

I'll create a new thread when I have a patch for that available.

Fabio

A few more thoughts:
~ the ways and objects in the period of grace should be visually marked, with a 75% transparency or a colored overlay (or both)
~ if UNDO were the choice, it would be useful a commit function so that after you're sure of what you built, you can commit and go on building, without risking to undo it by mistake
~ if UNDO were the choice, please see if also a REDO were possible, in case of accidental undo. Probably if you save a list of all actions you can undo, you undo them in a reversed orded. Then, if needed, you can redo them again, until the player does an action which starts a new list...

falconne

No, this undo term keeps causing confusion. I don't intend to use "undo". I intend to make bulldozing within the grace period give you refunds. That's much more flexible than using undo.

As for graphics, making the infrastructure itself transparent may confuse people. I was thinking maybe making the grass tile under the infrastructure go brown during the grace period? Making it look like freshly excavated land where grass hasn't grown back yet?

Fabio

Quote from: falconne on December 21, 2011, 08:52:12 AM
As for graphics, making the infrastructure itself transparent may confuse people. I was thinking maybe making the grass tile under the infrastructure go brown during the grace period? Making it look like freshly excavated land where grass hasn't grown back yet?

would you change the hue programmatically or require new graphics? I think new graphics, pretty much like sidewalks for urban roads, would look better.
OTOH, many ways cover completely one tile (examples in pak 128: canals, runaways, highways) so that the tile below would be unseen. Maybe tile + 90% opacity would be better, or tile + shifting lightely the hue of the way.



Quote from: falconne on December 21, 2011, 08:52:12 AM
No, this undo term keeps causing confusion. I don't intend to use "undo". I intend to make bulldozing within the grace period give you refunds. That's much more flexible than using undo.

I see. Please, consider one thing: you mentioned removing ways never transited. So, in this case the graphics would just switch to default. I would rather consider ways never RESERVED by a vehicle, even if not transited yet. Thus if a vehicle reserves a new laid track, it would turn to default graphics immediately and the player would be advised not to delete it, which could disrupt service.

prissi

Why not undo? That functionality is know from almost any other program. It is also not so difficult to add to the program, because all relevant objects for way building needs to be saved for undo in grund_t::neuen_weg_bauen.

falconne

Quote from: fabio on December 21, 2011, 09:49:00 AM
would you change the hue programmatically or require new graphics?
Whichever is easiest... if it can be done easily through code that's probably preferred, but I'll address that when I finish the functional bit. I'll take suggestions from those who know the graphics code, because I haven't seen that area of code yet and some pointers from those in the know will save me some time.
 
Quote from: fabio on December 21, 2011, 09:49:00 AM
consider ways never RESERVED by a vehicle, even if not transited yet.
Good point, thanks, I'll do that.

Quote from: prissi on December 21, 2011, 09:50:06 AM
Why not undo? That functionality is know from almost any other program. It is also not so difficult to add to the program, because all relevant objects for way building needs to be saved for undo in grund_t::neuen_weg_bauen.
Well the way I'm doing it will mean the undo works as well, because I can easily make the undo give a full refund if it's within the grace period. And it can be later extended to have more undo levels. BUT, I don't feel that's enough. It doesn't have the same advantages as being in a "planning" mode. If I design a complicated route and while reviewing it decide that I should change the middle section, because I realise the trains could go faster if I change the turns a little, I'd have to undo everything I've done all the way back to that middle section, then manually redraw the rest of the route again. Instead, being able to use the bulldozer to correct minor mistakes anywhere in the route and make optimisations after the whole thing is built and you can see the full picture, that's a proper planning/design mode.

There's no exploit possibilities here and it give the player complete flexibility. It's also an easy concept to grasp, to understand that inside a grace period, if you haven't used the infrastructure, you get the full refund if you demolish it. It's the same as selling a vehicle back that you purchase accidentally without using it. If the tile graphics change to indicate what can still be demolished for a refund, intelligent players will soon latch on to the pattern, even without reading it in the help.