terrarium-earth / Heracles

A tree style questing mod allowing creators to set completable quests for their users
MIT License
35 stars 19 forks source link

[Bug]: Task and Reward Grammar #75

Closed sisby-folk closed 1 year ago

sisby-folk commented 1 year ago

Edit: Mostly complete via #76! see comment.

Bug Description

The language used in in task/reward UI elements contains a good chunk of problems to resolve.

I'll describe each issue I've encountered and solutions i consider reasonable.

I'll note I'm suggesting a lot of removal of pluralization for arbitrary strings, which i feel just isn't possible in a modded context.


1- Inappropriate pluralization for KillEntityTask image Suggested Title: Kill: %s - "Kill: Drowned", "Kill: Creeper" Suggested Desc: Kill %sx %s - "Kill 15x Drowned", "Kill 15x Creeper"


2- Inappropriate pluralization for GatherItemTask image Suggested Title: Acquire: %s - "Acquire: Wheat Seeds" "Acquire: Fishing Rod" "Acquire: Pumpkin" Suggested Desc: Acquire %sx %s - "Acquire 32x Wheat Seeds" "Acquire 1x Fishing Rod" "Acquire 8x Pumpkin" (I'm suggesting "acquire" as "gather" is less intuitive for crafted items like fishing rods.)


3- Inappropriate pluralization for ItemReward

image

Suggested Title: Receive: %s - "Receive: Leather Boots" "Receive: Bread" "Receive: Torch" Suggested Desc: Receive %sx %s - "Receive 1x Leather Boots" "Receive 10x Bread" "Receive 32x Torch"


4- Handling of Tags for GatherItemTask image Suggested Title: Acquire any %s - "Acquire any Swords" "Acquire any Stone Tool Materials" Suggested Desc: Acquire %sx of any %s - "Acquire 1x of any Swords" "Acquire 11x of any Stone Tool Materials"


5- Unclear wording in CheckTask image Suggested Desc: Click the check button to complete Suggested Button Tooltip: Complete Task (was "Check Task") Reasoning: The button has a green check icon in it when it's both pressed and unpressed, so the analogyto "checking a box" is a bit far off. "Check" in the old tooltip may ambiguously mean "Inspect" - "Check off" is more explicit, but is less direct than complete.


6- Handling of XpQuestReward

image Suggested Title: Receive: XP Suggested Desc: Receive %s XP %s - "Receive 50 XP points" "Receive 1 XP level" In this case, pluralization can be used as the words ("point" and "level") are known. This is similar to what XpTask does.


7- Handling of LootTableReward

image Suggested Title: Receive Random Loot Suggested Desc: From %s - "from minecraft:chests/bastion_other"


8- Handling of Consume GatherItemTasks image Suggested Title: Submit: %s - "Submit: any Saplings" "Submit: Dirt" Suggested Desc: Submit %sx %s - "Submit 32x of any Saplings" "Submit 1x Dirt" Suggested Button Text: Submit Items Suggested Button Text: Consumes %s Items - "Consumes 32 Items" Suggested Editor Options: acquire, submit, submit_auto (was automatic, manual, consume respectively)

(Side note - XP tasks seem to act as submit_auto with no options - submitted as #74)


9- Handling of StatTask image Suggested Title: Increase %s Stat - "Increase Jumps Stat" "Increase Time Played Stat" "Increase Distance By Horse Stat" Suggested Desc: Reach a %s stat of %s - "Reach a Jumps stat of 20" "Reach a Time Played stat of 1" "Reach a Distance By Horse Stat of 5000"


10- Control Hints for InteractTasks

image

This [Right-Click] is hardcoded, which doesn't match the game logic. If it wasn't hardcoded, it might read [p] the Entity when rebound to p. Suggested Desc: Use [%s] to interact Alternate Suggested Desc: None! I don't think a control hint for "interact" is an appropriate desc value.


11- Handling of Advancements

image

Suggested Title: Complete an Advancement Suggested Desc: Achieve '%s' - 'Achieve 'Hot Stuff'` Reasoning: No other task type uses a run-on sentence like this (closest is our suggestion for loot tables).


12- Consistency of information density in titles and descriptions

image image

Ideally, "title" summarises the type of task expected, and "desc" defines the full required task -and similar with rewards. This is true of GatherItemTask, KillEntityTask, ItemReward, CommandReward, LootTableReward, XPTask, DimensionTask, and CheckTask - as well as revisions above for XPQuestReward and StatTask.

However, some other task type use the desc field for "hints" (ItemInteract, BlockInteract, and EntityInteract), or for the complete opposite - providing less information than the title (BiomeTask, RecipeTask, and StructureTask)

The Less information -> More information relationship should ideally be consistent. Suggested Titles: "Visit Biome", "Craft Recipe", and "Find Structure" Alternate Suggested Titles: None! Just use the description as the title, and have no description.


Additional Context

I've kept solutions in the current format, but I do also think that having a title, description, progress bar, and numeric indicator is often taxingly redundant for many reward/task types. Compressing the description and title into one title (used as the description if a custom title is added ala #65) would resolve a lot of this.

Code of Conduct

sisby-folk commented 1 year ago

giving this a go in a fork now!

acikek commented 1 year ago

I'd refrain from using the word "achieve" to describe completing an advancement. There's a lot of verb repetition already, so to keep it consistent, I think the description for that should just be "Complete 'Hot Stuff'".

sisby-folk commented 1 year ago

With #76 merged now this is mostly complete. I'm going to cover the leftovers in this comment for clarity:


1) Pinned Task Titles

271199834-fdc35197-eb4f-466f-a073-413aa932312f

Some pinned tasks have the same title for every instance of task type. Fixes as follows:

These changes shouldn't change the way the title and desc are formatted in the task view. In a pinch, deliberately not using title formatters in task widget and then using them for this could work, you'd just have to misuse the pluralness condition a bit for e.g. points/levels.


2) Type-only Redundant Task Titles

Some task titles that are the exact same for all tasks of that type. I think this could be avoided by just allowing these tasks to not have descriptions unless they actually need them. This should help with both pinned tasks and potentially custom task titles, as the new "title" can be used as a description instead.

Case Title Description Progress
Current Format Craft a Recipe Craft minecraft:wooden_pickaxe 0/1
New w/ No Custom Title Craft minecraft:wooden_pickaxe 0/1
New w/ Custom Title Craft a Wooden Pickaxe Craft minecraft:wooden_pickaxe 0/1

3) CollectionType Should Be Translatable

Translations are important modpack devs too! I'd suggest these:

ThatGravyBoat commented 1 year ago

Shouldnt this be all good now since if there is a mistake the title can be overridden?

sisby-folk commented 1 year ago

Yep what I'll do is I'll close this one and open a new ticket for pinned quests.