Sims Support Page
Back Next

The importance of the magic cookie

Added 12-03-2005: criticism where criticism is due: although I still feel that support in the Sims for fan content was shabbily realized, I've read on a Sims 2 forum that a number of Maxis employees have been fired; notably, employees who had been promising utilities to the fans. Hearing this, I suspect that not Maxis but Electronic Arts - Maxis' financers and, at the moment, game-milkers - are being obstructionist when it comes to allowing fans to make their own stuff, stopped Edith from being released, and see no need to do anything about the GUID problem, because they're the ones who, to quote that forum post, "don't give a rats patootie about their fan base".

The Sims is a game - hence its popularity - that encourages creative input. Whether inspired by download sites or simply irked by the restrictions of the game, the player may soon decide to add custom content: a painting made of a photograph, a miniature replica of one's own sofa. Like any beginner, I downloaded a number of object-editing utilities, read some tutorials and collected a magic cookie from the Transmogrifier site: 116427, translating to C6CB. There was a warning on the site that cookies had already run out due to careless use and cookie-hogging, and that any "hogged" cookies would be recycled, although I don't know how the dispenser of these cookies could know whether they were being used or not; the site didn't even have its own cookies-in-use list. It did, however, clearly state that its object creation tool was not supported by Maxis/EA, which implies that the magic cookie system isn't supported by Maxis/EA either. Which in turn implies that GUIDs generated with a magic cookie could conflict with those of standard objects in expansion packs released after a magic cookie is released; and this when it is already a definite possibility that two object creators may be using the same magic cookie. (29-09-2004: former confirmed. An object hacking forum contained a post about a GUID conflict between a hacked object and an object in an added expansion pack. No, Maxis probably doesn't use magic cookies.) But at least the system makes an attempt at ensuring unicity.

What is a "magic cookie", anyway? It is the decimal form of two hexadecimal bytes which are inserted in the new GUID - Global Unique ID - generated when an object is cloned. Before the magic cookie, object hackers had to change the GUIDs of objects they edited by hand, and hope it wouldn't be the same as those in other fan-made objects or future standard additions. Every object - buyables, interactions, Sims, houses - has a GUID. If the object is bigger than one square, it has more GUIDs. If it comes with an NPC or suit, like the rental shack and the baby, it has an extra GUID for that. When two objects with the same GUID are loaded, the game tries to combine them into a new object, which effort can lead to horrible crashes. In other words, the magic cookie, or some other system to generate unique new GUIDs, is fairly essential. Since Maxis/EA is so heavily into "fan community" (ie. they rely on volunteers to promote and technically support their source of revenue) one would expect them to maintain a list of codes in use. They don't, any more than they maintain a mesh code list. Do fans want to create their own content? Fine, then; they've brought it on themselves, let them find their own solutions or rely on whatever makeshift solution has already become common use.

So far, I've joined the chorus of "please get your magic cookie at ..." and explained how it works, which explanation, if it had been clearly stated on the site where these numbers are distributed, might have prevented the current cookie recycling problem. And my cookie is already recycled. Any magic cookie whose decimal value exceeds 65535 is recycled. I collected this number over a year ago, which means that for more than a year now, Sims fans have been handed invalid cookies. What else can I expect from the maker of a buggy utility (it's free, so you get what you pay for - but I've had better value from other free utilities made by real fans) who is not "affiliated" with Maxis/EA, but does share their attitude of "let the fans sort it out", and whose program is only so widely used because PC owners have never had an alternative? As I write this, T-Mog 1.4 has been succeeded by T-Mog 2.0, which hopefully won't screw up the OBJD block and destroy the smallest zooms when importing, or jumble up the blocks when cloning (I've already seen it's retained its bad habit of making new palettes) and, in all, require five to ten exports and re-imports of the same object to fix one off-colour pixel. Along with this update, the maker has released the "Rug-o-Matic", which, like the average Sims utility released by Maxis, is super-simple and aimed at the super-simple: it's a simplified interface for T-mog, for people who can't use the main program to do the same thing. To show how the Rug-o-Matic works, the maker has created a few sample rugs, including one with the face of Saddam Hussein for your Sim-doggies to poop on. Because it's really easy to put down a sadistic dictator when he's captured and helpless and no longer supported by the USA, and it's always good to remind unsuspecting Sim fans looking for a handy utility that they're either for us or against us. Above all, it's really popular, just as magic cookies are popular, just as that monster of a program T-Mog is popular.

(To anyone who has a Mac: use IFFSnooper. It's about ten times better than T-Mog, probably because it was made by a real fan.)

It was because of my utter disgust with T-Mog after the nth failed import that I did a search in Google for an alternative that runs on the PC, and fell straight into an old thread in the TSR forum, started by someone who was looking as desperately for a unique, non-used magic cookie as I had been looking for unused mesh codes. Basically, there are none. The ineffective, but popular solution is to "register" one's magic cookie at a site called "Sandshifter's IDentify"; apparently, according to one poster, only "rude, stubborn jerks" refuse to do so. One of these "jerks" responded with perfectly valid arguments for not doing so: Sandshifter's site is not an official registry, the T-Mog site would make the only reliable official registry but is basically shirking the job, and Maxis/EA are refusing all responsibility. I can add more arguments: firstly, the ID list was topped by a huge stars-n-stripes. Even people unaware of the political issues behind this over-used flag may think "oops, this list is for US Americans only" and leave. Secondly, Sandshifter turns out to be a person with limited energy and interest in the game and arthritic fingers: not the right circumstances for the upkeep of such an important list. Thirdly, that very thread was started because people were visiting that list and treating its magic cookie numbers, not as reserved, but as available, so the whole list had become counter-effective. The thread itself, starting with the entirely reasonable query "where can I find a magic cookie that I know isn't being used yet", soon became disgusting, with name-calling and posters asserting ownership of a particular magic cookie and its derivatives. I can imagine that someone who has made n objects doesn't want to redo them all because that magic cookie is already used by someone else, but this number is a way to prevent game crashes, and is not anyone's legal property; it doesn't belong to someone any more than a mesh code belongs to someone.

Why am I harping on this unpleasant behaviour, which in itself has nothing to do with the magic cookie problem? Because it is precisely this kind of fan/company obnoxiousness which can make the initially concerned fan artist say: "You know what? I don't care if my object crashes anyone's game. May it wipe their harddrive." In my case, it means that like the "rude, stubborn jerk" from the thread above, I choose to remain ex-directory. It would be nice, however, to see a real solution to the problem.

For lack of one, I've chosen the second best option: found my real magic cookie and registered it at a more neutral list which, typically, I found via an IFFSnooper object-cloning tutorial. This is strictly a database, not an authority on what number belongs to who, and meant to look up which numbers are in use. To find my real number, I took the number originally collected and subtracted 65536 to get 50891, which also translates to "C6CB". This number I entered into the magic cookie database after becoming member of that group, a quick formality. And this is what I would now advise any object maker to do.

The original claim behind the magic cookie was that it would allow 65535 people to make 65535 objects each, and so the cookies would never run out. Now I'm quite prepared to believe that there are by now more than 65535 object makers around. But it seems unlikely that any of them would ever make 65535 objects. So handing the full range of one magic cookie to one person rather than dividing up the ranges is, in retrospect, a wasteful solution. The reason why the maker of T-Mog didn't want to maintain a magic cookie directory would seem to be privacy issues, as each number was connected with an email address. Since object makers are not trying to steal someone else's magic cookie but simply want a GUID that they know is unique, what I would really like to see is a database, not of people's names and their magic cookies, but of fan-made objects and their GUIDs; that doesn't invade anyone's privacy, and does make clear which numbers are already taken. Since the magic cookie is a great help in creating new GUIDs, the magic cookie database still has a use, but the object-GUID database, rather than relying on the makers, could be filled by people who download fan objects; there are utilities for making a list of all GUIDs in the game directory, and the database could be set up so as to prevent double entries.

But why am I even bothering? Pretty soon every Sims fan (myself excepted) will have switched to "The Sims 2"...





Back Top Next