Механика телепортации

Общее описание механики

Телепорт — существующее в игре устройство , которое позволяет игрокам “обмениваться” предметами. Выглядит как футуристичный бак с откидной крышкой. В верхней части находится клавиатура для ввода кода настройки телепортации.


Механика "передачи" предмета между игроками

По своей сути телепорт является скрытым инвентарем. Каждый игрок обладает полным набором предметов в игре, только часть из них скрыты согласно сюжету. Для получения таких предметов игрокам предстоит обмениваться информацией (код настройки) и взаимодействовать с телепортом, после чего предмет “исчезнет” у одного и “появится” у другого.


Идея

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

Сюжетная предпосылка телепорта

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


В момент разрыва, когда героев раскидывает в разные временные линии, с ними также "унесет" и телепорт. Только в отличии от героев, его "расщепит" в процессе и разбросает по локации в нескольких местах. То есть, при исследовании игроки смогут взаимодействовать с несколькими "клонами" одного и того же телепорта.

Описание механики телепортации
К примеру, игрок А отправляет предмет игроку Б

ДИ — действие игрока
РС — реакция системы
СО — сотрудничество


Разбивка по этапам


Игрок А


  • (ДИ) кладет предмет в телепорт
  • (ДИ) закрывает крышку
  • (ДИ) нажимает "отправить"
  • (РС) предмет исчезает (+ блокировка телепорта)
  • (РС) на табло загорается код в формате ХХХ
  • (СО) сообщает код ХХХ Игроку Б
  • (СО) получает код YYY от Игрока Б
  • (ДИ) вводит код YYY
  • (РС) открывается крышка телепорта (+разблокировка телепорта)


Игрок Б


  • (ДИ) закрывает крышку телепорта
  • (ДИ) нажимает кнопку "принять"
  • (СО) получает код ХХХ от Игрока А
  • (ДИ) вводит код ХХХ
  • (РС) появляется предмет
  • (РС) открывается крышка
  • (РС) на табло загорается код YYY
  • (ДИ) забирает предмет
  • (СО) сообщает код YYY Игроку А


Блокировка телепорта

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

Защита от клонирования предмета

У каждого игрока может возникнуть желание обмануть игру и получить клон предмета. Игроки могут попробовать сделать это повторно вводя код или отменив отправку, получив код XXX.


1) Отчасти это решается блокировкой телепорта при отправке (отправил, значит отправляй).


2) Также защититься от хитрых игроков помогут дополнительные коды.


Идея такая:

  • каждому предмету будет присвоено 5 рандомных кодов в формате XXX-YYY
  • тк между ними не будет связи, подобрать их практически затруднительно
  • код меняется на следующий в списке при взаимодействии предмета с телепортом


3) Также введем запрет на повторное получение предмета. Если при получении предмета игрок введет код снова, то получит сообщение "Вы уже получили этот предмет".


Предположим, что игрок А отправил предмет игроку Б. В этот момент в системе произойдет смена кода на следующий (тк предмет взаимодействовал с телепортом) как у игрока А, так и у игрока Б. Если игрок Б попробует ввести этот код, то получи сообщение "Вы уже получили этот предмет" (пункт 3). Если игрок А попробует получить этот предмет за этот же код, то получи сообщение "код неверен" (тк код поменялся по пункту 2).


Единственный вариант для игроков — снова передать предмет, используя новый код.


Конечно, игроки могут "перекидываться предметом несколько раз, пока не сломают систему. Но это маловероятно. Тем более, что количество защитных кодов всегда можно увеличить при разработке :)
Коды предметов

ХХХ-YYY


К каждому значимому (а иногда не особо значимому) предмету в игре в системе присвоен код, который игроки могут использовать для "передачи". Мы можем снабдить кодом большинство предметов, чтобы создать ощущение свободы использования телепорта.


Код складывается из пары трехзначных комбинаций. Каждый символ может состоять из цифр от 0 до 9 и букв латинского алфавита от A до Z. Таким образом, количество значений одного символа будет 10 (цифры) + 26 (буквы) = 36.


За идентификацию предмета отвечают первые три символа (XXX). Следующие символы (YYY) нужны только для подтверждения игроку, который инициировал отправку.


Количество комбинаций у такого трехзначного кода ХХХ будет 36^3 или 46,656. Этого более чем достаточно для наших планов.