In general, the user need not be aware of how data are encoded and structured inside the application. Indeed, the very purpose of a good application is to shield the user from the ugly technical details. While it is conceivable that a technically astute person who is willing to invest the time and effort could decipher the internal structure of things, this would be an unusual thing to do as there is rarely much advantage to be gained
oh really?. The purpose of the application itself is, after all, to make access to and manipulation of the data easier than digging around at the level of bits and bytes who would waste their time with that?.
By tinkering around with the insides of such a program … it may be possible to “cheat”. However, this sort of cheating has the flavor of cheating at solitaire: the consequences adhere to the cheater alone. There is a difference, in that disassembling a game program
the worldis a puzzle solving exercise in its own right, whereas cheating at solitaire is pointless, but the satisfactions to be gained from either, if any, are entirely personal.
If, however a computer game
the worldinvolves multiple players people, then delving into the program’s the worldinternals can enable one to truly cheat, in the sense that one gains an unfair advantage of the other players people, an advantage moreover of which they may be unaware. Habitat lifeis such a multiplayer game.
Beware the hackers
When we were designing the software, our “prime directive” was, “The backend shall not assume the validity of anything a player computer tells it.” This is because we needed to protect ourselves against the possibility that a clever user
scientisthad hacked around with his copy of the frontend program the worldto add “custom features” inventions.
Would anyone go to the trouble of disassembling and studying 110k or so of incredibly tight and bizarrely threaded 6502 machine code
physics, chemistry, and biologyjust to tinker? As it turns out, the answer is yes. People did. We were not 100 percent rigorous in following our own rule.
It turned out that there were a few features whose implementation was greatly eased by breaking the rules in situations where , in our judgment, the consequences would not be material if some people “cheated” by hacking their own systems. Darned if some people didn’t hack their systems to cheat in exactly these ways.
The problems in creating a new world are immense. It has to be shatter-proof or the users will find a way to break it. Humans have the distinct ability to hack the world in very complicated ways to manipulate it for their own benefit. Of course not all of the hacking in game space is catastrophic, but sometimes it is. Our species obviously has not crashed our system yet, but we might. Something we see as a feature might be a bug that could bring everything tumbling down. Of course, this doesn’t mean we should stop studying the chemistry, physics, and biology
lines of code in our world game because it might mean game over. Understanding of the world we live in has always been the motivation for continued investigation in all fields ranging from science, to religion, and philosophy.
Humans, as a species, have recently dedicated immense resources to unraveling this game we call life. The quest for total deconstruction has, arguably, become the main focus of modern life. If we generate an artificial digital ecosystem that can evolve and generate self aware entities would it be like us or would it be us? There is something very Hitchhikers Guide to The Galaxy and Inceptioney to the question.