How to Simulate Reality

Today I am going to talk to you about how to create a convincing and effective simulated reality.

realityHow can you make the experience as rich and engaging as possible? Suppose you were tasked with creating an experience that felt completely “real”. What would it be like?

“Reality” is a notoriously difficult thing to define, so instead of trying to come up with a definition, I’m going to list a few examples of elements that I think would contribute to a convincing simulated reality, and see what you think.

THE OBSERVER

This may seem obvious, but nothing ever seems real except to someone. Otherwise who is going to consider it to be real at all?

SENSES

Observers within the reality must be able to experience it in order to be conscious of it. A visual field, for example, creates a sense of located-ness. Filter in audio through two different receptors and the observers will be able to orient themselves effectively. Give users a sense of up and down and add legs to the bottom of the visual field.

12

INTERNAL COHERENCE

This is absolutely vital. The user must experience a complete representation, even when senses are in conflict or sense data is unavailable.

For example, the ambiguous image below should give a general sense of being either a profile or a portrait shot, possibly switching between the two, depending on where in the image the user is looking. (The image may appear most consistently to be a portrait at the ear, where most data conforms to this, and most consistently to be profile at the nose, where most data conforms to this.)

rothead2

In the below image, simulated-reality sense machines are likely to indicate that the top moon is larger than the lower one, as they use simple and predictable (but unreliable) heuristics to simulate perspective.

a_full-moon-illusion-nasa-tr_st

Internal coherence also means input from one sense device may impact on data from another – for example, not just the feeling but the sound of a crisp may contribute to a user’s perception of crunchiness.

EXTERNAL COHERENCE

If reality is going to seem real then it should follow some kind of logic, explicable to the end user. Simple, consistent rules such as “objects continue to move in a straight line unless acted upon” or “every action has an equal and opposite reaction” contribute to the feeling of realness. Users can then become familiar with these rules and be reassured by their understanding of them.

newtons-cradle

The rules of a simulated reality only need to be simple and consistent on the scale they are generally going to be experienced within, so do not waste valuable resources on easily comprehensible laws for subatomic particles or universe-scale phenomena.

DOWNTIME

Current-gen hardware isn’t perfect and needs to be cleaned and reset regularly to function. Make the reality seem extra-authentic by incorporating downtime into the simulated consciousnesses within. Regular sleep-cycles are the most efficient way to do this.

Sleep is the perfect time to test out the sense receptors, replace malfunctioning parts, organise and compress memory and install software updates.

1280px-effects_of_sleep_deprivation-svg

Side point – most sense receptors work on a “predictive” model –  visual fields and audio inputs fill in blank areas automatically with approximately-accurate guesses when central data is unavailable. This allows a dramatic reduction in load for the main simulation hardware, and is the reason for phenomena such as blind spots and change blindness.

18lr88dc9oy1fgif

Whilst in a simulated reality, cover your left eye and look at the dot on the left. Move your face closer and further from the dot. At some point you should see the cross disappear. Stay at that point and close your right eye. Stare at the cross and the dot should disappear. Software engineers are still working on this glitch.

It can also lead to curious results. They can end up “cycling” if left on while the main simulation hardware is sleeping, endlessly producing predictions based off predictions, producing bizarre, surreal and nonsensical experiences for the user.

NON-USER CHARACTERS

A surefire way to expose the inaccuracies of your simulation is to leave a single user completely alone within it for an extended period of time. They are liable to notice inconsistencies and inadequacies, and have been known in some cases to damage critical coherence-generating data software through over-analysis.

Populate the reality with a varied cast of non-user characters (NUCs) that the user can interact with and relate to. As far as possible they should be programmed to behave in a similar way to actual users, but giving much more credibility to the notion that theirs is an entirely real reality.

These NUCs provide vital entertainment and stimulation, and draw the user’s attention away from perceptual errors like those highlighted above.

IDEOLOGY OF UNIQUENESS

Paraguas

