Skip to content

Commit

Permalink
обновлён список вспомогательных сервисов
Browse files Browse the repository at this point in the history
  • Loading branch information
Tiendil committed Dec 6, 2019
1 parent 0e12de0 commit 8dc2b73
Showing 1 changed file with 75 additions and 1 deletion.
76 changes: 75 additions & 1 deletion docs/source/development/architecture.rst
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,11 @@
- tt_bank — хранилище игровой валюты с поддержкой транзакций.
- tt_timers — управление таймерами (например, на получение карты), по истечении таймера делает заданные http запрос.
- tt_impacts — учёт численных «воздействий» одних сущностей на другие. Например, влияние героев на Мастеров.
- tt_events_log — хранилище истории игровых событий с привязкой к «тегам» и фильтром по ним.
- tt_effects — хранилище эффектов, действующих на объекты игры.
- tt_matchmaker — простой сервис поиска соперника для pvp и отслеживания активных боёв.
- tt_properties — хранилище свойств объектов, нужных в частных случаях логики (например, флаг «разрешить приглашать игрока в клан»).
- tt_uniquer — сервис выделения уникальных целочисленных идентификаторов для строк.

the_tale
~~~~~~~~
Expand Down Expand Up @@ -140,6 +145,76 @@ tt_impacts
- получение рейтинга сущностей, больше всего повлиявших на указанные сущности;
- скалирование итоговых сумм воздействий (например, чтобы уменьшать их со временем).


tt_events_log
~~~~~~~~~~~~~

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

**Не привязан к логике игры, может быть использован отдельно.**

Функциональность:

- добавить событие;
- получить события по фильтру;
- получить последние события;

tt_effects
~~~~~~~~~~

Хранилище эффектов, действующих на объекты игры. Предполагается, что эффекты могут вешаться на объекты из разных мест игры. Чтобы унифицировать этот процесс, все они шлются в этот сервис, из которого уже выбираются соответствующими объектами (по таймеру или по команде).

**Не привязан к логике игры, может быть использован отдельно.**

Функциональность:

- зарегистрировать эффект;
- удалить эффект;
- изменить эффект;
- получить список эффектов;

tt_matchmaker
~~~~~~~~~~~~~

Простой сервис поиска соперника для pvp и отслеживания активных боёв.

**Не привязан к логике игры, может быть использован отдельно.**

Функциональность:

- создать запрос на битву;
- отменить запрос на битву;
- принять запрос на битву;
- создать битву;
- получить список запросов на битву;
- получить текущую статисику (количество битв, количество запросов);
- завершить битву;
- получить список участников битвы;

tt_properties
~~~~~~~~~~~~~

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

**Не привязан к логике игры, может быть использован отдельно.**

Функциональность:

- установить свойства;
- получить свойства;

tt_uniquer
~~~~~~~~~~

Сервис выделения (и хранения) уникальных целочисленных идентификаторов для строк.

**Не привязан к логике игры, может быть использован отдельно.**

Функциональность:

- получить уникальный идентификатор по строке;


Планируемые сервисы
-------------------

Expand All @@ -153,7 +228,6 @@ tt_impacts
- Кланы;
- Достижения;
- Друзья;
- Банк (управленеи валютами игрока);
- Приём платежей от XSolla;
- Сервис рассылки сообщений на почту игроков;
- Статистика;
Expand Down

0 comments on commit 8dc2b73

Please sign in to comment.