-
Notifications
You must be signed in to change notification settings - Fork 399
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 Request: to help players on the purchase screen with maxBuiltPerPlayer errors #9231
Comments
so count:4 is how many are already built ? Even that would be a Huge upgrade. I mentioned this a few years ago, because as we all know, it totally blows when you gotta purchase everything all over again. |
Yes and the max button is also working, which means the values should now never be reset. If maxBuiltPerPlayer isn't used, it would be possible to display the count in the label in place of allowedBuild. I'm also going to display the max factory production capacity (if applicable). |
I've no idea how something like "Max Built Allowed" can fit in a tool-tip for users. Something like that seems like some sort of technical jargon-based information understandable only to persons that already know exactly what "Built" means in the context. Personally, I would have no idea (or at least no level of certainty) about what it actually means. Some possible interpretations:
On top of that, I think something like "Built" leaves also unclear whether we are talking of purchasing or placing or both. |
The Pos2 description is quite clear, it's not strictly a piece-limit, it just impacts what can can be bought in the produce panel based on the current unit count. maxBuiltPerPlayer UnitAttachment option From my testing this is a good option well supported by the engine/AI which puts a hard limit on overstacking. I can see 2 reasons why it isn't currently used much:
|
In my opinion, the statement "the number of this unit that can be BUILT by a player", assuming "the number" means "the maximum number", "built" means "purchased" and the simple present implies that we are meaning "per phase", actually means that I can purchase at most that many of those units per phase regardless of how many I already owned at the start of the phase. The subsequent statement "If they have fewer than this number they can build more, if they have more than this number they can not build more" is arguably clear enough, but it says nothing about what happens when they have no more and no less than this number (meaning that the "if they have more than this number" part should have been formulated as "if they have this number or more"). On the assumption that the current behaviour is correct, I would say that
may be better explained as
However, the main point I was making is that I believe that the current "Max Built Allowed" description in the automatic tooltips gives scarce information to the casual user and likely is fully understandable only if you exactly know what option this description is referencing and how the option behaves. |
My hack moves some previously existing code used for output validation into the ProductionPanel. |
Can you use "Built" instead of "count" for clarity ? Or is that something that's named in the code that you're using ? Wouldn't be practical to change ? Nice work 👍 |
"Count" is just a placeholder, but "Built" isn't clearer in my opinion. To be clear, the count will only show in the tooltip for the Produce Dialog. showing it in all tooltips would require a different approach. |
Since "Built' is used right above it, I'd go with Yea, having it in the purchase screen only is plenty. It's where you're doing the actual purchasing, so not needed elsewhere imo. Probably best to save as much space as possible when you can. |
Some thoughts/responses:
|
This is currently working in my v2.5 code, but doing the calculation in the production panel rule forces a number of recounts instead of a single count per human player turn. |
Since the option is not making you impossible to have more (as you can have a game starting with more units than the maximum), I tend to think that bidding should not be effected. However, I can see good reasons also for effecting the bid. I guess better not changing current behaviours when the matter is very questionable.
"Max Built Allowed" is a terrible and literally wrong description, so it can be easily improved. Not sure what is a very good description if it is wanted to keep it short, though.
Yeah. I'm not a big fan of piece limits myself. I think I've never used this option so far. Nevertheless, it is always good to improve options if they are available.
I would rather change
to
It is a bit long, but it gives full information. Still, it is far from clear, but I don't know how to make it clear without making it very long. If you want to make it shorter, you can change the behaviour as to have the units destroyed if captured beyond the maximum (For example, if I'm at 30 and I capture 5 in a battle, I actually capture 2, whereas 3 are destroyed.). If you do that, the tooltip can be shortened to:
(I would still keep the starting setup and triggers able to exceed the limit)
It never makes any sense in any basic game. In non-basic games, it may make sense in some cases like mobile factories or placement in newly taken territories. The current program behaviour is correct for v1 and v2 (where you can freely over-purchase and, in theory, nobody would even give you a warning), but it is kinda silly because you practically never want to over-purchase (unless you lost your mind). Beside basic games, the allowance is basically a hack to let the players do what they want because the program fails to support a number of features it offers (and in 270BC I've just removed the warning completely because it was easily wrong because of the legionaires able to place forts only). v3 and v4+ have different over-purchase systems which are mostly (for v3) or completely (for v4+) not supported: this is a long story which has been beaten dead a number of times and better suited for a new issue, though I think there may be one or more still open on the subject. It's to some extent part of the usual story on whether or not TripleA should offer you making choices you can make but you would never make. We recently met it in the case of removing non-offloaded marines when you cannot retreat or removing bombers with more movement left instead of removing the ones with less movement left (both things which you can do but you should never do). So the general question is if TripleA should make you able to perform idiot moves by giving you prompts that serve nothing but to delay the game and allowing you to missclick on something you would never rationally click on. For v1 and v2, the current answer is "yes it should". |
|
If you want to keep it short, I would rather go with:
which would be short for "Max Owned per Player when one or more are Purchased". This literally means that, when they are not purchased, this limit doesn't matter and, when they are purchased, there is the limit. I think it is due to specify "per Player", because, if you just say "Max Owned", I would understand you are accounting all owned units (that is, all units in the game except the ones owned by the "Neutral" player, which is a pseudo-player for non-owned units and territories). Also, literally, "after purchase" means just that, so it would apply also 20 rounds after the purchase phase (meaning that, in your formulation, it should rather be "immediately after purchase" or "as soon as purchased", instead of "after purchase"). I suppose that units retained in inventory (usually because of having been purchased yet not placed) are counted too. Right? |
This issue has been automatically marked as stale because it has not had recent activity. If there is something that can be done to resolve this issue, please add a comment indicating what that would be and this issue will be re-opened. If there are multiple items that can be completed independently, we encourage you to use the "reference in new issue" option next to any outstanding comment so that we may divide and conquer. |
I would like to see something done on this. maxBuiltPerPlayer can be very useful in games where you don't want generic units but want to have a historical order of battle, for example, where units are specific to each player and there is only one of each "type" allowed to exist at any given time. 1st Army, 2nd Army, 9th Army, 3rd Army, for example, and you spent money on upkeep and rebuilding units that were destroyed. Technically, maxBuiltPerPlayer makes all this possible, but it is so hard to use as to be practically impossible. One of two things needs to be done:
|
andrewthree, check this out, if you have not seen it already; Im still using it today. |
Do you have your code available for any of your prototype changes? |
Don't know if it will help any. Cheers... |
My old computer died shortly afterwards and I haven't looked into triplea
since. But I probably still have any unreleased code on a hard drive.
…On Mon, 10 Jul 2023, 13:12 asvitkine, ***@***.***> wrote:
@butterw <https://github.com/butterw>
Do you have your code available for any of your prototype changes?
—
Reply to this email directly, view it on GitHub
<#9231 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AADD2U5EKM7HSZ6MLK3SAOTXPPPQNANCNFSM445VNSDQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@butterw |
The latest 2.6 now keeps the purchase selections after the error is shown. So closing this per that behavior. |
When a xml has maxBuiltPerPlayer it can frustrating for the player when they inadvertently try to purchase more than maxBuiltPerPlayer allows because it resets all their purchases.
One solution would be show how many can be bought, as in the image below;
So a maximum of 2 Wizards and 3 Sorcerers can be can be purchased, the rest are unlimited, to the PU available.
If the red numbers were 0 then, 0 can be purchased.
The discussion is here
https://forums.triplea-game.org/topic/2752/maxbuiltperplayer-error-resets-purchase-ui-was-how-to-limit-the-number-of-units-purchased?_=1621065805932
The text was updated successfully, but these errors were encountered: