Hi there! You are currently browsing as a guest. Why not create an account? Then you get less ads, can thank creators, post feedback, keep a list of your favourites, and more!
Field Researcher
Original Poster
#1 Old 3rd Jun 2013 at 2:46 AM
Default How/Why Does Corruption Spread
Most people here know neighborhood corruption spreads. And since Google, MTS, and MATY gave me nothing, this may seem obvious, but I was wondering, how/why does neighborhood corruption spread?

I'm thinking all through the night
I could be yours just like before
Rewrite another try
'Cause we've had the loneliest time
Advertisement
Mad Poster
#2 Old 3rd Jun 2013 at 2:55 AM
It's like a disease-usually it starts with gossip..and spreads like wildfire. First, a sim will appear to have bad hair, or something wrong with their face..then there will be houses that disappear-or sims that disappear.
It varies from disaster to disaster. There's no sure fire sign of 'this is going to meltdown', but when you start getting random weird things going on in your hood, it's usually a sign of corruption in it.

Why this happens, nobody can really ever tell-except it's the biggest weakness of any game-the inability of the game engine to remain stable through countless playing time.

Mootilda would probably be the one to answer this question. She's our resident "Corruption Expert'.
Site Helper
#3 Old 3rd Jun 2013 at 3:19 AM
How? A computer program expects a particular pointer to be in a particular location in memory. The program takes that pointer and references the data that the pointer points to, possibly changing that data. That works well if the pointer is valid.

However, if the pointer is corrupted, then the memory that the program access is arbitrary. That means that some arbitrary piece of memory is changed in a way which may make no sense at all. But, that arbitrary piece of memory may be the location of another pointer... which the program accesses expecting valid data, but getting garbage instead. Another arbitrary piece of memory is modified in some way which may not be valid. And that piece of memory may contain a pointer ... and so on.

Why? Because EA does not consider it to be important to do error checking while running the game, to try to verify that pointers and data are valid. That's not a completely unreasonable decision. Checking for errors will slow everything down and isn't guaranteed to catch all corruption anyway.

Writing error-free programs is difficult. There are whole areas of computer science geared to how to write error-free programs and how to test programs. But EA considers it much more important to get the games out quickly with lots of features. Those error-free techniques tend to be used by companies who write programs for nuclear power stations, or for medical machinery, not game companies.
Forum Resident
#4 Old 3rd Jun 2013 at 3:50 AM
So it seems there should be some way of quarantining the corruption just like a disease, yes?
Lab Assistant
#5 Old 3rd Jun 2013 at 3:51 AM Last edited by Cheran : 3rd Jun 2013 at 4:16 AM.
And sometimes it happens just because. Just because there was given a totally unexpected value. Maybe a false datatype e.g. a float instead of integer, the data size value could be set to 8 bit instead of 32 bit. There could be given a string instead of a numerical value. Or and unexpected end of a data block.
This mostly happens in Sims with bad or outdated hacks which operate with totally different versions of Sims. Remember, when you install your game and during installations of certain EPs you get a message that this EP saves your neighborhoods in a different way than the one before? Thats why you should never use a hack or other type of CC that isn't compatible to your game/EPs.

Like FranH and Mootilda said, one of the biggest issues of the game is the memories system. If the game didn't found what it expected to find it doesn't say to itself: "Hm, it's intruiging. I should run a check if the information is broken or if it save somewhere else." The game keeps on going and will definitly comes back to the same point later again. And then you have problems.
And bug fixing is a b*tch. Actually finding them and know what it causes and what else is influenced by them are the most difficults steps in programming.

EDIT: And the coding of the game isn't that perfect, too. Some functions of the game, which should be fine, can and will cause major errors. It seems EA/Maxis didn't care too much about game testing. The best game testing method is to use people who haven't the slightest idea of the matter and will causing errors and bugs the dev team hadn't even thought of it.

EDIT number 46675 -.- : Another issue is the gossip. You might think: "I use the batbox to erase this junk". But from what I saw, it removes only the gossip of the sims currently on the lot. It could be that a playable sim visit your active lot who might have the same gossip in his memories that you had successfully deleted not five seconds ago. Then you will get this junk back in the same moment, this sims talks to a family member about this gossip. The same applies to NPCs.
Site Helper
#6 Old 3rd Jun 2013 at 4:24 AM Last edited by Mootilda : 3rd Jun 2013 at 4:53 AM.
Sorry if I wasn't clear. I wasn't talking about sim's memories. I was talking about your computer's memory system, which is used to run programs and store data temporarily. There is a technical reason why corruption spreads.

If you want to talk about this in non-tech terms: You want to find Jim. A friend tells you to go to 36 Main Street, where you'll find Sally behind the bar. Sally will tell you where to go to find Jim.

Unfortunately, your friend gave you the wrong address; Sally and Jim work at 35 Main Street. You go to 36 Main Street and don't bother to ask the woman behind the bar what her name is. Instead, you say "I understand that you have a message for me" and she says "Yes, the aliens have landed". Nothing makes sense because you're at the wrong place. Unfortunately, you didn't do any error checking to find out whether you were talking with Sally and whether the message was about Jim. Before you know it, you're in Paris and Jim is still in the back room of 35 Main Street.

Corruption spreads because wrong data is used to make decisions, leading to more and more bad data and more and more bad decisions.

Quote: Originally posted by Cheran
The best game testing method is to use people who haven't the slightest idea of the matter and will causing errors and bugs the dev team hadn't even thought of it.
I disagree. Often, understanding the code base produces the best testing methodologies.

Quote: Originally posted by Cheran
EDIT number 46675 -.- : Another issue is the gossip.
Gossip is just one form of sim memory.

Quote: Originally posted by bnefriends
So it seems there should be some way of quarantining the corruption just like a disease, yes?
I suppose. You could consider your neighborhood to be the quarantined area. The neighborhood will die, but if you're careful to make your objects.package files read-only and to avoid sharing lots and sims between neighborhoods, then the disease may not spread to all of your other neighborhoods.

This is the problem with analogies.
Lab Assistant
#7 Old 3rd Jun 2013 at 5:01 AM
Quote: Originally posted by Mootilda
(...)

I disagree. Often, understanding the code base produces the best testing methodologies.

Gossip is just one form of sim memory.


I don't know... "newbies" are the type of persons that ask questions like "Why can't I move the character through that door?" or "Why can't I use this object?" or "Why does my character suddenly dissapear/died/does something completely stupid?" or the opposite of these questions.
A programmer usually knows, what he can do and what not. This can blind them. I know. I was there. Something so simple like putting a line of code in the wrong order had let me search for hours whats wrong with a program. Simply because I knew the code had prevent me from recognizing it.

The gossip is worse than other forms of memories, in my eyes. Something like "learned to talk" doesn't spread trough the whole neighborhood. That's why I mentioned it seperately.

And yes, sims memories unequal computer memory. I got the wrong idea, sorry. *redface*
Scholar
#8 Old 3rd Jun 2013 at 5:14 AM
Reading this thread got me worked up with the Neighborhood Corruption article. I added more info to describe why doing the actions listed is a VBT. I feel that will be more helpful to a user who glances through it, instead of taking its word for granted. It's just a starting point, some explanation on why doing said actions could be incorrect, so please adjust it accordingly, especially for those with more experience dealing with the game's coding.

Check out my latest version of Superman's Classic Uniform for The Sims 2.
See what images I have posted on DeviantArt as well related to The Sims 2 and designs.
Also check out My Website to see my superhero uniform creations for The Sims 2. THANKS!!!
Lab Assistant
#9 Old 3rd Jun 2013 at 5:31 AM
I recently built the ulimative corrupted neighborhood by doing most of the points listed in this article, just to see what happens. I'm better in understanding when I see it by myself. Especially if the explaination is in a foreign language.
I deleted some junk before I started to play. Now I'm working on the memories and gossip stuff. (note to myself: don't delete SCOR, it contains the sales info of objects, too?! Huh? >.<)
Scholar
#10 Old 3rd Jun 2013 at 5:38 AM
The SCOR file is an entry that stores a customer sim's experience on community lots. I don't think it has anything to do with the objects being sold or up for sale.

Check out my latest version of Superman's Classic Uniform for The Sims 2.
See what images I have posted on DeviantArt as well related to The Sims 2 and designs.
Also check out My Website to see my superhero uniform creations for The Sims 2. THANKS!!!
Mad Poster
#11 Old 3rd Jun 2013 at 5:41 AM
The best way to describe 'corruption' is to liken it to a virus.

Unchecked, it will affect the entire system, and send it into failure. You can quarantine it to a certain extent, but usually you have to just be very careful about what you're doing to not allow it to happen in the first place.

This goes for nearly every single working 'machine' that exists: games, computers, cars, the human body. Once a virus gets started, bad things tend to happen-in a 'cascading failure' effect.
Lab Assistant
#12 Old 3rd Jun 2013 at 5:54 AM
That's what it is listed in SimPe, when I view a SCOR entry :"sales info". As I viewed a package lot, SCOR entries were listed. No sim was ever before on this community lot, playable or otherwise. Maybe, in this context, it's the value decay e.g. the "age" of an object?

I don't understand it. Why save object data in different entries /-types. In real life, I don't deposit my car keys in a different house and have to walk there to retrieve them. In the meantime, the house could be burned down. An then I have a real problem. Yes, I know, this isn't very professional what I write. But I was never good at this. Especially because I can't memorize the terms. :D
Scholar
#13 Old 3rd Jun 2013 at 9:22 AM
Quote: Originally posted by FranH
The best way to describe 'corruption' is to liken it to a virus.

Unchecked, it will affect the entire system, and send it into failure. You can quarantine it to a certain extent, but usually you have to just be very careful about what you're doing to not allow it to happen in the first place.

This goes for nearly every single working 'machine' that exists: games, computers, cars, the human body. Once a virus gets started, bad things tend to happen-in a 'cascading failure' effect.


But eventually even with the most thoughtful and attentive care your game will break down. In part because of the way the game is designed and in part because that is the design of this world.

Be smart of course about what you do, but also accept that your game is going have it's problems. Sometimes you'll be able to recover or ignore them, but inevitably there will be the problem that renders your game unplayable.

Check out my simblr https://www.tumblr.com/blog/tbssimblr

Click the link, you know you want to. ;)
Lab Assistant
#14 Old 3rd Jun 2013 at 9:56 AM Last edited by Cheran : 3rd Jun 2013 at 10:18 AM.
Quote: Originally posted by FranH
(...)
This goes for nearly every single working 'machine' that exists: games, computers, cars, the human body. Once a virus gets started, bad things tend to happen-in a 'cascading failure' effect.


Cascading failure... I suddenly get flashbacks to ST:TNG. :D



What I doesn't like about Pescado's guide to delete a sim is the resetting of the sim creation index. Sure, he talked about a "16bit-doom", but that sounds like you can't get more than 4294967295 sim IDs at all in your neighborhood, live and dead sims. This is likely the highest value, that S2 could operate with. Half of them are used to display negative values. So, no family fund over 2147483647 is possible, for example. :/

(That's why you can't go higher than circa 32500 with other certain values, because they use a 4bit system.)

But if you that far into the game, you have way too much other problems.

When the game reuses nID, couldn't that interfere with other things?


EDIT: What was I talking about? Rewrote the 16bit bullsh*t of mine

I'm tired, but I can't sleep and wanted to start testing some stuff hours ago. I need a real life. -_-
Theorist
#15 Old 3rd Jun 2013 at 12:16 PM
Quote: Originally posted by d_dgjdhh
Reading this thread got me worked up with the Neighborhood Corruption article. I added more info to describe why doing the actions listed is a VBT. I feel that will be more helpful to a user who glances through it, instead of taking its word for granted. It's just a starting point, some explanation on why doing said actions could be incorrect, so please adjust it accordingly, especially for those with more experience dealing with the game's coding.


d_dgjdhh, that's a wonderful idea! I haven't got an account to add things to the wiki myself, and when I try to sign up for one, it says that they are not creating new accounts at this time. So I thought I'd put the reasoning behind the item I suggested be added to the list here, in case someone wanted know. I recommended adding "Don't put graves/urns on OFB shelves," because when I did that in my game, I got double graves: one on the OFB shelf, labeled "Here Lies Valerie Shankel" and one on the ground, labeled "Here Lies Valerie Shankel," even though there was only one Valerie Shankel in the whole 'hood. As far as I could tell without SimPE, they were both legitimate graves, which means that the character data was probably at least partially duplicated, and as we know that is Bad. Mootilda thought it was worth adding to the list.

esmeiolanthe's Live Journal and Tumblr
Most recent story update: Fuchs That! on 2/21/15
Mad Poster
#16 Old 3rd Jun 2013 at 1:25 PM
Quote: Originally posted by Cheran

EDIT number 46675 -.- : Another issue is the gossip. You might think: "I use the batbox to erase this junk". But from what I saw, it removes only the gossip of the sims currently on the lot. It could be that a playable sim visit your active lot who might have the same gossip in his memories that you had successfully deleted not five seconds ago. Then you will get this junk back in the same moment, this sims talks to a family member about this gossip. The same applies to NPCs.


Wait ... now clearing out the gossip is bad? For years, we were told by many people-in-the-know that's not a big issue.

Sigh. Again, why I reset the neighborhoods every two to three years.

Thanks to ALL free-site creators, admins and mods.

RIP Sunni ... truly a ray of light.
Mad Poster
#17 Old 3rd Jun 2013 at 1:37 PM
No, clearing gossip is good; but you have to clear it from everybody or it's not good enough.

I know people stress a lot about corruption but it is important to remember that you can get a lot of excellent gameplay for a very long time with a hood that's already corrupted. i know that Drama Acres has probably been corrupted for two years now (though I didn't do any majorly bad things, I did not have that handy list, either) but it's still perfectly playable with a little help from my friend the batbox. You don't fail to enjoy flowers because you know they won't last, do you? The fact that your cat will predecease you, and may have to be compassionately put down at some point, doesn't discourage you from keeping your cat. You don't refuse to hang out with your friends when you learn they have diabetes or are HIV positive or have some other condition that will eventually bork and shorten their lives. (At least, I certainly hope you don't!) Avoid the Very Bad Things - and it certainly helps to understand why the Very Bad Things are Very Bad; this was an excellent question to ask - and enjoy your little pixels while you've got them. Be prepared at any time to move on.

After all, any week in which the worst thing that happens to you is that you have to say good-by to a game neighborhood in which you've invested a lot of time and had a lot of fun is a pretty good week.

Ugly is in the heart of the beholder.
(My simblr isSim Media Res . Widespot,Widespot RFD: The Subhood, and Land Grant University are all available here. In case you care.)
Lab Assistant
#18 Old 3rd Jun 2013 at 2:34 PM
"No, clearing gossip is good; but you have to clear it from everybody or it's not good enough." <--- that's what i ment. Sorry I'd confused you.

And I don't want to panic people. Just explain how suddenly their hood could be corrupted after a long time of playing. You know, it's like in real life: there is this couple of middle-aged crumpy women, Ms. Nosey and Gossip Lip (those sims that seem to magical gathering the bad memories). You had successfully avoid them for years, thrown away their little notes of calling them (clear trash), no matter how often they tried it and chit-chat about all what they had gathered over the time.
You know, some day it will hit you. Just enjoy the game and keep using all possibilities to get rid of the bad stuff. And don't forget to back up once in a while. I know I should do. *whistle*
Site Helper
#19 Old 3rd Jun 2013 at 4:24 PM Last edited by Mootilda : 3rd Jun 2013 at 10:01 PM.
Quote: Originally posted by Cheran
That's what it is listed in SimPe, when I view a SCOR entry :"sales info". As I viewed a package lot, SCOR entries were listed. No sim was ever before on this community lot, playable or otherwise. Maybe, in this context, it's the value decay e.g. the "age" of an object?
I believe that SCOR is also used to store relationship information for BFFs. Remember, SimPE was written by players, who often have an incomplete or inaccurate understanding of the data contained in a record.

Quote: Originally posted by Cheran
I don't understand it. Why save object data in different entries /-types. In real life, I don't deposit my car keys in a different house and have to walk there to retrieve them. In the meantime, the house could be burned down. An then I have a real problem. Yes, I know, this isn't very professional what I write. But I was never good at this. Especially because I can't memorize the terms. :D
Basically, database design theory says that it's best to avoid duplication, since duplicate data can easily become out-of-sync. Therefore, whenever you are tempted to duplicate information, you create a new record type which contains references to the information that you were tempted to duplicate. Those records are then "joined" to complete the information.

Let's take sim relationships as an example. Rather than have Sally contain all of Jim's information in her file plus all of the information about her relationship with Jim, and have Jim contain all of Sally's information and all of the information about his relationship with her, we create a new record Sim Relation (SREL) which contains a reference to Sally's Sim Description and a reference to Jim's Sim Description, plus all of the information about that relationship.

This is standard database design theory. If you're interested, there are lots of books and courses available which can explain things more fully.

I'd also like to point out that EA designed their file structures for their own purposes, not ours. EA doesn't want us mucking about with their files, and has no reason to tell us how the pieces work together. To truly understand the file structures, one would have to be a programmer with access to their source code. The rest of us struggle along as best we can.

