|
1 | 1 | Интеграция ИТ систем |
2 | | -======================== |
| 2 | +==================== |
3 | 3 |
|
4 | 4 | Данный документ призван обобщить опыт игр Deus Ex и Магеллан по тому, как удобно и правильно интегрировать бекенд вашей игры и joinrpg. |
5 | 5 | Предназначен для мастеров, у которых на игре есть некая ИТ-система, предоставляющая возможности в рамках игрового мира. В дальнейшем будем называть ее Система. |
6 | 6 |
|
7 | 7 | Привязка всего к персонажу |
8 | | ------------------------ |
| 8 | +-------------------------- |
9 | 9 | .. note:: Эти принципы мы считаем разумными для всех интеграций |
10 | 10 |
|
11 | 11 | Источником правды о персонажах на начало игры является данные из joinrpg. Это даст мастерам возможность вести всю информацию по игре в одном месте, использовать удобные и привычные инструменты для управления. |
|
17 | 17 | 3. На игре менять роль игроку (выпуск второй ролью). |
18 | 18 |
|
19 | 19 | Поля персонажа |
20 | | ------ |
| 20 | +-------------- |
21 | 21 | Для хранения всех данных по персонажу надо использовать поля персонажа. В API это называется ``CharacterFields``. |
22 | 22 |
|
23 | 23 | Обратите внимание, что дополнительные данные по полям (например, метаданные по вариантам выпадаек) можно хранить в поле ``ProgrammaticalValue`` и загрузить при помощи `MetaDataApi_GetFieldsList <https://joinrpg.ru/swagger/index.html#/MetaDataApi/get_x_game_api__projectId__metadata_fields>`_. |
|
30 | 30 | 2. Использовать «красивый», игровой логин, который берется из какого-то поля персонажа, например ``dartvader@empire.local`` |
31 | 31 |
|
32 | 32 | Пароль |
33 | | ------ |
| 33 | +------ |
34 | 34 | Пароль в вашу систему рекомендуем хранить в поле персонажа типа PIN-код. Он будет создан автоматически (но при желании вы сможете вручную его отредактировать). |
35 | 35 |
|
36 | 36 | «В игре» |
37 | | -------- |
| 37 | +-------- |
38 | 38 |
|
39 | 39 | У персонажа есть флаг «В игре» — ``InGame``: |
40 | 40 |
|
41 | 41 | - становится ``true``, если игрок прошел регистрацию на игре; |
42 | 42 | - становится ``false``, если игрок был выпущен новой ролью. В идеале он мог бы становится false, если бы Система сообщала joinrpg о смерти персонажа, но такой функционал не был реализован. |
| 43 | + |
43 | 44 | Для NPC он всегда ``false``, их надо обрабатывать отдельно (`#1034 <https://github.com/joinrpg/joinrpg-net/issues/1034>`_) |
44 | 45 |
|
45 | 46 |
|
46 | 47 | Использование joinrpg в качестве бекенда |
47 | | ------------- |
| 48 | +---------------------------------------- |
48 | 49 |
|
49 | 50 | Не рекомендуется использовать joinrpg в качестве непосредственного бекенда для вашего приложения. Мы не гарантируем соблюдения ваших требований по нагрузке и надежности. Правильный вариант, чтобы бекендом для вашего приложения был ваш сервис с вашей базой, который работает независимо от joinrpg. |
50 | 51 |
|
51 | 52 | Впрочем, если вы всегда запрашиваете данные `по одному персонажу по его Id <https://joinrpg.ru/swagger/index.html#/CharacterApi/get_x_game_api__projectId__characters__characterId_>`_, количество запросов не превышает сотен в час и вы готовы обеспечить стабильный канал до joinrpg, то это можно использовать как основной вариант. Преимущества: нет проблемы синхронизации. |
52 | 53 |
|
53 | 54 | Заливка Excel |
54 | | --------------- |
| 55 | +------------- |
55 | 56 |
|
56 | 57 | .. note:: Подходит только для простых ИТ-систем и маленьких игр. |
57 | 58 |
|
|
68 | 69 | - не подходит, если игра большая (формирование Excel займет определенное время). |
69 | 70 |
|
70 | 71 | Онлайн-импорт |
71 | | ------------------ |
| 72 | +------------- |
72 | 73 |
|
73 | 74 | .. note:: Мы рекомендуем этот вариант для сложных ИТ-систем |
74 | 75 |
|
|
0 commit comments