Thursday, September 11, 2008

Who is the god of a simulated reality ?

I have been interested in stories about deities since I was small, and lately I asked lots of questions about this in several internet forums. I am a Christian myself, but I would state that there is no observational evidence about the existence of what we called gods. Some people would say that there is no observational evidence for the inexistence of gods as well, but this argument can be easily countered by the fact that there is no observational evidence about the existence of unicorns and flying sphagetti monster as well. This of course won't mean that gods doesn't exists, but it does mean that the existence of gods is as hypothetical as the existence of either unicorns or flying sphagetti monster.

So what is a possible solution when there are no conclusive evidence ? We should look at how we prove the existence of something hypothetical. A hypothetical object could be proven to be exist, even if they are not visible, by observing whether their predicted effect could be observed in experiments. Of course to do so we have to be clear on the properties of the hypothetical object we are going to look for. In this case I tried to look for possible definitions of gods in case of simulated reality.

So I put my question in a science fiction forum about what they think regarding the gods of a simulated reality. This is a reply from David Jackson, a fellow member of Orions Arm mailing list who happen to run a digital fiction blog. I find his reply to be somewhat insightful, so lets hear how he define a god :

Well ... let's see. What constitutes a god?
  1. IMO, a true god should be the ultimate agent of creation for a thing. He need not craft ever detail of that thing -- it is enough to initiate the creative spark that subsequently develops into the finished product.
  2. Likewise, he need not have absolute authority over the development of the thing once it gets going, but he SHOULD have the power to dictate arbitrary changes and have those changes proceed/develop according to the pre-existing nature of the thing and the overall influence of the change itself.
  3. A god need not be omnipotent, IMO. It is enough that he should be able to obtain a particular piece of information he desires when and if knowing it becomes important.
  4. A god should have power over the future of a thing even after it has left the cradle. So he should be able to recall it for further changes on a whim, terminate the thing outright, suspend its development indefinitely, etc.
So that is David Jackson definition of a god. Then he go on to explain his points whether each objects in a simulated reality could be considered as a god. Since I am the one who make the poll in the Great Big Group, I think I will have to explain why I included each option for my friends there to choose. Green colored text is my reason to include the option as a god candidate, Blue colored text is David Jackson's argument.

So ... how do these criteria match our godly candidates?

The programmer who made the program

It is clear, programmers made the program. Programmers are godlike in the sense that they are the creator deity of the simulated reality. Most people I asked in other forum would choose this option. Programmer is the one who create the environment and the very law that the universe where simulated reality run have to obey. But David Jackson have better knowledge about software development than I am.
Well, he certainly created the program, and has some degree of arbitrary power over its development. But, in the real world, a programmer actually tends to have very little freedom within a project. He is handed a set of goals to accomplish, and sets about accomplishing those goals to the best of his ability. Good managers will give good programmers considerable leeway in designing and implementing their programs ... but programmers without any direction whatsoever are a bad idea.

Anyone who run the program and play

The program have left its cradle and people who may not know anything about how the program is written, puchased the program and play it. The player have full control on the lives of any creature in the simulated reality, and the programmer will not interfere. Players in this sense are gods, just like Odin, Osiris and Zeus are gods.
He is constrained by the nature of the program, warts and all. Since he has no authority over the nature of his experience regarding the program and no ability to dictate arbitrary changes, I'd say he's out as a god.

The computer where the simulation is run

My reason to include this option is they are the one that make sure the law the programmer had made is always obeyed in simulated reality universe.
Basically this is the same as the person who runs and plays the program. They experience different aspects of the same process. A user is just as much a part of a program's process flow as the CPU is ... so by the same argument, no, the computer is not a god. It's merely an environment.

The simulation software

This is the very law of the simulated reality universe itself. If the simulated universe can evolve, this is the very equation that govern how the evolution are being done.
Am I a god of myself? Considering how a bad cold can knock me down ... I'd say no. Likewise, the first time a segfault brings the simulation to its knees, it pretty much loses all claim on godhood.

The harddisk

My reason is the harddisk store the deeds of all creature in the simulated reality universe. The harddisk know everything and is closer to omniscience (relative to the simulated reality) than even the programmers themselves.
Part of the environment. Not even a directive part of the environment, so, no.

The server admin

Well, some of them say they are gods, so I included them here :)
Have you met many server admins? They only think they're gods.

The memory (RAM)

This is the very environment where creatures inside the simulated reality lived and evolved.
Same basic principle as the hard disk, so no.


When all is said and done, I'd have to say that the project manager or designer is the closest thing to a god I can think of when it comes to a software project. He is tasked with identifying a need, formulating a plan to address that needs, and delegating the implementation of that plan to his programmer peons. Depending on his position in the company, he may be able to initiate holds and recalls of the product. If he is forward-thinking, he can direct his programmers to include the kinds of "kill switches" Microsoft builds into all its products to obsolete them after some amount of time in-market.

Sure ... every now and then some hacker comes along with a crack to disable your kill switch ... but, then, Adam bit that apple. So a PM still has at least as much claim to godhood as Yahweh.


Hippo said...

Err... If God is someone like a PM, than what or who do we call the Programmer? And if that is being called the Programmer, who or what should we call the User?

David Jackson said...

Hey Fendy,

Looking good here! Nice to see something of mine in print for a change!

Addressing Hippo's comment: I wasn't thinking specifically in terms of Judeo-Christian tradition when I made this response. And God knows I was probably talking out of my butt anyway. But I think your conception of who defines what roles in any particular mythos will depend on your interpretation of that mythos. Moreover, I think it's entirely possible to combine roles, even though I treated them separately for clarity.

For instance, if you're a Creationist, then your notion of God is probably one of a PM/programmer who also owns and administrates the hardware. I guess human beings are essentially users with pacemakers hooked into the mainframe. While we're somewhat "outside" the simulation, we're still dependent on it and very much a part of it.

If you're not a Creationist, you might be more comfortable with the notion of God-as-PM who gets the initial ball rolling, leaving the details to the programmers, who might even be agents of the simulation itself (i.e. laws of probability, chemistry, physics, etc that conspire with the basic elements of the simulation to produce evolutionary change.)

I guess at some point God would have to do some initial coding. How much depends on how ultimately complex you figure a TOE will be. Could be our entire existence consists of one simple function:

void letThereBeLight (const MySon& j) {

As with real-world programming, the Devil lies in the ellipses. ;)

akbar said...

Fendy, you are cool. Nice to see someone whoe can make a connection between God, creationism, and programming.

orichalc said...

If PM is the God, I would say that the programmers under said PM is the one so called fingers of God. About the users, that would depend on what kind of users you mean here.

If what you mean by user is kind of like players in an online game, then the user is the soul of human beings in the simulated reality.

If by user you mean something like the gamemasters of an online game, or the player of the sims, then they are gods just like Zeus,Hera,Odin or Thor. But they are not God in sense of the God in Judeo Christian tradition.

@David Jackson
By TOE in the end of your comment do you means Theory Of Everything of said simulated reality ?

Hmm, thanks that is what I always want to do since I was in High School. I will try to write more about what I can put together from my mind later.

I will explain about Afterlife (Heaven and Hell) in the next post. I think I have a possible explanation on why a God should create Heaven and Hell, and how it is shaped in a simulated reality.