Home | Download | Discussion | Help | Site Map | New Posts | Sign in

Latest Site News

Nysha's New Creators for July - posted on 1st Aug 2018 at 9:00 AM
Replies: 12 (Who?), Viewed: 554 times.
Lab Assistant
Original Poster
#1 Old 10th Aug 2018 at 8:01 PM
Default Responsible modding
What rules should a modder follow to mod responsibly? What do you think they should do, what they shouldn't, and why? I'm asking because I've seen here a discussion about things that Pescado and BO do wrong in their mods and documentations. I would love it if quite a short and accessible guide was eventually created.

It really bothers me when modders change the order of nodes (or delete them) in BHAV overrides. Imagine the following situation: a player saves a game while a BHAV function is executing. Then installs a mod that overrides that BHAV with a BHAV changing the order of the nodes. The player loads the game save and the function is going to execute… but now it isn't in the point it has stopped. It may not work as intended at the moment. You can't predict what the function will do now.
Almost all mods by Pescado, Cyjon or BO do contain sorted overrides of BHAVs. Many other modders do it as well. Is BHAV sorting as dangerous and irresponsible as I think?

I don't speak English well. | Tumblr
Advertisement
just a girl
#2 Old 12th Aug 2018 at 4:47 PM
I experienced buggy results of sorting myself, and I try to avoid doing that ever since. Well, except for test bhavs (guardians), because they are immediate and don't have any animations or idling to stop at. I guess, maybe people did not know about it in the past, and some still might not know about it now. I didn't know when I started modding. I actually thought that sorted BHAVs are a good practice - readable and tidy and all that. Now I know better.

You've raised a good question. I'll have to think about it. Some things that come to mind right now:

1. Custom objects are better have their own custom GUID as fallback GUID. This way when one deletes an object from downloads, it disappears from the lot instead of being replaced by whatever it was cloned from. In my experience, replacement may be inappropriate and may even cause errors on lot loading. Although, it depends on how different the objects are. If they are practically the same - same slots, same functions - then it might be ok to have maxis object as fallback.
2. As a modder, you should proceed from the fact that people will not read descriptions (hope for the best, but prepare for the worst). As much as possible, make sure users' game won't explode and the mod will work with some default settings, even if users didn't do anything but putting your file in downloads.
2.b. It's not the best practice to make users fiddle in SimPE before they can use you mod at all (unless you absolutely have to do it this way).
3. You shouldn't override more than you have to. For example, don't override the whole interaction BHAV, if you can override a small function inside it with the same result. Also, if you can achieve your goal without any overrides at all - by making custom object/controller - do that. This way you minimize possible mod conflicts and potential negative consequences of overriding global/semi-global stuff.

Some things may have more then one side to them. Like mega-mod vs. modular files that was mentioned in the thread you linked. It's more of a preference thing, imho. Some downloaders find it easier when there is one bundle-file, others value flexibility and options.

As for documentation. I can see why people complain about not very detailed descriptions. But I also understand modders. Describing a mod may be such a pain! It is sometimes faster and easier to make the thing than to explain it in great detail. A lot of what I personally do doesn't get published because I hate descriptions so much =) But still, yeah, documentation is good, we all should strive to making it full and clear.

I may think of something else later.
Lab Assistant
Original Poster
#3 Old 14th Aug 2018 at 10:25 AM Last edited by Nopke : 16th Aug 2018 at 5:12 PM. Reason: not so pretty
Quote:
Originally Posted by Lamare
Describing a mod may be such a pain! It is sometimes faster and easier to make the thing than to explain it in great detail. A lot of what I personally do doesn't get published because I hate descriptions so much
It's about me as well. I also have problems with creating thumbnails and taking screenshots.

I think descriptions should be brief. I find it annoying if a description contains many unneeded information, slang words or it's trying to be funny. E.g.:
Quote:
Originally Posted by Pescado
Has it always bothered you that you have to greet people, thus giving them free run to traipse through your house at will, even if the only thing you plan to do is pummel the living crapola out of them for kicking your trashcan? Want to just unceremoniously pummel the living crap out of them, or say a word or two to passers-by, and then let them go on their way, without having wave, hug, or do whatever it is that sims insist on doing? Want to beat the snot out of that cow? Go for it!
It's quite difficult to understand what a mod with such a description exactly does. Just many empty words.

