jacob-meacham / galactic-ansible

:alien: The Galactic Ansible
Apache License 2.0
0 stars 0 forks source link

galactic-ansible

Coverage Status Dependency Status License

A gamma blast has scoured the dominant race, the Aaxians (a dark matter, silicon-based lifeform), from the universe. Beyond a few, crumbling monuments, their only legacy is the galactic ansible, a solar-system sized computer capable of faster-than-light communication. It has somehow gotten ahold of a twitter account, and is fruitlessly continuing its goal of documenting the universe.

Keep everything in a hierarchical DB. Both parent and child pointers are stored, along with a name. Movement can happen up or down the hierarchy, either defining more at a current node, adding a sibling node, or adding a child node. At some levels, there are a finite number of children (for instance, number of planets in a solar system), so we must keep that constraint in mind.

TODO: Move to babel 6 when it stabilizes.

Node Parent Max. Children Name Children Characteristics (based on node type)

Algorithm: From the current node, do a random walk to get to a new node. With probability n, define a new characteristic on that node. With probability n, add a new child to that node (if applicable) With probability n, add new new sibling to that node (if applicable) To avoid getting caught too low in the weeds, have a teleportation to a different level in the hierarchy. Prefer sitting in the middle of the hierarchy (ie galactic civilizations and planets), rather than too low. Possibly could try to move towards underspecified parts of the system (ie fewer characteristics/children). Basically, build an actual tree and score it.

If someone requests a node by name (@galacticansible tell me more about Oprah IV), reset the node pointer to there and then run the algorithm to define a new characteristic, add a sibling, or add a child. If none of these is possible, do a walk up the hierarchy and do the same.

Use Postgres as the DB.

The galaxy is a galaxy. Its nearest neighbor is galaxy | | Its prominent feature is a | | | It has | | | etc.

The solar system is Named for | | | Has | | |

The planet is

The alien race is