Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/416 Building Rework #418

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
Open

Conversation

nvs
Copy link
Owner

@nvs nvs commented Apr 2, 2019

Building Rework

Attempt at implementing #416.

Testing Version

This replaces the existing build style with Orc building. Esc can be used to cancel building while having the builder selected (which it will be if he has just gone inside to build). Probably want to utilize Shift to queue up build orders.

This has the potential to be slower than the older style, depending on the player (i.e. if you use fast building it may feel slower). I've noticed, however, that this also increases my ability to recognize and respond to one-hits. Overall, races should be more competitive as building speed (and probably ping) won't factor in as heavily.

To-Do

  • Shift the builder's position after finishing the last gem, as his presence makes it difficult to select the placed gems. Need to shift him away from all placed gems.
  • Try out Human building. Not a fan.
    • Detect any order that would stop construction and cancel the building.
  • Mention in Changelog.

Notes

  • It seems impossible to change the icon of the build menu without exporting/importing it. Previously, with Undead style of building it used the icon for the Undead build menu. The icon has changed, and is now that of the Orc menu.

Options

  1. Replacing rocks using the built in haunt style. This is not viable, as discussed in Feature/416 Building Rework #418 (comment). Request made to improve the usability of this action made here at Hive.
  2. Orc style building. This is a possibility if there is a desire to move away from fast building. It strictly prevents it. The Esc key can be detected to make cancelling construction easier. I foresee a heavier use of Shift to queue up build orders.

    This is potentially slower than the older style. I've noticed that this also increases my ability to recognize and respond to one-hits. Times will be slower, however, for players used to fast building. But, overall, races should be more competitive as building won't factor in as heavily.

    Seems to be much easier to use (probably due to the slower pace) in high ping situations. I've made far fewer mistakes in such situations. This may help foster competition on Battle.net where people could be from anywhere around the world, as they may be less inclined to avoid certain hosts.
  3. Spread out the hurt of building over a longer period. For example, allow players to plan their construction during the round itself. They could build placeholders on open ground that do not path block. And placeholders on top of rocks that would maintain path blocking. Upon clearing a round or the use of a specific ability, all these placeholders would be replaced with random gems.

    In a situation with an explicit roll ability, the placement phase would not really exist. All that would exist is the planning phase (which would begin the moment a round starts until that roll ability it used), and the selection phase (which entails picking from one of the random gems).
  4. Something with Tiny Farm. This is basically Undead style of construction. It has the distinct advantage of using a real to define construction duration, thus allowing subsecond resolution. It could be used in conjunction with default building. A couple downsides do come to mind, so this is probably not too useful:
    • The lack of a building shadow when creating a queue of builder orders.
    • A built in cast delay that cannot be resolved, that makes fast building frustrating and error prone.
  5. Adding a replace ability onto rocks. This is probably the simplest option. However, it introduces a new mechanic. Needing to use both mechanics in the same build phase may feel awkward. The mechanics are related, but are not very similar. Place a random gem with the builder and select a rock and hit a replace ability? Not very intuitive. Then again, people already select rocks to remove them every round.

Thoughts

I would prefer to have the ability to replace rocks via haunt (Option 1). All in all, it keeps things simple. The responsibility of placing gems, either by building or replacing, would remain with the builder. Putting a replace ability onto rocks (as in Option 5) splits the responsibility. Yes, that may seem an obvious choice to some players. And, it may be the eventual course taken. But I'm not a fan.

Now, I do like Option 3. But it is a more drastic change. It remains to be seen whether the addition of such complexity is warranted, or whether it would feel good in practice. Option 4 is not really a choice. And Option 2 makes a good simple change; albeit, people may fret over change. Particularly, the speed involved. The benefits outweigh the cost, however (see #416).

So, if Blizzard comes through with the request related to Option 1, that will be introduced. Regardless, I feel that Option 2 alone is the best course right now. And Option 1 can always be added alongside it at a later date.

@nvs
Copy link
Owner Author

nvs commented Apr 3, 2019

A few issues with replacing rocks have been found:

  1. As it is an action that targets a unit, other units with large models can make it difficult or impossible to target a rock. This does not seem possible to resolve, outside of hiding non-rocks. That is not feasible.
  2. The presence of a slate makes it difficult or impossible to target a rock. This may be a priority issue; but, that is not something that can be changed in-game. And changing priorities will make it near impossible to drag select slates that are under rocks and towers.
  3. Without either of the above issues present, targeting during a replace rock action is simply not as smooth as placing a gem on open ground. It fails to accurately detect correct situations at times. And there is not enough UI feedback to know how to position the cursor, if that is the issue.

I'm pretty sure that this makes the idea of replacing rocks a dead end.

@nvs nvs force-pushed the feature/416-building-rework branch 2 times, most recently from 7d53984 to e63abd8 Compare April 3, 2019 04:31
@nvs
Copy link
Owner Author

nvs commented Apr 22, 2019

After playing this some and thinking on it as well, I'm not entirely sure this is necessary. I've been forcing myself to play in higher ping situations on Battle.net, and the existing style of building is not that bad. I'm not sure the shift for players is entirely worth it.

An alternative to Orc building may be Human building, which is visually closer to that of Undead. Then, introduce the concept of stopping construction if the builder moves away from the structure. That might make the change to building feel less foreign, as the builder will not be jumping into things.

@nvs
Copy link
Owner Author

nvs commented May 3, 2019

No real need to 'improve' human building. Perhaps, however, make the construction go faster.

nvs added 9 commits May 4, 2019 15:53
Issue: #416

The old style utilize Undead construction.  In short, the unit warped in
out of nothing.  This allowed players to 'fast build'.  However, this
style of building is difficult to use when latency is high.  Removing it
makes games with high ping less problematic for players, and should help
the multiplayer situation.  The new style will utilize Orc construction.
Issue: #416

In order to cancel construction, one must select the building being
constructed.  This, however, is error prone.  There is a short time
window in which to do this.  One also must select the building.

An alternative option would be to automatically select the unit.
However, that prevents giving the building multiple orders.  As such, we
detect usage of the escape key.  If the builder is selected and
building, we cancel construction of the building.
It seems that the interface constants used to adjust the icons of the
build menus do nothing.  As such, there is no reason to attempt to
change them.

It should also be noted that attempting to change the icons in
`CommandFunc.txt` also does nothing.
Issue: #416

The builder can make it difficult to select a placed gem.  As such, we
shift the builder out of the way, taking into account the various angles
that visibility may be blocked.
Builder movement properly handles all gem placement scenarios.  In
short, those that were not aligned to `128` sized squares were ignored.
This obviously allowed the builder to move to locations that should not
have been considered.

On top of it, the order of a few checks are swapped to improve
performance.
@nvs nvs force-pushed the feature/416-building-rework branch from b235de6 to b5bc534 Compare May 4, 2019 23:29
@nvs
Copy link
Owner Author

nvs commented May 7, 2019

Note that this has been put on hold, and will not be in 1.6. Instead, we will see what future patches bring.

@nvs nvs removed this from the 1.6.0 milestone May 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant