Opened 13 years ago

Closed 12 years ago

#795 closed enhancement (duplicate)

Construction queue

Reported by: frapell Owned by:
Priority: Should Have Milestone:
Component: Core engine Keywords:
Cc: Patch:

Description

Right now, if you have a couple of villagers, and you want to build 7 houses, you can select the house from the buildings, hold down SHIFT, and place the 7 houses. What happens is that they all get their foundations, and the villagers start from the last one. They continue with the rest of them, just because they "see" a building not finished, and go there, but if the building is not in their radius to check if there are things to do, then they do nothing.

I think, this should work as follows: If you hold SHIFT, when you place several buildings, they should start building the first one, and all the others you place, should be remembered to be build later, as if you quickly selected the building to build right after they finished. Perhaps a "ghost" building should be there so you can know how many buildings are left, something like "Warzone 2100" does.

One really nice thing to have, would be ways to handle this queues, like, having extra control over these "ghost buildings" that you can cancel, move priority, etc.

Change History (7)

comment:1 by frapell, 13 years ago

Type: defectenhancement

comment:2 by Erik Johansson, 13 years ago

As far as I've understood it it's something to do with the groups management (not selection groups, but for when the computer manages more than one unit at a time) not working with shift-clicking at the moment. It should work for a single unit though if I remember correctly. It should be made to work in either case, regardless of whether it's a bug/defect or an enhancement :)

What would a "ghost building" do that the current foundations don't?

Also, cancel can be done already, just delete it. Once the shift-clicking works for groups it should just be to shift-click on the foundations in the new order you want them to be built to change the order.

comment:3 by frapell, 13 years ago

As far as I've understood it it's something to do with the groups management (not selection 
groups, but for when the computer manages more than one unit at a time) not working with shift-
clicking at the moment. It should work for a single unit though if I remember correctly. It 
should be made to work in either case, regardless of whether it's a bug/defect or an enhancement :)

I'm not sure i understand what you say here... i think you're probably talking about some technical specifics of the game implementation... What i mean with the "feature request", is that a villager (or a specific group) should have a "building queue" where you ("you" as a player) are able to add, remove and change priority, buildings...

Specific Scenario:
1) I want a group of 5 villagers, to build 4 houses and a mill.
2) I select 5 villagers.
3) Click over the "house" icon in the buildings list.
4) Hold down shift, and place 4 houses.
5) Click over the "mill" icon in the buildings list.
6) Hold down shift, and place the mill.

So, the idea here, is that the villagers, start building right after i placed the first of the 4 houses, and continue to build that first house, while i continue to place the remaining buildings (they do not stop building the first one, just because i placed a new one). When they finished, they get the first element of the queue (being the 2nd house) and the process repeats until they finish the last building in the queue (being in this example, the mill). If the player has not enough resources, then the building gets canceled, and the next building in the queue is processed

Current implementation, if i'm not mistaken, relies on basic AI from the villagers, where they have a radius for checking if there's any building under construction near. So, for example, if you build 5 towers, with enough separation (using Shift-click), after they finished building the first one, they do not continue with the rest of them, because they are outside this "radius". Furthermore, if you build, say, 5 houses really close with each other, and right before the villagers get there, you delete the fundations of the last one (the one that they were going to build first), they will get there and won't start building anything, not even the remaining 4 houses (with the foundations laying there).

What would a "ghost building" do that the current foundations don't?

The difference is that, a "ghost building" woldn't cost you. Right now, just for you to be able to place the building, you have to have the needed resources.

Specific scenario: (numbers made up) You have 150 wood, and you know that you get 150 wood every 10 seconds, and that your villagers build a house in 7 seconds. So you can queue, say, 10 houses, and you can just forget and continue to do other stuff, because you know that they will be built. As it is right now, having to "pay for the foundations", you need to either wait until your villagers get all the 1500 wood resources, or remember that you are building houses, and build each house when they finished the last one.

Also, cancel can be done already, just delete it. Once the shift-clicking works for groups it
should just be to shift-click on the foundations in the new order you want them to be built to 
change the order.

Ah... didn't know this. i thought you loose the resources for the building if you delete it.

comment:4 by Erik Johansson, 13 years ago

It's about the technical implementation yeah =) In short what I tried to say was that it works as you describe in your scenario for a single unit, but not when you have selected more than one.

About the ghost building: What happens when you don't have enough resources for the second (or third, or fourth, etc) building once the first is completed? Do the villagers patiently wait? Do they abandon construction and stand idle? Are the ghost buildings lost?

comment:5 by frapell, 13 years ago

Just tested it for a single unit, and yeah, works as i describe :)

About the ghost building: What happens when you don't have enough resources for the second 
(or third, or fourth, etc) building once the first is completed? Do the villagers patiently 
wait? Do they abandon construction and stand idle? Are the ghost buildings lost?

Well... my idea on how this should work, comes from the game "Warzone 2100". In there you only have 1 resource type: "Energy". When the builder goes to build the next building in his queue, and you don't have enough energy, he will just stay there while the energy rise, until the full price on the building is met, and then starts building. If you have some spare time, check it out, it will be far easier than me trying to explain it here :P (you can get it from http://wz2100.net/)

Although, i think it would be best, as i explained before: "If the player has not enough resources, then the building gets canceled, and the next building in the queue is processed" -- And so on, until the whole queue is empty.

And yes, the "ghost buildings" will be lost, but it doesn't matter, because they are not real buildings and they cost nothing... they are just a way for you, as a player, to know all buildings that are queued... they only are visible to you (only perhaps when the unit/group of units associated with the queue are selected) and not the rest of the players.

comment:6 by michael, 13 years ago

I think group-shift-queuing should work exactly as a single unit currently shift-queues.

comment:7 by historic_bruno, 12 years ago

Milestone: Backlog
Resolution: duplicate
Status: newclosed

Duplicate of #592.

Note: See TracTickets for help on using tickets.