хранение ориентированного графа (дерева игр) - PullRequest
0 голосов
/ 12 ноября 2019

Я новичок в концепции графа db, и мне интересно, является ли это правильным решением для моей проблемы, и если да, то каковы лучшие технологии?

Я работаю над игрой, в которойигрок может переходить через N состояний, а график представляет все возможные состояния (вершины) и вероятности перехода из одного состояния в новое состояние (ребра).

Каждая вершина представляет состояние игрока. Это состояние будет содержать ссылки / указатели на все возможные состояния, в которые игрок может перейти из этого конкретного состояния, и функцию, которая вычисляет вероятности для каждого из состояний, в которые этот игрок может перейти (ребра) из этого текущего состояния. Функция примет некоторые свойства / состояние проигрывателя и определит вероятности.

Я могу очень легко кодировать это дерево, скажем, на Java, но как мне сохранить эту структуру в базе данных, чтобы каждый игрок выходил в онлайнМожет ли запросить API / сервер, на котором загружено все игровое дерево, и определить, как перевести игрока из состояния A в состояние B? График БД?

Спасибо!

Ответы [ 3 ]

1 голос
/ 18 ноября 2019

Вы можете использовать нашу графическую базу данных Nebula , это проект с открытым исходным кодом. Как вы сказали, состояния могут быть вершинами, а переходы состояния могут быть ребрами, которые поддерживаются в графе туманности. Добро пожаловать в использование и задавать вопросы ^^.

1 голос
/ 18 ноября 2019

каков ваш размер графа (количество вершин и отношений)? если тысячи, попробуйте jgrapht

1 голос
/ 15 ноября 2019

Практически любой из существующих продуктов баз данных графов будет поддерживать то, что вы предлагаете. Вы просто определите набор вершин, по одной для каждого состояния, и закодируете некоторый набор «свойств» для каждого состояния, а затем создадите ребра между различными состояниями.

Используя графическую базу данных, которая хранится на диске (в отличие от резидентного продукта памяти), ваши данные будут надежно сохранены.

Список графовой базы данных можно найти здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...