COMP3122-2324-Project / Simpsyber

0 stars 0 forks source link

[FEATURE] Allowing player to reassign a different staff to a task #14

Open taktakd opened 7 months ago

taktakd commented 7 months ago

Players are not allowed to reassign a different staff once they've selected a staff to a task in this game. Players may select the wrong staff unintendedly or simply have second thoughts, therefore letting them to reassign a different a staff to a task can improve user's experience.
IMG_0034

jackyngaipan01 commented 7 months ago

This sounds like a great idea, and I also have the following suggestions to hopefully make your idea even better. Confirmation Dialog: After a player selects a staff member for a task, display a confirmation dialog. This dialog should remind the player of their choice and ask if they are sure. Include an option to change their selection. If the player confirms their choice, proceed as usual. If they want to reassign, allow them to pick a different staff member. Grace Period: Implement a short grace period after staff selection. During this time, players can freely change their decision without any penalties. Once the grace period expires (e.g., 10 seconds), the selection becomes final. Undo Button: Add an “Undo” button next to the selected staff member. When clicked, it allows the player to reassign the task to someone else. Limit the availability of the “Undo” button (e.g., only within the first minute after selection). Limited Reassignments: Allow players to reassign staff, but with restrictions. For example: Only one reassignment per task.

TomLi0421 commented 7 months ago

Considering that this is a simulation game of project management, such a rewind function may not be an option. In reality, a project manager should have had a second thought before assigning a task, and I think this is what we should learn from the game.

taktakd commented 7 months ago

I like the grace period idea. It can let players change their decision within a short period of time, in case they pick the wrong staff unintendedly.

SHEN22071 commented 7 months ago

@jackyngaipan01 Allowing the withdrawal of tasks within one minute of assignment is a good feature. I also recommend being able to undo tasks while they're in progress. For example, in situations where a sudden important task arises that requires immediate handling, and I know a specific staff can handle it in the shortest time possible. However, due to the staff already being assigned a task that cannot be withdrawn, we are forced to wait for them to complete their current task or choose another staff who may take longer to handle the urgent task. Handling the task with a longer duration can lead to a continuous decrease in customer satisfaction.

Therefore, I propose: Option 1: Select the staff to be withdrawn and transfer their task to an available staff, but both employees will enter a one-hour cooldown period to simulate the handover process in real work. Option 2: When revoking a staff's task, the work progress should be preserved, allowing the staff to return for reprocessing or for another staff to take over. If another staff takes over, the time allocated can be adjusted based on the task's progress, with an additional portion of time added to simulate real-life work scenarios.

Kiawaik commented 7 months ago

A player may want to reassign for some reason.

  1. Players may miss-click to assign the wrong staff to a task.

  2. Players may find that there is a better person to handle the task on second thought

  3. There is an urgent task that appears that requires staff immediately while the staff is working on another task.

It is reasonable to add a task reassign or cancel task function to the game.

Currently, the task is unclickable when it is assigned to a staff. We can add a button that appears when a player clicks on a working task, and there will be a cancel button. player can click this button to cancel the current task and free the staff. After that, player can reassign staff for the task and assign other task for the staff.

Reassign

YANGZhaochen2002 commented 7 months ago

I think it's a good idea because, as my game progresses into the later stages, I must ensure that my most efficient employees remain available to fix unpredictable bugs. This leads to a slowdown in my development pace since I am hesitant to assign long development tasks to my most efficient workers. Therefore, I believe it's reasonable to switch the employees leading a project after some progress has been made. This approach can maximize my efficiency and preserve the progress I've made. However, the issue arises with recalculating the remaining time for a project after changing the lead employee since different employees have varying levels of efficiency. Additionally, an initial time investment is required for a new employee to understand an incomplete project they inherit, which introduces unnecessary calculations and complexity.