I don't speak English well. | Tumblr
just a girl
#4 Old 14th Aug 2018 at 12:55 PM Last edited by Lamare : 14th Aug 2018 at 1:12 PM.
I personally think that a little humor doesn't hurt, but the description should be easy to understand, I agree.

There's a thread on somewhat related topic - Things you appreciate in CC - not exactly about responsible modding, but still worth checking out.

(By the way, your screenshots are great )

UPD. To continue on topic:
4. An important part of responsible modding is thorough testing in game. We can't test every possible combination of circumstances, especially with complex mods, but there are ways to cover the most ground in the least time. Look up "software testing techniques" for the tips. (If I come across a good guide that fits the Sims, I'll link to it.)
Dancing Flamingo
staff: administrator
#5 Old 14th Aug 2018 at 8:28 PM
Quote:
Originally Posted by Nopke
It's about me as well. I also have problems with creating thumbnails and taking screenshots.

I love your screenshots! They are so simple but perfectly illustrate your mods. Also, I so the way you format your posts! Soooo tidy!

Quote:
Originally Posted by Nopke
I think descriptions should be brief. I find it annoying if a description contains many unneeded information, slang words or it's trying to be funny. E.g.:It's pretty difficult to understand what a mod with such a description exactly does. Just many empty words.


This! I get really annoyed with CR's that ask for a description when the upload already has one that accurately describes the upload, it's just not lengthy or a flipping story.
Lab Assistant
Original Poster
#6 Old 16th Aug 2018 at 5:02 PM
Quote:
Originally Posted by Lamare
I personally think that a little humor doesn't hurt
A little humor. A wink to the downloaders. They read descriptions because they primarily want to know what the mods do, I think.

Another point: naming. Names of mods should be clear and shouldn't mislead. It would be pretty decent to follow those rules while naming a post or a thread about a mod. It's also important to name files correctly. Some characters in filenames make the game load slower. Filenames must only contain letters (basic latin), numbers, underscores (_), and hyphens (-). No spaces, brackets, exclamation marks, etc.
E.g.:
Misleading name: nocrybabies by Pescado – it isn't about babies at all. The description says: Greatly reduces the crying and moaning when sims insult, slap, and otherwise harass each other. The name should say something about the mod. Metaphors don't do it.
Lack of decency: a thread named Pee During Class. It's pretty misleading considering the filename is HL_staticBladderDuringClass. And it explains what the mod really does. HL, forgive me.
Wrong filename: simNopke-simShadowFix0.X by me. There is a special character in that name. A dot. Now you all know I'm not as pure as you think.


I don't speak English well. | Tumblr
just a girl
#7 Old 16th Aug 2018 at 8:22 PM
Is there an article or a thread about who determined what characters are considered special and what evidence they based the info on? Is it a Windows/Mac thing or something that the Sims 2 developers did? I usually follow the naming rules just to be safe, but I don't think I saw anything really concrete on the topic.
By the way, every package has a dot in its name - before the package extension. It doesn't contradict the theory, just saying.
Lab Assistant
Original Poster
#8 Old 16th Aug 2018 at 10:23 PM
Quote:
Originally Posted by Lamare
Is there an article or a thread about who determined what characters are considered special and what evidence they based the info on?
I guess it's based on players' experiences and convictions. I've seen it here for the first time.
Note that the original game files only contain letters, numbers, underscores, dots in special case (.bundle and .sgfiles), and exclamation marks only in the CaS lots' filenames. I haven't found any hyphen though.

But… I've made a short test using over 650 files. I was changing masivelly their names to check what characters slow down loading. It turned out the game was always loading equally long… Perhaps I've used too few files to observe a difference. Perhaps it's hardware or software based. Or maybe spaces, brackets, and even diacritical characters are just not so special for the game. We should carry out more tests to figure it out.

