# Interested in discussing an artificial universe akin to Conway's Game of Life

aepryus
TL;DR Summary: I'm interested in constructing an artificial universe and discussing its properties and behaviors.

I would like to construct an artificial universe somewhat akin the Conway's Game of Life and discuss its behavior and properties. Is that allowed? Is this the place to do that? Can this thread be used to discuss it?

Mentor
What would you like to discuss?

is this for a game or story?

Please be aware that discussion of things you might want to copyright would be compromised by publicly sharing them here.

aepryus
That's fine; anyone is welcome to use this anyway they see fit. I wish to construct an artificial universe and discuss its properties and behaviors. There are aspects of this universe that are specified in a qualitative way, but my goal is to derive quantitative rules in order to make sure the universe adheres to certain "boundary conditions".

To be explicit, this universe, which I'll call 'Universe X' exists in a 3D cartesian space with normal cartesian time. In this space I wish to place cells, akin to the cells of Conway's Game of Life (CGoL). In aggregate I will refer to these cells as the 'aether' and each individual cell as an 'aexel'. Also, akin to CGoL, each aexel will have some numbers of states (although it is currently unknown exactly how many states there are). These aexels will form bonds with other aexels, based on their proximity. When the state of an aexel changes, that change will be communicated to each of the bonded aexels. The time it takes this communication to occur is fixed and will be referred to as a 'tic'. The fastest a signal will be able to move across the aexels will be one aexel per tic. One aexel per tic will be referred to as the speed of light.

However unlike CGoL these aexels will not be uniformly distributed; they will be able to move and flow. Their bonds will be crystal like having a potential well, preventing the aexels from getting too close or too far. Which will make the aether itself compressible; it can stretch, it can squeeze. Also, these individual aexels will have the ability to move and flow. But, the specific dynamics of these aexels is perhaps entirely un-analogous to any mechanics of our universe; for example, perhaps their motion has no inertia.

One of my major goals is to figure out the exact quantitative description of these aexels' mechanics. And of course many other questions about the state changes occurring "on top" of the aexels themselves.

Mentor
I can see youre focused on the mechanics and from your description it looks like it will be some sort of interactive game and not a story.

Are you concerned about loss of copyright in discussing it here on PF?

aepryus
I am not concerned about the lost of copyright; anyone is free to use it as they like.

But, yes I am working on building an actual model of Universe X. I have some qualitative simulations that deal with various aspects of it. But, I would like to button these down a lot more. In particular the dynamics of the aexels themselves at this point.

One of my major goals is to figure out the exact quantitative description of these aexels' mechanics.
You still have too many degrees of freedom available, so there are too many possible solutions.

Flexible and migratory aexels seem to be the basis for your model. I imagine a 3D distribution of cell volumes. Each seems to be like a volume of space, or a bag of dark matter, with the density of space, curving space-time.

Alternately, think of it as a cellular plant. The positions relative to neighbours are better fixed, but some can grow and extend through the space like nerves in an animal. It seems you want the aexels to grow, rather than their properties to selectively diffuse into nearby aexels.

