What are Mods?
Ever since the dawn of Sims, people have been drawn to make their own ways in the game. Anything is possible, within reason. Wherever someone wants to create something that is outside the reason, Mods come into play. If you find yourself asking, "just what are these Mods anyway", this post aims to reduce the confusion and explain Mods as best as possible.
So, what is a Mod?The word "mods" is a contraction for "modifications". A mod is a file that, when placed inside a certain folder, will add in new features to the game. They can come in many shapes or sizes, but it's important to understand what Mods are before you get into using them.
Please note that you may hear people discussing Mods that involve editing files that end in .sgr or .ini. While these are Mods technically, we are going to keep this definition simple and in line with what the definition of Mods is on this forum.
So, for the purposes of this post, and the forum, a Mod is:
- Something that goes into the folder Mods > Packages
- Something that modifies the game in some way
- And something that does not simply alter the appearance of, or add in new, objects. This is something else entirely (called "3rd party Custom Content" or, more simply "Custom Content" or "CC").
Different Kinds of ModsThere are two different kinds of Mods. Each has their own pros and cons, which we'll cover below. The two types of Mods are
Tuning Mods and
Script Mods.
Tuning ModsTuning Mods exist to allow Modders to alter minor details about the game, such as the length of time the Divine Meal buff lasts, or the chance a Unicorn will spawn, or the price of a Chun Co. Teppanyaki Grill.
XML Tuning Mods are arguably the simplest type of Mod.
They modify certain game values. Remember Algebra, from school; x+y=z. This also happens in game. The tuning will say what x and y are. The script (which we'll discuss later) will say that we are adding the two together. The combination (tuning plus script) gives us z, which is the game.
XML Tuning Mods are the most likely to conflict with other mods (statistically), due to the sheer quantity of them out there. Sims 3 will attempt to load the Mods that you have, and since the Mods try to alter the same file, the game gets confused and will throw a tantrum.
ITUN Overrides are mods which override the ITUN resources within the code. ITUN is "
Interaction
Tuning" and basically functions as scripts which configure autonomous interactions. For instance, an ITUN file controls which age ranges can perform a given interaction. Changing this will mean that the properties of an interaction are modified, but
no extra behavior will be created (that's a Script Mod).
OBJD Resources are less common, but they definitely still exist. Each object in game is assigned it's own OBJD resource, which configures the object. What this means is, a mod that edits the OBJD resource will essentially change the properties of an object. Examples of this are making objects draggable in Live Mode (ie portable), re-categorizing an object (ie moving it from Decorative to Comfort), and adjusting an object's price.
And finally there are
STBL Edits. I was reluctant to include this as it is a very rare kind of mod. But, since we are discussing different kinds of Mods, I figured I'd include it. Strings are the text that make up the game. For instance "Friendly Hug" and "Join Culinary Career" are strings. Each individual piece of text is generated by creating a special and unique value, called a "hash". TS3 has a list of hashes and what they mean inside the game, inside
String Ta
bles. So, when a modder wants to modify what a string says, they find the hash, and replace the string, creating an STBL Edit.
Script ModsScript Mods are more complicated. They require full blown coding to create -- you simply change a 1 to a 3 and your basic Tuning Mod is created. With Script Mods there are caveats for Modders and conventions, plus a complicated language to learn (C#).
Core Mods are Mods which rewrite the EA script entirely. They are created by extracting EA's code, then editing the Intermediate Language -- there is no better way to explain it than bluntly: when code is executed, it is first transformed from the original language (C#) into an Intermediate Language (IL), then into Machine Language (ML) which is executed as ones and zeros that the computer can understand. The IL is what is edited. Some examples are Pescado's AwesomeMod, and NRaas ErrorTrap.
Scripted Objects are objects which have been scripted to add extra functionality. An infamous example is "Girl Doll Dressed", which was a doll that was scripted to introduce new interactions. Their features are usually accessed through an interaction. For instance, a cloned Teddy Bear I created, had an interaction injected, which displayed a notification. That's a Scripted Object. If the code just ran, without the interaction, it's a Pure Scripting Mod.
Pure Scripting Mods are the same as Scripted Objects, but they are not tied to an object. So, an object is not needed to run their scripts. For instance, the introductory tutorial to Pure Script Modding at ModTheSims is creating a Pausinator, which is a mod that, on the loading of the game, pauses it. That's a really basic example but Pure Scripting Mods can be very complex. For instance, most NRaas Mods are Pure Scripting Mods.
Mod Creation (or: why certain Mods are more volatile than others)So, we now know about the two kinds of Mods, we can start discussing them and comparing them.
Firstly, let's see what all Mods have in common.
All Mods are in one location: Mods/Packages, and are packaged using the .package file format. Think of it like this: A box sealed with tape. Both a Modder and EA hold craft knives, but nobody else does. This means that EA and Modders both can open the box, but not anyone else. The Mod is the box. Modders can open the Mods and look at them, because they have special tools, and EA/Sims 3 can open them and use them because they have special tools. The convenient thing about boxes are, we can store multiple objects in it. Same with .package files. If you've ever zipped a file, then you've used something similar: it's essentially a file, containing many other files.
There are a few reasons why some Mods are more volatile than others.
Tuning Mods have a priority. The Sims 3 keeps it's own tuning internally, so if no Mods alter that particular tuning, it has its' own to use. However, if a Mod is found, that tuning is used instead. When two Mods use the SAME tuning at the same priority (ie they are both loaded at the same time), then the game gets confused and that's where so-called "Mod Conflicts" occur. The safest way to run it is to use an "Overrides Folder" which NonaMena explains
on her blog. Note that this is not a fool-proof method, but it will work in most cases.
Similarly, the game has a few caveats for Script Modders. The one you're most likely to encounter is namespace collisions. If that confused you, here it is broken down. To uniquely identify different pieces of code, everything is named logically (in what programmers call a "namespace"). For instance, I might name a bit of code "Seabody.AllowAutonomousMarriage.Interaction.Execute". However, if another Modder names their code "Seabody.AllowAutonomousMarriage.Interaction.Execute", then we have a problem.
To combat this, Script Modders by convention use their own unique namespace which is traditionally prefixed by their username. I often create Script Mods for my own use, and the Namespace I use is "Seabody.Sims3". Clearly if someone stole that it'd be obvious! If Carl wanted to create one, he might use "Carl.Sims3". He wouldn't use "Seabody.Sims3" as that has already been taken, by me.
The DangersMods, like all software, have the potential to be dangerous. Let's talk about an example we've touched on before, the infamous "Girl Doll Dressed". This piece of Custom Content achieved Mod status because the author wanted to include custom interactions with the doll. However, she had a piece of code that didn't function properly, which caused the doll to have unsavory implications: whenever a user who had the doll in their game exported something and uploaded it somewhere, the doll came too and would install itself ninja-like into the downloader's game. Since the doll was bugged this would cause games to become corrupt, lag, etc.
There is also the danger of conflicts, but we've covered that enough before that I don't think I need to restate it here.
But basically, if two Mods have the same unique identifiers, they WILL conflict.
The BenefitsAll too often we hear of people saying "xyz Mod ruined my game". However this is not always true. For every Mod that is badly made, another five are often very well made. There are a few big names in the modding world; however the two "titans" of the modding world are Twallan (who operated NRaas Industries) and J. M. Pescado, who runs More Awesome than You. Both of these creators can be trusted to create trustworthy Mods.
Mods can enrich gameplay, add new features, or fix bugs. For example, where would we be without NRaas? We wouldn't have MasterController, Overwatch, ErrorTrap, Traveler, StoryProgression and several others. And without Pescado? There'd be no AwesomeMod.
Should I use Mods?It's a matter of personal preference. I, personally, say yes. But first, consider whether or not you actually
need the Mod. Think about the name. Research them. See how many Mods they've made (but remember, quantity does not equal quality). Check the comments about that Mod. If large amounts of comments are like "Oh no, my game broke due to this..." or similar, think twice about downloading it. But do take risks. If nobody downloaded new Modders Mods, those Modders would never attain the status of twallan, Pescado, Buzzler or NonaMena (to name just a few). Personally, if the Mod sounds interesting, and you need or want it, and the Mod seems good enough -- do it. If you are able, take a look at how it's made to see if it's all good. And, as always, scan it with a virus scanner. It's always better to be safe than sorry.
NotesWe talk in here a bit about a site called "More Awesome than You". I would like to warn you though; although Pescado is a talented modder, not all of his content is family friendly (especially on his website, but Awesome Mod itself has certain "unsavory" components). I recommend that Awesome Mod is not used by people under 18.
Twallan's Mods are now maintained by a volunteer community, which are obviously not Twallan.
Although the community is highly talented, they don't know the code as well as Twallan. I'm not saying "don't use them", but the risk of anything negative happening is higher than before.