Generating the structure of the universe

The structure of space

When creating a universe, you have to begin somewhere. A good starting point is to define its shape.

The most convenient and probably the most obvious shape is a cube. Each of the three coordinates is then a number from the same range and it is very easy to make it so that there are no boundaries - it is enough to add a condition that leaving the cube on one side is equivalent to entering it on the other side. It is similar to the well-known Snake game, where the snake leaving the screen on the right returned from the left - just in three dimensions.

So we have a cubic space made of points described by three numbers: x,\; y,\; z\; \in (a,b). A question arises: what data type will be best for representing the coordinates of a point? The answer requires us to check the size of the numbers involved first.

The Universe Project

The project, which I temporarily call "Universe" (a better name would be nice, but it isn't urgent), aims to create an interactive universe in a realistic scale - that is, containing billions of galaxies, consisting of billions of stars themselves, some of which have planets, some being parts of multiple-star systems etc.

The inspiration comes from a few sources:

  • Space Engine - a program which lets you travel through a realistic universe
  • Minecraft - a game creating almost unlimited possibilities for building and interacting with the world
  • Wurm Online - a game similar to Minecraft in some aspects, also creating great possibilities of shaping the world

In short - the purpose would be to achieve interactiveness similar to that of Minecraft or Wurm, but in a universe the size of Space Engine.

Of course, this is a huge endeavour, so the project will probably take years, if I manage to finish it at all. Thus, I'm going to make small steps forward, until it takes some interesting shape sometime in the future, and describe the progress here, in the category "The Universe Project".