Parik27 / SA.Rainbomizer

A (probably fun) Grand Theft Auto San Andreas Mod that randomizes stuff
GNU General Public License v3.0
155 stars 25 forks source link

DYOM entire missions sorted by website's votes #175

Closed andradadad closed 2 years ago

andradadad commented 2 years ago

Three suggestions for DYOM randomizer:

  1. DYOM entire missions are better than just the part of it, which always end without meaning. Letting complete missions on random mode makes the play way more stable and enjoyable. I would love to play what the author wanted to show, rather than just a fraction that most of the time is incomprehensible.
  2. Have a filter to pick the most voted missions, a limit of minimal votes or views/downloads/comments, or any kind of filter by any kind of score, something that could take out the "kill the person" and "go to groove street" or some recreation of an original mission. The website's voting system is enough to make fanmade missions an actual part of the game, and there are many great missions with good stories, sadly this is not picking up good experiences but anything sent. So, a log to keep track of already played top missions by randomizing the most voted ones, the first time experience with the mod becomes better. Tags also, which don't exist on the website and I think is not attainable like suggestion 1 and 2, but would be terrific to discard "groove street", or pick up parkours, etc.
  3. Even they are DYOM related: Fix the unheadshotable hitbox with an optional string, checkpoint's wider hitboxes, minimap interior bug reset or indicating with a different color if it's really high (an interior), weapon skill reset at every new session, full respect bars fills corresponding to your best record score, timer clock prompts notice, customizing number of ammunition for a reasonable amount (even this is author's to blame, and could bug a working mission, still 9999 bullets creates an artificial challenge).
Parik27 commented 2 years ago

DYOM entire missions are better than just the part of it, which always end without meaning. Letting complete missions on random mode makes the play way more stable and enjoyable. I would love to play what the author wanted to show, rather than just a fraction that most of the time is incomprehensible.

The randomizer doesn't remove any part of the mission. You always get the entire mission not a part of it.

Point 2

While this can be done, it will reduce randomness of missions. About your suggestion of removing certain types of mission, trying to discard missions like that will have false-positives and will increase loading times drastically.

Fix the unheadshotable hitbox with an optional string

I have thought about it and it would make certain types of missions (e.g. boss fights) too short and not what the author would have intended. What I think would be better is just limiting the number of such enemies can exist in a mission. Not sure what you mean by optional string

checkpoint's wider hitboxes

Not sure what you mean by this, but it sounds like it will break missions that rely on it. Checkpoints have hitboxes larger than they appear in the base-game as well.

minimap interior bug reset or indicating with a different color if it's really high

I could implement that.

customizing number of ammunition for a reasonable amount (even this is author's to blame, and could bug a working mission, still 9999 bullets creates an artificial challenge)

Not sure what a reasonable amount would be, but reducing 9999 to 5555 wouldn't really make much difference and indeed would break certain missions.

Regarding the other suggestions in point 3, I require further clarification on those since it isn't clear what exactly you mean by that

Lili1228 commented 2 years ago

weapon skill reset at every new session

Weapon skill (Poor, Gangster, Hitman) is handled by the game and not main.scm, so it's also in DWOM. OP suggests to 0 (or maybe 1000, who knows) them when you start the session. Storing them in a text file when the game crashes would also be cool.

full respect bars fills corresponding to your best record score

This will be a guess, but I think this example works: currently Josh's PB is 15-0. If he got 15-0 again, the bar would be at 100%, while with 5-0 it'd be 33.(3)% and so on. Respect+ at the end of the mission actually increases this bar, it's useless, but it's there.

No idea what is the timer thing.

andradadad commented 2 years ago

@Parik27 Even as it isn't the purpose of randomness, downloading the #1 and #2 parts of the same mission could make missions more enjoyable, and completing the narrative as the author intended. It's not easy because they're linked on the description of the website, but still not impossible to scrap the links and place them as an option for those who want longer missions. Other DYOM related: 1) Police unwanted levels disable on a quick menu, 2) bullets default number in the quick menu (so they could be reverted if the mission requires it), 3) still missions resets in bugged missions require the initial 'manual labour' of picking the mission in the pre-automatized menu, so, a quicker way (perhaps a hotkey) to skip the mission or anything that isn't creating a new game and restarting on load mission menu etc. 4) tts recognizes the first repeated name instead of pronouncing it out loud 5)

Also, sorting missions by the number of "objectives, actors, cars..." could increase the chance of filtering short missions. This quality filter by views/downloads/comments minimals could improve this mod a lot for the first-time user, and I believe it could be one of the best upgrades so far to this great mod.

Parik27 commented 2 years ago

Regarding Downloading Multiple-part Missions

Downloading separated parts is not technically easy to implement. The author isn't required to link the next part in the description. Moreover, the author may also link a previous part or another mission that they've made that's part of a different mission chain instead. This makes it highly unreliable to use the description as any sort of reliable way to get missions in a sequence.

Furthermore, it would require eliminating missions that are not the first part of the mission. Again, it's not possible to accurately determine whether it was indeed the first part of a mission chain. Not all mission makers mention that in the title, and not all of the titles are English and there could also be spelling mistakes. There's too many variables to accurately determine that.

I'm not against adding this feature, but this is a feature that isn't possible to implement. There's also the issue about how it would work with missions that have an insane number of parts (I've seen parts going up to 40). It wouldn't really be enjoyable to have to sit through 40 of similarly themed missions.


Quality-of-Life improvements

1/2) What you mention can be done using a trainer mod. That's beyond the scope of the mod. 3) Starting a new game is required to clean-up objects/markers created by DYOM. 4) TTS still can't accurately determine who the speaker is, and it may remove words that aren't speaker names. However, I'll look into a possible solution to this.


Sorting of Missions

The DYOM website doesn't allow a function to sort missions by objectives, actors or cars. So unfortunately, you can't use that metric to reject short missions.

It's not possible to combine multiple metrics either. So you can only sort by either rating, downloads or comments, not all three together. That makes it an unfair system because one mission may be rated 5 stars by one person, but another might be rated 4 stars by say 1000 (again you can't filter that). Views/Downloads/Comments are also not an accurate way to determine the quality of the mod because again, it means that old missions are favored (when DYOM was more popular) and also removes the missions that have no views/downloads but are good.


So to summarize, what you're asking is simply not feasible to implement. If you can come up with a way to possibly implement any of these, you can implement it yourself since the mod is open-source. There are plenty of resources available where you can learn about development if you don't know how.

andradadad commented 2 years ago

Thank you for you time. You clearly didn't like quality filters, and even I can't code I still believe it to be good improvement without reducing randomness.

See ya.