Unfortunately, all currently available simulated realities only offer the perspective of one character. As a result, early testers found years-long sessions to be crushingly dull.

To compensate, build into the ideology of the NUCs within the simulated reality the idea that being only one character is actually a good thing. Have them fetishise uniqueness and “being yourself” in their stories and wider culture. In addition, make them all appear to suffer the same sense of low-level isolation as the user. This helps justify the listlessness of the user, even if it does not explain or resolve it.

HUMOUR

In-jokes are not necessary in simulated reality, but they are common in all the most commercially successful ones. Why not follow the lead of the giants? For example, put into the simulation a film about a simulated reality, and for extra laughs make it comically unconvincing and obviously implausible.

matrix

Why not set your simulated reality at a time when virtual reality is becoming just about economically viable?

You can even put in NUCs who believe themselves to be simulations, but don’t add too many or they will break the immersion.

COMMON ERRORS

Below is a list of errors that most observers undergoing extended simulated reality will have experienced at some point.

  • Sudden, unexpected, vivid, and nervous recall of a previous memory state
  • Discovery that there is a sock in one’s trousers an hour after one put them on
  • Persistent, low-level feeling that one is a fraud
bag-on-head_featured

Don’t worry, the NUCs don’t feel like they’re frauds. They don’t feel anything.

  • Delusion that one has undiscovered talents
  • Desire to be able to save, load, and undo “in real life”
  • Unexpected sex-fantasy upon receiving a text from someone who hasn’t texted before
  • Deliberate breaking off of a conversation one is enjoying in order not to appear needy
text20message

I’ll text him back later.

  • Guilt-tinged replay of previous conversation accompanied by tension in neck
  • Music fragments trapped on loop in memory
  • Dreams about teeth
  • Dreams about driving
  • Dreams of violence
  • Seemingly uncaused thoughts about sex [these may be the result of viruses]
  • Text messages accompanied by smiling and euphoria

66834999-joy-wallpapers

  • Occasional personal revelations that seem profound yet become disappointing upon explaining
  • Happiness punctured by a gut-led recollection that one is never going to see that particular person again

THE PROBLEM OF EVIL

The hardware, network and staff resource requirements for a full simulated reality are immense. As a result, all but the tiniest simulated realities will fail in many ways, repeatedly. Devices will lose contact with one another, become corrupted, or simply break and have to be fixed on-the-fly.

Most simulated realities incorporate causal explanations for these failures, such as earthquakes, diseases, famines, NUCs being malicious or misinformed and so on.

Numerous studies have been made about the best way to approach the “problem of evil” as it is called, but this remains one of modern engineering’s unresolved technical problems.

Below is a non-reductive and non-exclusive list of within-simulation explanations that may be used to explain the problem of evil.

  • The simulated reality is the result of random physical laws, which are indifferent to the suffering of its inhabitants
  • Evil is a result of the “free will” of the simulation’s inhabitants
  • The simulated reality is the product of an evil creator who wants his or her denizens to suffer
  • The simulated reality is the product of an indifferent creator who does not consider the problem of evil to be a problem
  • The beings with power over the simulated reality are in conflict and evil is a product of that conflict
  • Pain and failure are the result of an ongoing process of evolution by natural selection

Side note – “Evolution by natural selection” fittingly resembles Agile software development practice, with endless iterations and improvements. If you replace “plan” with “mutate” (and what is a plan if not a mutation of a previous plan?) then the analogy is nearly perfect. The only difference is that in software design, less thought is applied to each iteration.

aglie2

SUMMARY

Whilst it is difficult to define what a simulated reality is, the following are likely elements in a comprehensive one:

An observer
Senses
Internal coherence
External coherence
Downtime
Non-user characters (NUCs)
An ideology of uniqueness
Humour
Common perceptual and experiential errors
The problem of evil

If all these elements are present, the simulated reality should appear fairly convincingly real.

P.S. If you’re interested in a simple simulated reality, why not check out Marketforce!? It’s a free PC game made by yours truly.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s