aepryus
aepryus
Yes, certainly too many degrees of freedom (since I haven't provided any constraints yet). Actually, I want to do both of your suggestions, both diffusing and growing (or shrinking).

In order to provide some constraints however let's take a (not so quick) detour and discuss the dynamics of the state changes of the aexels themselves.

Given a static set of aexels one could take a snapshot of the state of those aexels at time t and refer to that snapshot as Q. It is possible that those aexels may return to the state Q at some later time t'. If that occurs (and assuming that the dynamics of the states is deterministic) than the system will be in a stable state loop. Also, it is possible that while the system doesn't return to Q it does return to Q plus some linear translation. Let's consider that to also be a "stable state loop" and lets just refer to these as 'loops'.

For example, in CGoL there are still lifes, oscillators, spaceships and guns and perhaps there is analogous phenomena in Universe X and I'd like to just refer to all of these as 'loops'.

Some of these loops may translate in a direct line at one aexel per tic. Other of these loops may be more complex and have some sort of internal structure and motion. For example, a frisbee flying through the air with a velocity v, will only have the exact center also moving at that velocity. The rest of the components of the frisbee will be traveling faster, slower or in different directions from the frisbee itself.

Similarly, there may be loops in Universe X that while perhaps their components translate at one aexel per tic, those components alternate back and forth and the net velocity of the loop is less than one aexel per tic.

I'd like to refer to any loop that moves in a direct line at one aexel per tic as an 'edison' and any loop that moves in some sort of alternating way at less than one aexel per tic as a 'teslon'.

Some of these teslons have a unique skill: they are able to destroy aexels at a fixed rate. When an aexel gets destroyed new bonds are formed between its former neighbors and aexels are pulled in trying to move the aexels back to the equilibrium distance of the bond. This causes the aexels as a total to continually pull towards the teslon, which also increases the chance for the teslon to find other teslons and start to create clumps.

As these clumps get bigger and bigger and more dense, the speed at which the aexels are flowing towards the clump will continually increase. At some point some clumps will get so dense that the speed of the aexels flowing into the clump will be equal to one aexel per tic. When this occurs, the clump is referred to a black hole.

I'm thinking about the computational workload, and how to possibly fit it into a GPU.
How many aexels will there be? Will the total number change?
Will the aexels be 3D polygons with geometric polygonal borders, like a rock made from grains?
Or will aexels be modelled as centroids or barycenters, P(x,y,z), with physical parameters attached?

The spatial bounds of the model must be defined. Does it all exist in a fish tank, of what shape?
Are the walls absorptive, generative, or reflective? Or do they wrap around to map to the opposite wall, so what is going out on one side, is coming in on the other?

Loops will only be possible in the simplest binary situations, and where there is the isolation of space. To find a loop, there will need to be some form of aexel-parameter digital-recovery to a zero or a one. Floating point parameters or locations will statistically prevent high-contrast clinical loops, you will instead get a chaotic trajectory.

aepryus
aepryus
Yes, this is a major concern. Ideally, I'd like to have a completely accurate algorithm that would precisely meet all of the boundary conditions and accurately render each and every aexel of Universe X and its states. But, realistically it is difficult to accomplish that with more than a few 1000 aexels (optimistically). And at the same time a few 1000s aexels is probably not enough to accomplish anything terribly interesting with the states lying on top.

However, generally speaking, at different scales different aspects will tend to dominate. When trying to model the dynamics of the loops perhaps the dynamics of the aexels can be aggregated and it won't be necessary to model each and every aexel individually.

But, I would like to be able to go to any scale and accurately render the dynamics of whatever dominates at that scale and certainly would like to be able to 'see' and 'play' with individual aexels and have their dynamics be entirely accurate.

And at the same time a few 1000s aexels is probably not enough to accomplish anything terribly interesting with the states lying on top.
In 3D; 1000 aexels only gives 10 * 10 * 10. I would expect a model of life to have a 2D minimum of 100 * 100 = 10,000. I extrapolate that to 3D, where a minimum of one million aexels would be needed.
I don't think we are talking about polyhedral geometry here, it will need to be points with parameters. There are only about 1000 processors on a GPU.

... perhaps the dynamics of the aexels can be aggregated and it won't be necessary to model each and every aexel individually.
That is a technique used to model the formation of galaxies. The far-off systems are clustered, while the closest systems are individual. That requires a structured hierarchical sorting and grouping of the aexels, which is available. But you have entered the realm of the numerical vector processing supercomputer.

and certainly would like to be able to 'see' and 'play' with individual aexels and have their dynamics be entirely accurate.
Reality, accuracy, or speed: with today's technology, you can only pick one.

aepryus
aepryus
I have implemented a handful of qualitative models, but they have all been 2D in an effort to give the user a feel for the nature of Universe X in 3D. But, even in 2D a 1000 aexels is pitiful, but ya, in 3D it's silly.

Ultimately, I'd like to get the math right and once that's done figure out how best to render it.

That being said let me head a little further down the detour and try to get to the constraints.

- Some teslons are akin to "guns" from CGoL. They continually send out edisons omnidirectionally. Let's call these edisons being sent out by the teslon as 'pings'. When a ping encounters a different teslon it causes the target teslon to respond with it's own volley of edisons. Let's call those edisons 'pongs'. When the pong interacts with the original teslon it causes a 3rd type of edison to be released in a single direction, let's call that 3rd edison a 'photon'. When the teslon releases the photon it also causes the teslon to adjust its rate of translation across the aexels.

In this way, complex composite systems of teslons can be formed and their dynamics will be entirely mediated by edisons bouncing back and forth between them. The rate at which these composite systems will 'animate' will entirely be a function of the amount of time it takes the ping / pong to occur. Using some simple geometry and algebra we can calculate that for teslons arranged orthogonal to the direction of translation this ping / pong will be slowed by the γ. For teslons arranged parallel to the direction of travel the ping / pong will be slowed by γ^2. However, if we apply a length contraction factor to any system translating across the aexels such that d' = d / γ. Then the ping pong in the parallel direction will also slow by γ.

As such any ping sent out in any direction and bounced back after a fixed distance will arrive back at the source at the exact same time, even though the journey may look very different for each of the ping/pongs.

- For a system sitting on a large clump of teslons that are drawing the aexels in. Even though the system is not moving in cartesian space, it will experience this animation dilation because the aexels are being pulled through it.

The pushing and pulling of aexels will never directly cause a system to start to translate over the aexels themselves only the ping/pong mechanism can cause a system to start translating. So, if a very small system is placed very far away from a very large system that is drawing in the aexels. The velocity of the small system when it hits the large system will precisely indicate the velocity of the aexels themselves since nothing would have caused the small system to start translating.

If we wish Newtons law of gravitation to apply to Universe X than the velocity of the aexels at any radius r must be the escape velocity. And any system resting at a radius r must therefore be translating across the aexels at the escape velocity and therefore be experiencing a animation dilation equal to the escape velocity plugged into the γ.

The flux of aexels through any shell around the large system must be a constant (aexels aren't created or destroyed). However, they can vary by speed and density. Also, the aexel bond has a equilibrium state so there must be some radius at which the aexels stop spreading out.

Also there is the complication of keeping track of the 3 separate types of distances (and as a result 3 types of velocities).

- cartesian distance: the distance between two points in space
- aexel distance: the number of aexels between two points
- ping / pong distance: the distance measured by ping ponging edisons back and forth between two points which will differ from the aexel distance by the length contraction of a system if it is translating across the aexels.

So, my ultimate question is... how do I reconstruct the dynamics of the aexel bond from these constraints?

So, my ultimate question is... how do I reconstruct the dynamics of the aexel bond from these constraints?
You still have too many degrees of freedom.
Define the aexel object:
How do you define the position, shape, and what parameters need to be stored for each aexel.

aepryus
For the purposes of this model the aexel itself can be thought of as a point in 3D cartesian space. I haven't defined the exact number and nature of states that the aexel can hold, but those states don't directly affect the dynamics of the aexels themselves, so isn't necessary in this case. (They indirectly affect the dynamics when they cause the destruction (or creation) of aexels.)

But, I believe we can figure out the dynamics by solely considering the aexels outside of our large clump of loops. If we consider just two aexels, let's say they can form a bond if they within 2 cartesian units of one another. We can also define the equilibrium position of the bond to be 1 unit apart. Due to this equilibrium position a collection of aexels that are entirely unstressed (neither stretched or squeezed) should have a specific density. There is some radius around our clump where the unstressed density is achieved.

The flux through any shell around the clump should be a constant (within the unstressed density radius). We can define that flux to be Q. We also know that the velocity of the aexels at some radius r will be ##\sqrt{2GM/r}##. So, we know that the flux density at a radius r is $$\phi (r) = \frac{Q}{4\pi r^2 \sqrt{2GM/r}}$$. One of the first major issues however is that the radius in the escape velocity equation and the radius in the flux density equations are most likely different radii.

The flux density radii is the cartesian distance. But, it is not entirely certain how the escape velocity radius is to be measured. Is it the 'aexel distance' to the center? Is it perhaps the aexel circumference at r divided by ##2\pi##? Is this r length contracted? In short, what does the r in Newtons Law of Gravitation actually represent?

Once we have an accurate idea of how the aexel density varies in cartesian space, then the question is what is the dynamics of the bond to achieve that density? I'm tempted to say that the dynamics has no inertia, because if it did than its possible that the aexels would swirl towards the clump as opposed to simply moving directly towards it.

But, if it has no inertia are compression waves possible?

Last edited:
The laws of physics require the concepts of position, time, mass, charge ......

If you intend to compute or simulate something, you need to define an "object", a framework that can hold the properties of each existent aexel. There are a number of different approaches. They differ in the definition of those object properties. Select your approach now.

What properties are fixed parameters for the life of that aexel ?
What properties does an aexel have that are variable ?

Only then can rules be considered that control how aexels interact.

aepryus
For this first problem the only property that is relevant is the position of each of the aexels.

Perhaps some visual aids will help. Here is a video of the current model:

Aexel Gravity

Here is the c used to render it:

GitHub