Latest Posts

Topic: Workers and upgradeable buildings

mitchix

Topic Opener
Joined: 2010-05-01, 18:22
Posts: 7
Ranking
Pry about Widelands
Posted at: 2010-05-05, 06:55

In reading the forms and bug reports a lot of issues around this part of the game play have come up. I'm aware there are some workarounds for it happening right now for the 16build....

but I've been thinking big picture what might be a good way to handle this from all sides...

what I have I think is simple(from the non-programmer) to implement.

For all of the upgradeable buildings gray out the upgrade button until the requirements are met...

for for any of the mines they can't be upgraded till there is 1 chief-miner in warehouse or in a miner's position. So if you have a total of 5 mines and 2 of them have chief-miner's in them, you would be able to upgrade two mines to deepmine's then the mine upgrade button would gray..

same for master-miner's you would only be able to upgrade a deep mine to deeper mine if you had master-miners someplace...

I would think this would also help with the AI for doing upgrades since the AI would not have to search for workers of proper level before upgrading it would only have to check to see if it was available. (ungray'n would require an upgraded tavern which would require an upgraded brewer) once the dependence are done when you hold mouse over upgrade it will say what's missing(miner and or tavern) then when you check your tavern it will say brewer. This logic would extend to all building upgrades that require workers to apprentice.

Part B, storyline a worker should only be able to advance 1 position above the one he's at now. So in a mine after a miner becomes a chief-miner he can't learn anymore till he's in a deep mine.

(unless in a mine chief-mine/master-miner mine's faster)

For balance and game play this would keep a player from building a few extra mine's then later in the game having a huge jump in production as he upgrades multi mine to deeper mines... yes I know tavern/beer issues...

shred away please:)


Top Quote
LennStar

Joined: 2010-04-27, 20:00
Posts: 23
Ranking
Pry about Widelands
Posted at: 2010-05-05, 17:18

So... because I wanted the now advanced miner to go directly to an advanced mine (and not e.g. some other where a beginner would be enough), I build one (B) on the next mining position. With upgrading the old (A), he goes to B. After the next Upgrade of B, two skillful miners go to A, which was the deepest mine at that point.

That would be impossible to do. And I don't think that is a good idea. What do you have against a player getting a "huge jump in production"? I think that is intended by the player! Its a goal to reach (and therefore part of the fun).


"Scratch any cynic and you’ll find a disappointed idealist."

Top Quote
mitchix

Topic Opener
Joined: 2010-05-01, 18:22
Posts: 7
Ranking
Pry about Widelands
Posted at: 2010-05-05, 18:18

There are a couple issues...

one if you do not FULLY understand the economy and you upgrade building you can cause a total collapse. This is reason for only upgrade if proper resources in place

I am not sure what you meant with “advanced miner” they have 3 levels... and there are 3 levels of mines

miners

level 1(miner) only needs worker and tool.

level 2(chief-miner) must gain experience in a mine

level 3(master-miner) is a level 2 miner with more experience

mines

level 1(mine) build on a mine space plus 1 level 1 miner

level 2(deep-mine) upgraded level 1 mine plus 1 level 1 miner and 1 level 2 miner

level 3(deeper-mine) upgraded level 2 mine plus 1 level 1 miner and 1 level 2 miner and 1 level 3 miner

my point is rather then being able to upgrade a mine that you have no workers for at the moment to only be able to upgrade when there are workers someplace that can fill in..

so building a level 1 mine you would not be able to upgrade it till the miner was level 2 and you have a free worker+tool(IE level 1 miner)

level 2 mine would not be upgradeable until you had a level 3 and a level 2 and a level 1 miner available in..

so any miner(worker) that has more experience for the job he's doing is free (should this also require there to be a free worker to replace his vacated spot?)


Top Quote
ixprefect

Joined: 2009-02-27, 14:28
Posts: 367
Ranking
Tribe Member
Posted at: 2010-05-05, 20:44

I don't agree on limiting what the player is able to do based on available workers. We never do that anywhere else, so it would be quite unexpected. Also, it is planned to be able to switch workers around somehow, so that the problem of not having a worker around will be less pronounced.

Besides, accidently upgrading a mine without available workers is something you do once, and then you learn not to do it again. Just like you can exhaust your entire supply of wood if you don't pay attention. Again, that's something you do once, and then you learn not to do it again. Writing code to check for all the possible situations where you could so something unintended is a pointless exercise. Let the player play - there's no rule preventing fool's mate in chess, either.


Top Quote
mitchix

Topic Opener
Joined: 2010-05-01, 18:22
Posts: 7
Ranking
Pry about Widelands
Posted at: 2010-05-06, 08:00

ok i guess i have to agree with that.. build as many building as you like then when worker is around he will fill it... so code is going to need to be added to move workers and soldiers around... that should be lots of fun...

on with the moto if you build it they will come...


Top Quote
ixprefect

Joined: 2009-02-27, 14:28
Posts: 367
Ranking
Tribe Member
Posted at: 2010-05-06, 12:51

There's already a branch by Dwarik with the possibility of ejecting workers, however it has several flaws (see the Merge Requests on Launchpad).


Top Quote
mitchix

Topic Opener
Joined: 2010-05-01, 18:22
Posts: 7
Ranking
Pry about Widelands
Posted at: 2010-05-08, 19:10

i'm guessing a demand replacement system is what your working on...

if there is a woker above his level chief-miner in a miner position then he can leave building to go fill that position... and it will then create a demand for a miner... and that position will be filled...

many many moving parts to figure out and get it all working in a playable way....

[as we all know the build and destroy method that one must use now is very broken]


Top Quote
Schmendrick

Joined: 2010-05-13, 02:51
Posts: 3
Ranking
Just found this site
Posted at: 2010-05-13, 03:02

I haven't dipped into the source to know how easy this would be to implement, but...

I think that the problem can be solved by allowing an advanced mine (or any advanced building) to be staffed by a less experienced miner, but not to have any production. For example, I build a mine and it is staffed with a basic miner. I (too soon) upgrade the mine, and there are no advanced miners. The basic miner stays (or returns) to the mine, and every time his work program executes he gets experience as though he were still working in a basic mine, but there is no production. Once his experience qualifies him to truly work in the advanced mine, his work program begins actually mining. This solution has the advantage of not allowing the player to shoot himself in the foot regarding mines. Upgrading a mine too early results in a delay of resource production, but not an utter deadlock.

Actually, I would like to see this basic mechanic used in all buildings that can be upgraded. Ideally, any upgraded building would retain the functionality of its previous incarnation (so an upgraded mine could still extract lower resource levels when manned by a basic miner, or a basic brewer could still make simple ale, etc.).

I seem to remember reading somewhere that while a building could have multiple residents, only the primary worker was used for the work program. If this could be expanded (can it? I'll have to look into the source at some point I suppose) to allow multiple roles in the same building (operating either sequentially or in parallel), or even simply to allow more than one possibility for a building's occupant, I imagine designers could spec buildings like this fairly easily.


Top Quote
ixprefect

Joined: 2009-02-27, 14:28
Posts: 367
Ranking
Tribe Member
Posted at: 2010-05-13, 08:54

The fact that only the primary worker is used for the work program is an irrelevant technical detail.

I've been having thoughts roughly in your direction, but not quite. I do think that the advanced buildings should actually require all those workers to function. After all, they are using more complex machinery, etc. However, I wanted to check whether a miner in an empty basic mine still gains experience; I believe they should, and if they do, this would provide an easy workaround: if you accidently upgraded a mine and have no appropriate workers left, you can always build a basic mine at the side to train one of your workers.

Obviously, this should be combined with the available to eject workers and/or some automatic code in the Economy routines that does that. (I.e., if there is a building requiring a chief/master miner, and there is a chief/master miner in a different building that doesn't actually need it, we could request a basic miner into that building to replace the chief/master miner, who would then be free to move into the more advanced mine).


Top Quote
Silversnow

Joined: 2010-08-01, 19:11
Posts: 3
Ranking
Just found this site
Location: Sweden
Posted at: 2010-08-01, 19:56

Erm... I do not buy the comparison of this problem with maintenance of realm-wide wood supply. Sure, there are many mistakes a player can potentially make in the game, as has become evident to me, and no doubt several in the area of wood maintenance alone. But the key feature of the worker-and-site-upgrade problem is clearly how you can cripple your economy with one single mouse-click at the "wrong" time (when you didn't micromanage the progress of individual workers). Right?

A much better comparison, in my view, would be with the option to destroy a building. When a player clicks this option, a confirmation dialog is called up before any action is taken. And - as a minimum - I think something similar wouldn't be unreasonable to expect when trying to upgrade a building into something that you haven't yet got (the qualifications of) the workers for. When deciding whether to show this dialog, a simple check of just the workers at that site would typically suffice, I think. (That is, if not all of those are overqualified, the game would ask for confirmation.) Though a more complete and accurate check would, of course, involve all workers, everywhere, discounting those needed at other sites including previously ordered upgrades.

Even better, I think, it would be if the present obligation on the player to micromanage worker progress could be lifted entirely, and the game handle this automatically. For instance, the upgrade confirmation dialog mentioned in the previous paragraph could be expanded to give the player three options: (1) "Yes, now, now, NOW!", (2) "No, forget it" and (3) "Yes, but delay until workers are ready". If a player activated the third option, upgrading would then "run on autopilot" (i.e. happen at the instant that enough qualified workers are available).


Regardless of the above fixes (at least the first of which is definitely needed in my view), the game obviously also sorely needs to automatically have overqualified workers move their asses if they are more needed elsewhere. The method Ixprefect describes for achieving this automatic adjustment seems to be a good and safe one to me.


I am speaking here as merely a player, of course, who hasn't yet been playing much more than the tutorials. Still, for what it's worth, the only letdown in the game for me was precisely the handling of upgrades of qualification-dependent sites. I found the game a wonderful surprise overall, with nothing much else of importance missing, already in build 15, despite that I realize you don't regard it as finished and still have new stuff in the pipeline.

Edited: 2010-08-01, 20:08

Top Quote