One of the biggest problems is when people treat individual records as one entity. They aren't. Records are used in conjunction with each other. That's why deleting a sim's character file is a bad idea; you're only deleting a portion of that sim from the neighborhood. That sim also exists in the Sim Description, the Neighborhood Memory, a number of Sim Relations, the Family Ties, the Sim Wants and Fears, etc.

Making changes in-game is almost always safer than modifying the individual files, since the code that you're calling (usually) understands the relationships between the different records. We only modify the files because we want functionality which is not provided in-game.

Quote: Originally posted by FranH
The best way to describe 'corruption' is to liken it to a virus.
I basically agree with this, but it's flawed, just as all analogies are flawed. It works best if you consider the neighborhood to be one entity. When you find corruption, it is the entire neighborhood which is corrupted. It doesn't make sense to talk about one sim or one lot being corrupted, although we can sometimes treat one sim or one lot to remove the current symptoms. We know where to look for some of the corruption that can occur, but there are other areas which we don't know how to check yet. That will be true as long as our understanding of the internal file formats is incomplete.
Mad Poster
#20 Old 3rd Jun 2013 at 8:49 PM
It was meant as a rough analogy, but applied to the entire neighborhood, as you state. Because the pixels talk to each other constantly, the chances of corruption are high and over a long period of time, more than likely, no matter how well one takes care of the game-and of course using all available tools.

It's almost inevitable that eventually all the game will become corrupt. It's a matter of how long one can stave it off.

But that does not mean one should hesitate to play one neighborhood because it 'might' be corrupted. Under most circumstances, corruption can be held in check by keeping on the routine of using those tools available.

And once it becomes unplayable, make another hood, using memory, SimPE and a new Mootilda invention-"The Sim Extractor".
Site Helper
#21 Old 3rd Jun 2013 at 10:00 PM
Perhaps you mean the Sim Retriever?
Mad Poster
#22 Old 3rd Jun 2013 at 10:12 PM
Yes, I'm sorry..I just haven't got all the brain cells working today. The Sim Retriever, it is!
Mad Poster
#23 Old 3rd Jun 2013 at 10:25 PM
Someone should write a corruption-avoidance routine. There is a list of don't do's, but I don't think I've seen one of things you should do. It'd be really helpful to have a list of things you should do regularly without having to read through hundreds of pages to put the puzzle pieces together
Field Researcher
#24 Old 3rd Jun 2013 at 10:29 PM Last edited by rielynn71 : 4th Jun 2013 at 12:24 AM. Reason: teensy grammar issue
Quote: Originally posted by A.G.Doren
But eventually even with the most thoughtful and attentive care your game will break down. In part because of the way the game is designed and in part because that is the design of this world.

Entropy. The never ending battle. I have a little idea/hope that maybe if this is the way of this world then the opposite will be the way of the next?

Quote: Originally posted by Peni Griffin
I know people stress a lot about corruption but it is important to remember that you can get a lot of excellent gameplay for a very long time with a hood that's already corrupted.

Very true. I've done a ton of VBTs, though once I learned better I tried to fix things up as best I could. I know I've got corruption in my hoods, but I've been playing the same ones since I first installed them and they still only have minor problems. Although it's not quite as many years of gameplay as it seems b/c I've had some years where I didn't play at all, but I'd say I've had about 3-4 years of continuous play with the corrupt hoods.

Quote: Originally posted by esmeiolanthe
I recommended adding "Don't put graves/urns on OFB shelves," because when I did that in my game, I got double graves...

This seems to be a bug that came with FFS - it's addressed in the patch for that SP. So perhaps those with this problem have an unpatched FFS in their games, or EA reborked it at some point.

Myalgic Encephalomyelitis is a severely disabling neurological, cardiac and metabolic disease.
The Hummingbirds' Foundation for M.E. is fighting for patients to be given recognition and appropriate medical care.
Please visit hfme.org for more information.
Site Helper
#25 Old 3rd Jun 2013 at 11:37 PM
Quote: Originally posted by gummilutt
Someone should write a corruption-avoidance routine. There is a list of don't do's, but I don't think I've seen one of things you should do. It'd be really helpful to have a list of things you should do regularly without having to read through hundreds of pages to put the puzzle pieces together
I don't have a lot of corruption-avoidance routines, except for some mods that help to prevent corruption (like nounlinkondelete).

Did you have something in mind?
Page 1 of 2
Back to top