-
-
Notifications
You must be signed in to change notification settings - Fork 97
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
[Highly Customized] Distribution click action mode #1453
base: develop
Are you sure you want to change the base?
[Highly Customized] Distribution click action mode #1453
Conversation
Nightly build for this pull request:
This comment is automatic and is meant to allow guests to get latest nightly builds for this pull request without registering. It is updated on every successful build. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
In theory, it should work normally in multi-players, but I haven't tested it yet. It would be great if it could work as expected. |
32c90bd
to
b9569c4
Compare
Tested locally. Doing good. |
I am hesitant on how to deal with this feature. It removes a huge amount of microcontrol from the game, essentially automating half of whatever required skill before and now just requires a mouse click. |
I think all you want is a toggle? |
I would say that if we will merge it, a toggle is a must, because the whole existence of such a hotkey alters gameplay significantly, removing a huge amount of microcontrol requireemtn. The bigger question is where do we draw the line on what should be included in mainline Phobos and what not? In other words, what is the scope of the project? This is an exaggeration, but just to show the point that I am trying to make -- imagine suddenly a pull request appears that is intended specifically to turn YR into a whole different genre of game (say, a visual novel with no RTS stuff at all) and is not usable for purposes of regular RTS players or modders. Should we merge it at all? I don't think we should, it is, as we say, out of scope. The main question is where do we draw the line between such features that are out of scope and the features that should be merged and are in the scope? And what potential drawbacks are there if we merge it? |
Personally, I came to Phobos because everyone knows Phobos. If I get something done here, then people will know it's done and other people don't need to spend time on what I've already done. I think it is meaningful.
Negligible performance impact. |
If you have to decide on a scope, then we can vote on those PRs that anyone says are out of scope. |
I have an idea. First, the radius can be controlled not via hotkeys, but with a mouse. How that would work? You press a hotkey to activate distribution mode, and when you press right mouse button on the target and drag your mouse without releasing the mouse button - it displays the circle and changes the radius depending on how far you drag the cursor, so you regulate the radius with the mouse drag. Then when you release the mouse - the orders are given to every selected unit. You do that each time and effectively draw circles to give orders. This is inspired by Call to Arms: Gates of Hell game. There you can spread your infantry among covers this way, click behind covers and drag to spread people better. |
Yes, I think we still need a toggle to enable this feature, not just defining buttons. I will add later.
Personally, if someone (whether they are modders or task package authors) needs a certain feature and I happen to be interested in it, I will try to do it. Whether to merge or not is actually related to whether more people will use it. But no matter what, these features will only be pushed if there is a demand.
If it is assessed that this should not be merged, then I will close it.
As TaranDahl said, for example, if this feature does not have any impact on performance and can be disabled (assuming I have already added the switch), then I think it can be merged. |
The opening video is based on the initial design, which is now outdated. I will share another one when I have time. |
Regarding the feature itself: Can you save mode1 and mode2 (or at least a default value that can be manually set by a player) into |
Kerbiter's suggestion is quite interesting,
but I'd prefer it to be another optional manifestation of this feature. |
Do you mean toggle between hotkey radius selection and mouse adjustment? I am not sure if the hotkey radius selection is intuitive enough to be left in. Compare "a single long enough drag to give and customize the order" against "toggle a hotkey or multiple, give an order, toggle hotkeys again". It is also far more intuitive to adjust the radius with a mouse, just like you do in a 2D or 3D graphics editor when you create a circle or, say, a cylinder, and change the size with a mouse. Hotkey doesn't have immediate visual feedback, you have to read the number and translate it into a circle in your mind, or, alternatively, you'll have a constantly floating circle around, and a toggle to enable/disable the feature altogether. If you implement it like I suggested - there will be much less friction for the user. |
I currently have a new solution that uses the mouse wheel to assist. Still testing and waiting for feedback. |
Sounds like an interesting option, is that what you mentioned earlier? |
不,我认为它们都应当是可选的,它们的具体效果都非常有趣,它们也同样会有人希望使用
所以只要给足 mod 创作者是否使用这个效果的自由,再确保它们不会拖累 FPS,那么它们就是可以保留的。
No, I mean they should all be optional.
So as long as mod creators are given the freedom to choose whether to use these effects and ensure that they don't drag down the FPS, then they can be kept. |
Yes, it's based on #1522 . |
Have you heard of TS: Another World? It is a YR MOD that is set in the world of TS, retains RTS elements, and features visual novel-style missions. We might not need to focus on requirements that may deviate from RTS content, but if someone provides a feature, accepting it with the option to disable it is not an issue. Unless we are convinced that it will have a negative impact on other feature. If a user will specifically implement functions that do not belong to RTS and are not closely related to YR content, then I think they should also base on something like Ares0A or ts-patches to create an independent new expansion engine instead of making changes on current version Phobos.
你听说过《TS:AnotherWorld》吗,它是一个以 TS 为世界背景、保留部分 RTS 内容,任务内容属于视觉小说的 YR MOD。我们或许不必要将可能有些偏离 RTS 内容的需求作为重点,但如果有人提供了功能那么在允许关闭的情况下接收它并不是什么问题。除非我们确信它会对其他功能造成不良影响。 如果某个用户会专门去做不属于 RTS 也与 YR 内容没有太多关联的功能,那么我想他们也应该会去基于类似 Ares0A 和 ts-patches 制作一个独立的新拓展引擎而不是在当前版本的 Phobos 上更改。 |
Well, after a bit of thinking and input from you all I think that if we gate it behind a toggle - it's fine. The feature is isolated and doesn't make a big impact neither at modders, nor at users, nor at developers if it's off. Of course, it's a maintenance cost, but hopefully there won't be much problems with it. |
Another example of the approach I suggested. This GIF is a recording of an RTS game Zero-K, based on Spring RTS engine. It has one of the best-in-class user interface features, which make playing the game a delight. You can draw paths or areas with the mouse and it's all very intuitive. I recommend you give it a look and maybe even try it. |
(If someone is not familiar with Supreme Commander/Total Annihilation style gameplay: the GIF shows designating metal extractors to be built at all spots that are available in the area designated by drag and click.) |
Personally, I might prefer to use two separate clicks to determine the center and radius (the second click on a point on the arc) rather than long-pressing and dragging, unless it's for weapons like bows in a first-person perspective that require a special feel :P |
[ ]
Distribution Mode Spread / Filter / EnableAllowDistributionCommand
.None
, it is the default behavior of the game. If the range is not zero at this time, a green ring will be displayed. You can adjust the filter mode to:Auto
- if the behavior to be executed by the current techno is different from the behavior displayed by the mouse, and the behavior to be executed will make the techno move near the target, the behavior will be replaced with area guard. At this time, a blue ring will be displayed.Type
- on the basis ofAuto
, only targets of the same type (like infantries, vehicles or buildings) will be selected among the targets allocated in the range. At this time, a yellow ring will be displayed.Name
- on the basis ofType
, only targets of the same name (or with the sameGroupAs
) will be selected among the targets allocated in the range. At this time, a red ring will be displayed.TXT_DISTR_SPREAD
,TXT_DISTR_FILTER
,TXT_DISTR_HOLDDOWN
,TXT_DISTR_SPREAD_DESC
,TXT_DISTR_FILTER_DESC
andTXT_DISTR_HOLDDOWN_DESC
into your.csf
file.In
rulesmd.ini
:2024-12-16.01-47-48.mp4