I don't speak English well. | Tumblr
Instructor
#9 Old 18th Aug 2018 at 12:30 AM Last edited by ankoyume : 18th Aug 2018 at 12:55 AM.
The advices are pretty useful : I'll add that I like humor too. But afterward I sum up the mod under a 'what does it do ?' entry.

However I don't understand why @Lamare got errors after sorting a BHAV....



Last word, I don't mind descriptions, most of the times, it's the hard testing work that makes me give up on a mod ...

I believe in the "Thanks" button and its amazing powers !!!
Lab Assistant
Original Poster
#10 Old 18th Aug 2018 at 9:38 AM
Quote:
Originally Posted by ankoyume
The "sort " function only changes the way the nodes are displayed, it doesn't change the connections between the nodes, and therefore, it doesn't change the real order of the nodes (the path that the engine uses to read the BHAV).
Unfortunately, that's not true at all. "The real order" is the nodes order. The node number is probably the only thing the game knows with regard to the current position in function.
An example:

This is a function that is supposed to show a notification "0" (Local:0 = 0), then wait a second, then show a notification "1" (Local:0 = 0+1 = 1), then wait another second and finally show a notification "3" (Local:0 = 1+2 = 3).
A player pauses the game right after the first notification appears. The function stops on the node 6. Then the player saves and exits the game. They install a mod that overrides the function with its sorted version:

Now it's clearer what the function does.
The player loads the save and unpauses the game. After less than a second a notification "0" shows. And nothing more.
Explanation: The game remembers that it's idling. But it also knows it's on the node 6. So when the idleness ends and returns true, the game goes to the node 7, according to the true target in the node 6. Local:0 hasn't changed so a notification "0" appears.
I've checked the game behavior myself.
Screenshots

I don't speak English well. | Tumblr
just a girl
#11 Old 18th Aug 2018 at 2:30 PM
Nopke pretty much explained it. I'd just like to emphasize that it's not so much the sorting itself that is the problem. It's just that unnecessary sorting of BHAVs that are already in people's games has more chances to do harm than good.

My view is, when making an override, we have to keep in mind that the BHAV may have been in the middle of running when a player saved the game before installing our mod. The more common the BHAV is and the more important things it does the higher the risk.

We should look at any node with animation/idling/sub-function that the BHAV is most likely to stop at, and we should follow what would happen next considering our changes to the BHAV and keeping in mind that the BHAV could have started before the mod was installed and therefore it may have not gone the path we arranged in our override from the beginning.

Resetting the object/sim might be an easy way out of complicated situations, although, many users would think that reset IS a bug or at least an annoyance, so I don't know.
Instructor
#12 Old 18th Aug 2018 at 2:56 PM
Thanks, Nopke, Lamare, your explanations are quite clear.

Quote:
Originally Posted by Lamare
We should look at any node with animation/idling/sub-function that the BHAV is most likely to stop at, and we should follow what would happen next considering our changes to the BHAV and keeping in mind that the BHAV could have started before the mod was installed and therefore it may have not gone the path we arranged in our override from the beginning.

Resetting the object/sim might be an easy way out of complicated situations, although, many users would think that reset IS a bug or at least an annoyance, so I don't know.


So the bug should only occur the first time a lot is loaded after puting the default BHAV in the download folder ?
It's something I could manage, but it's right not any players can...

It's a pity as I often need to sort at least to understand the big confused Maxis BHAV....

I believe in the "Thanks" button and its amazing powers !!!
just a girl
#13 Old 18th Aug 2018 at 3:43 PM
Yes, it's the first time. And yes, it's not the end of the world most of the times, but again, the risk depends on likelihood and impact.

I too find it easier to understand BHAVs that are sorted (sometimes I do it by hand, when automatic sorting is not enough), but it doesn't mean I have to publish them this way. What I usually do is I have the BHAV opened in view mode and I sort and tear it apart any way I want, but in edit mode or when making a final version - I don't move things around too much, only make needed changes. I can always open a copy of the initial BHAV to mess with it and compare to my override. SimPE has a button for it.
Back to top