Введение
Настоящее изобретение относится к способам и системам для управления экземплярами игры. Конкретные варианты осуществления относятся к играм на ставки, например играм типа покера.
Системы онлайн-игр управляют играми для участия игроков, использующих клиентские устройства для подключения к системе через сеть (например, Интернет). Популярные типы игры включают в себя игры на ставки, такие как игры типа покера. Однако такие игры могут включать в себя существенное количество времени бездействия для игрока. Например, после раннего сброса карт в покерной партии, игрок может бездействовать в течение значительного времени, пока партия не закончится. Это не только может уменьшать качество впечатлений пользователя, но также неэффективно использует ресурсы системы, поскольку от системы требуется поддерживать соединение с большими количествами игроков, несмотря на то, что отдельные игроки бездействуют большую часть времени.
Настоящее изобретение призвано решить некоторые из этих проблем. Конкретные варианты осуществления изобретения обеспечивают систему, которая обеспечивает игрокам надежный поток игр для участия путем автоматического назначения игрока на новый экземпляр игры (например, новый виртуальный "стол" покера), как только игрок становится неактивным в предыдущем экземпляре игры, например путем выхода из игры (например, сброса карт в покере). Однако при непрерывном назначении игроков на новые столы покера таким образом желательно применить управление над расположением игроков за столами, чтобы избежать того, что игроки получают несправедливые преимущества или невыгодные положения (поскольку позиция игрока стратегически существенна в некоторых играх, например в таких вариантах покера, как техасский холдем). Обеспечение методики, которая достигает это таким способом, который удовлетворяет требованиям справедливости и ожиданиям игрока, при этом являясь вычислительно эффективным, представляет существенные технические сложности.
Изложение сущности изобретения
Соответственно, в первом аспекте изобретения, обеспечен компьютерно-реализованный способ управления экземплярами игры, имеющей множество игровых позиций, которые могут быть заняты игроками, причем способ содержит: ассоциирование с игроком множества весов, относящихся к соответственным игровым позициям, причем каждый вес указывает на соответственное предпочтение в пользу размещения игрока в соответственной игровой позиции; в ответ на участие игрока в первом экземпляре игры в некоторой заданной игровой позиции, обновление каждого из множества весов для указания измененного предпочтения в пользу размещения в каждой соответственной позиции; и назначение игрока на второй экземпляр игры на основе одного или нескольких из обновленных весов.
Таким образом, способ обеспечивает статистически справедливое назначение игроков на игровые позиции в течение множества партий. Кроме того, назначение игрока осуществляется вычислительно эффективным образом.
В предпочтительных вариантах осуществления игра является игрой на ставки, например игрой типа покера. В таких случаях экземпляры игры могут также называться "столами", и игровые позиции могут также называться "местами".
Веса обычно содержат численную информацию, обычно одну (или несколько) численную меру (мер). Предпочтительно, вес представлен в форме числа, указывающего уровень предпочтения в пользу (или против) размещения игрока в соответственной игровой позиции. В предпочтительных примерах, описанных здесь, более низкое весовое значение указывает большее (более сильное) предпочтение в пользу игровой позиции (и, таким образом, предпочтение увеличивается при уменьшении весового значения и уменьшается при увеличении весового значения). В предпочтительных примерах, нулевое значение может указывать максимальное (сильнейшее) предпочтение в пользу размещения. Однако следует понимать, что в других осуществлениях может быть использован другой подход, в котором высокие весовые значения указывают большое предпочтение и низкие весовые значения указывают малое предпочтение. Ссылки на высокие/низкие весовые значения и на уменьшение, увеличение, прибавление к/вычитание из и другие математические операции, осуществляемые над весовыми значениями, должны интерпретироваться соответственным образом.
Весовое значение (или предпочтение) предпочтительно указывает на желательность, или вероятность, размещения игрока в конкретной игровой позиции. Дополнительно, веса для игрока могут указывать или кодировать информацию, касающуюся прошлых игровых позиций, занимаемых игроком (например, игрок, который в последнее время занимал некоторую конкретную игровую позицию, может иметь вес, указывающий более низкое предпочтение в пользу размещения в этой позиции в будущем, чем игрок, который более давно занимал эту игровую позицию).
Предпочтительно, вес ассоциирован с каждой доступной игровой позицией. Веса игровых позиций также упоминаются здесь (в контексте игр типа покера) как "веса мест" (SW).
Путем использования весовых значений для того, чтобы принимать решения о размещении игрока, назначение игрока может осуществляться эффективно, при этом удовлетворяя желаемым критериям размещения. Кроме того, путем модификации множества весов, относящихся к множеству игровых позиций после того, как игрок принял участие в игре в конкретной игровой позиции (вместо того, чтобы просто, например, модифицировать вес для позиции, только что занимаемой), управление назначением игрока может осуществляться более точно, например, чтобы обеспечить перемещение игрока по конкретной желаемой последовательности позиций.
Этап обновления предпочтительно выполняется в зависимости от заданной игровой позиции, занимаемой игроком в первом экземпляре игры. В частности, различные модификации предпочтительно применяются к весу для только что занимаемой игровой позиции, а не для других игровых позиций. В одном примере первая модификация применяется к весу для только что занимаемой позиции, и вторая модификация применяется ко всем другим позициям.
Этап обновления предпочтительно содержит обновление веса для заданной игровой позиции для указания уменьшенного предпочтения в пользу размещения в этой позиции. Это уменьшает вероятность, что игрок будет размещен в той же самой позиции снова.
Этап обновления предпочтительно содержит обновление весов для одного или нескольких (предпочтительно всех) позиций за исключением заданной игровой позиции для указания увеличенного предпочтения в пользу размещения в одной или нескольких позициях. Это увеличивает вероятность, что игрок будет занимать другую позицию во втором (или последующем) экземпляре игры.
Предпочтительно, обновление весов для позиций за исключением заданной игровой позиции сохраняет порядок этих весов по отношению друг к другу. Это может обеспечивать возможность для перемещения игрока по конкретной желаемой последовательности позиций.
Веса предпочтительно обновляются так, чтобы после обновления вес для заданной игровой позиции указывал самое низкое предпочтение в пользу размещения в этой позиции по отношению к весам для других позиций.
Обновление веса может содержать умножение веса на коэффициент обновления. Коэффициент обновления может быть выбран в зависимости от некоторого количества игровых позиций в игре. Обновление веса, соответствующего заданной игровой позиции, может содержать одно или оба из: умножения веса на коэффициент обновления, и прибавление предварительно определенного весового значения. Иными словами, для только что занимаемой игровой позиции обновление веса может содержать умножение веса на тот же самый или на другой коэффициент обновления и/или прибавление (вычитание) постоянного члена к (из) веса. Постоянный член может быть выбран в зависимости от количества игровых позиций в игре.
Предпочтительно, способ содержит инициализацию весов перед участием игрока в игре. Например, веса могут быть инициализированы перед участием игрока в первом экземпляре игры после присоединения к игровому сеансу. Затем в течение игрового сеанса игрок предпочтительно переходит от экземпляра игры к экземпляру игры с весами, обновляемыми после каждого экземпляра игры, способом, изложенным выше, пока игрок не прерывает участие в игровом сеансе.
Инициализация может содержать установление веса для выбранной стартовой позиции на некоторое заданное значение, указывающее первое предпочтение в пользу размещения игрока в стартовой позиции, и установление весов для других позиций на одно или несколько других значений, указывающих более низкое предпочтение в пользу размещения в этих позициях по отношению к первому предпочтению. Таким образом, становится более вероятным, что алгоритм размещения будет размещать игрока в стартовой позиции. По той же причине вес стартовой позиции может быть установлен на значение, указывающее максимальное предпочтение в пользу позиции (например, минимальное или максимальное доступное весовое значение, как, например, ноль).
Установление веса для выбранной стартовой позиции может содержать вычисление среднего веса для этой стартовой позиции, где
,
где N - конфигурируемый параметр, а РазмерСтола - количество игроков за полным столом. Обычно N в три раза превосходит РазмерСтола.
Установление веса для последующих игровых позиций, следующих порядку игры, содержит установление веса следующим образом: SWj+1=(N-1)SWj/N.
Инициализация предпочтительно содержит установление весов на соответственные значения, указывающие порядок предпочтений игровых позиций, удовлетворяющий предварительно определенному порядку игровых позиций. Порядок предпочтений может указывать наибольшее предпочтение в пользу размещения в первой (стартовой) позиции, как изложено выше. Например, в игре типа покера порядок предпочтений может указывать предпочтение в пользу размещения на месте блайнда, в частности большого блайнда, с предпочтением, уменьшающимся от него по дальнейшим позициям мест в обычном порядке мест/игры покера.
Этап назначения предпочтительно содержит: для некоторой заданной игровой позиции во втором экземпляре игры выбор игрока из множества игроков на основе сравнения веса игрока для заданной игровой позиции с весами для заданной позиции, ассоциированными с одним или несколькими другими игроками. Например, может быть выбран игрок с наибольшим предпочтением в пользу позиции.
Этап назначения может содержать назначение игрока дополнительно на основе значения времени, ассоциированного с игроком.
Предпочтительно этап назначения содержит: для некоторой заданной игровой позиции во втором экземпляре игры вычисление меры предпочтения, указывающей предпочтение в пользу размещения игрока в заданной игровой позиции в зависимости от веса игрока для заданной игровой позиции и значения времени, ассоциированного с игроком.
Мера предпочтения предпочтительно вычисляется путем модификации весовой позиции на основе значения времени. Мера предпочтения также называется здесь "эффективным весом" или "эффективным весом места (ESW)". Мера предпочтения предпочтительно вычисляется так, чтобы увеличение в значении времени приводило к увеличенному предпочтению в пользу размещения игрока.
Значение времени предпочтительно указывает время бездействия или время ожидания игрока, предпочтительно время с того момента, как игрок прекратил участие в первом экземпляре игры, или другое указание времени, которое игрок бездействовал или ожидал назначения на экземпляр игры. Таким образом, вероятность того, что игрок будет размещен в конкретной игровой позиции экземпляра игры, тем больше увеличивается, чем дольше игрок бездействовал/ожидал. Это может уменьшать время бездействия для игроков. Значение времени может быть взвешено посредством весового коэффициента, который может быть постоянным или переменным, например, изменяться в зависимости от количества участвующих игроков. Весовой коэффициент может быть выбран (например, опытным путем) для достижения достаточного баланса между временами ожидания игрока и точностью размещения.
Предпочтительно, способ содержит, для некоторой заданной игровой позиции во втором экземпляре игры, вычисление меры предпочтения, относящейся к заданной игровой позиции, для каждого из множества игроков (предпочтительно способом, изложенным выше); выбор игрока, имеющего значение предпочтения, указывающее наибольшее предпочтение в пользу размещения в заданной игровой позиции; и назначение выбранного игрока на второй экземпляр игры в заданной игровой позиции.
Способ может содержать назначение игрока на второй экземпляр игры в ответ на действие игрока в первом экземпляре игры. Действие игрока может содержать выход из игры (или игрового раунда или партии), например путем сброса карт в игре типа покера (сброс карт может происходить вне очереди, как описано в остальном настоящем тексте, для игрока, назначенного на и имеющего возможность участвовать во втором экземпляре игры перед тем, как действие сброса карт было осуществлено в первом экземпляре игры в надлежащем порядке ходов). Способ может содержать подключение игрока ко второму экземпляру игры, при этом сохраняя подключение игрока к первому экземпляру игры.
Этап назначения предпочтительно выполняется в соответствии с алгоритмом размещения.
Алгоритм размещения может быть выбран, и/или один или несколько параметров алгоритма размещения могут варьироваться, в зависимости от некоторого критерия, такого как количество участвующих игроков.
Алгоритм размещения предпочтительно инициируется в ответ на условие запуска, причем условие запуска предпочтительно содержит одно или оба из: истечения предела времени; и количества бездействующих игроков, превышающего некоторый порог. Например, алгоритм размещения может запускаться в ответ на то, что выполнено любое из вышеупомянутых условий. Пределом времени может быть некоторый заданный период времени с того момента, как алгоритм размещения выполнялся последний раз.
В дополнительном аспекте изобретения обеспечен компьютерно-реализованный способ управления экземплярами игры, имеющей множество игровых позиций, которые могут быть заняты игроками, причем способ содержит: инициирование экземпляра игры; для каждой игровой позиции в экземпляре игры, назначение игрока на игровую позицию, причем назначение содержит, для некоторой заданной игровой позиции: для каждого из множества игроков, доступных для назначения на заданную игровую позицию, вычисление меры предпочтения, указывающей предпочтение в пользу размещения игрока в соответственной позиции, причем мера предпочтения вычисляется в зависимости от (i) весовой информации позиции, ассоциированной с игроком, и (ii) информации времени ожидания, указывающей время, которое игрок ожидал назначения на игру; выбор одного из множества доступных игроков в зависимости от вычисленных мер предпочтения; и назначение выбранного игрока на заданную игровую позицию.
Этап выбора предпочтительно содержит выбор игрока, имеющего меру предпочтения, указывающую наибольшее предпочтение в пользу размещения в заданной игровой позиции, например этап выбора может содержать выбор игрока, имеющего самую низкую или самую высокую меру предпочтения. В этом и любом другом аспекте алгоритм размещения может начинать размещение игрока в предварительно определенной стартовой игровой позиции (например, большой блайнд) или может в качестве альтернативы начинать размещение в случайным образом выбранной стартовой позиции. Последующие позиции могут размещаться в обычном порядке игры, некотором другом предварительно выбранном порядке или снова в случайном порядке. Способ в этом аспекте может задействовать любой из этапов любого другого аспекта способа, изложенного здесь.
В дополнительном аспекте изобретения обеспечен компьютерно-реализованный способ управления экземплярами игры, имеющей множество игровых позиций, которые могут быть заняты игроками, причем способ содержит: для каждого из множества игроков, ассоциирование с игроком: множества весов, относящихся к множеству соответственных игровых позиций, причем каждый вес указывает на соответственное предпочтение в пользу размещения игрока на соответственной игровой позиции; и указателя бездействия для указания, участвует ли игрок в текущий момент в игре или бездействует; инициирование экземпляра игры; для каждой игровой позиции, ассоциированной с экземпляром игры, выбор одного из множества игроков в зависимости от указателей бездействия игроков и весов для игровой позиции, и назначение выбранного игрока на игровую позицию; и обновление каждого из множества весов, ассоциированных с назначенным игроком, для указания измененного предпочтения в пользу размещения назначенного игрока на каждой соответственной позиции.
Способ может дополнительно содержать, в ответ на прекращение некоторым заданным игроком участия в экземпляре игры, установление указателя бездействия для игрока для указания, что игрок бездействует.
Этап выбора предпочтительно выбирает только бездействующих игроков согласно их указателям бездействия. Способ может дополнительно содержать ассоциирование времени бездействия с игроками, указанными как бездействующие указателем бездействия, и причем этап выбора выбирает игрока для игровой позиции дополнительно в зависимости от времен бездействия игроков. Способ в этом аспекте может задействовать любой из этапов любого другого аспекта способа, изложенного здесь.
В дополнительном аспекте изобретения обеспечен компьютерно-реализованный способ управления экземплярами игры, имеющей множество игровых позиций, которые могут быть заняты игроками, причем способ содержит: ассоциирование с каждым из множества игроков множества счетчиков, относящихся к соответственным игровым позициям, причем счетчик игрока, соответствующий некоторой заданной игровой позиции, обновляется (предпочтительно приращивается) в ответ на участие игрока в игре в заданной игровой позиции; назначение игроков из множества игроков на экземпляр игры на основе счетчиков, причем этап назначения содержит, для некоторой заданной игровой позиции в экземпляре игры: определение весов позиций для каждого из набора игроков, причем определение веса позиции для игрока содержит вычисление веса позиции на основе счетчика игрока для заданной игровой позиции и количества игр, в которых участвует игрок (например, с момента присоединения к игровому сеансу или с некоторого другого определенного момента); выбор одного из набора игроков на основе весов позиций; и назначение выбранного игрока на заданную игровую позицию в экземпляре игры. Эта процедура предпочтительно выполняется для каждой игровой позиции.
Определение веса позиции для игрока предпочтительно содержит: определение соотношения количества игр, в которых участвует игрок (например, с момента присоединения к сеансу или с некоторого другого определенного момента), и количества игровых позиций, доступных в игре (например, размера стола в покере), и модификацию значения счетчика игрока на основе этого соотношения. В этом контексте количество игр, в которых участвует игрок, может относиться к некоторому количеству раундов или партий в игре, такой как игра типа покера. Способ может содержать вычитание соотношения из значения счетчика игрока.
Набор игроков может содержать всех игроков из множества игроков или всех доступных или бездействующих игроков из множества игроков.
Способ может содержать выбор набора игроков из множества игроков. Выбор набора игроков может содержать выбор игроков, которые в текущий момент бездействуют, и/или выбор игроков на основе указателей бездействия, ассоциированных с каждым из множества игроков (как изложено в остальном настоящем тексте). Выбор набора игроков предпочтительно содержит выбор случайным образом из доступных игроков. Предпочтительно, некоторое количество игроков выбираются для набора, соответствующего количеству доступных игровых позиций в экземпляре игры. Например, некоторое количество игроков, достаточное для заполнения всех доступных игровых позиций, может быть выбрано (например, случайным образом) из всех доступных (например, бездействующих) игроков, и затем игроки назначаются на игровые позиции из набора. Этот подход, и вышеупомянутые признаки, относящиеся к выбору набора игроков для назначения на экземпляр игры, могут также быть использованы в контекстах других аспектов способов, изложенных выше и ниже, и могут быть обеспечены как независимый аспект изобретения.
Предпочтительно, вес позиции определяется дополнительно в зависимости от значения времени, указывающего время, которое игрок бездействовал, предпочтительно способом, изложенным в остальном настоящем тексте.
В любом из вышеупомянутых аспектов назначение игроков может дополнительно содержать применение одного или нескольких правил размещения игроков, причем правило размещения игроков указывает предпочтение в пользу или против размещения игрока на конкретной позиции (например, баттон или блайнды) на основе позиций, в которых игрок играл в предыдущих экземплярах игры.
Способ в этом аспекте может задействовать любой из этапов любого другого аспекта способа, изложенного здесь.
В дополнительном аспекте изобретения обеспечен компьютерно-реализованный способ управления экземплярами игры, имеющей множество игровых позиций, которые могут быть заняты игроками, причем способ содержит: ассоциирование с каждым из множества игроков значения позиции, относящегося к игровым позициям, в которых игрок играл в прошлых экземплярах игры; в ответ на участие игрока в первом экземпляре игры в некоторой заданной игровой позиции обновление значения позиции для игрока на основе заданной игровой позиции, причем значение позиции обновляется для того, чтобы накапливать различие между позицией, в которой играется каждый экземпляр игры, и предварительно определенным значением игровой позиции, предпочтительно средним значением игровой позиции или серединной позицией (например, серединной позицией за столом в игре типа покера); и назначение игрока на второй экземпляр игры на основе значения позиции. Способ в этом аспекте может задействовать любой из этапов любого другого аспекта способа, изложенного здесь.
В дополнительном аспекте изобретения обеспечен компьютерно-реализованный способ управления экземплярами игры, причем способ содержит: подключение клиентского приложения, ассоциированного с игроком, к первому экземпляру игры, управляемому сервером; в ответ на прекращение участия игрока в первом экземпляре игры, назначение игрока на второй экземпляр игры; подключение клиентского приложения ко второму экземпляру игры; и сохранение подключения клиентского приложения к первому экземпляру игры в течение участия игрока во втором экземпляре игры. Способ может содержать прием указания в клиентском приложении, что игра в первом экземпляре игры закончена; и в ответ на указание, прерывать подключение клиентского приложения к первому экземпляру игры. Назначение предпочтительно выполняется в ответ на взаимодействие пользователя, указывающее желание выйти из игры (например, сброс карт или сброс карт вне очереди). Способ в этом аспекте может задействовать любой из этапов любого другого аспекта способа, изложенного здесь.
В дополнительном аспекте обеспечен машиночитаемый носитель, содержащий программный код, выполненный с возможностью, при исполнении на устройстве обработки данных, выполнять способ управления экземплярами игры, имеющей множество игровых позиций, которые могут быть заняты игроками, причем программный код содержит код для: ассоциирования с игроком множества весов, относящихся к множеству соответственных игровых позиций, причем каждый вес указывает на соответственное предпочтение в пользу размещения игрока на соответственной игровой позиции; в ответ на участие игрока в первом экземпляре игры в некоторой заданной игровой позиции, обновления каждого из множества весов для указания измененного предпочтения в пользу размещения в каждой соответственной позиции; и назначения игрока на второй экземпляр игры на основе одного или нескольких из обновленных весов.
В дополнительном аспекте обеспечена система для управления экземплярами игры, имеющей множество игровых позиций, которые могут быть заняты игроками, причем система содержит: средство для ассоциирования с игроком множества весов, относящихся к множеству соответственных игровых позиций, причем каждый вес указывает на соответственное предпочтение в пользу размещения игрока на соответственной игровой позиции; средство для, в ответ на участие игрока в первом экземпляре игры в некоторой заданной игровой позиции, обновления каждого из множества весов для указания измененного предпочтения в пользу размещения в каждой соответственной позиции; и средство для назначения игрока на второй экземпляр игры на основе одного или нескольких из обновленных весов.
Изобретение дополнительно обеспечивает машиночитаемый носитель, содержащий программный код, выполненный с возможностью, при исполнении на устройстве обработки данных, выполнять любой способ, изложенный здесь; систему, содержащую средство для выполнения любого способа, изложенного здесь; и игровой сервер, серверное устройство или клиентское устройство, содержащее процессор и ассоциированную память, сконфигурированные для выполнения (или участия в) любого способа, изложенного здесь.
В более общем смысле изобретение также обеспечивает компьютерную программу и компьютерный программный продукт для осуществления любого из способов, описанных здесь, и/или для осуществления любого из признаков устройства, описанных здесь, и машиночитаемый носитель с сохраненной на нем программой для осуществления любого из способов, описанных здесь, и/или для осуществления любого из признаков устройства, описанных здесь.
Изобретение также обеспечивает сигнал, осуществляющий компьютерную программу для осуществления любого из способов, описанных здесь, и/или для осуществления любого из признаков устройства, описанных здесь, способ передачи такого сигнала и компьютерный продукт, имеющий операционную систему, которая поддерживает компьютерную программу для осуществления любого из способов, описанных здесь, и/или для осуществления любого из признаков устройства, описанных здесь.
Любой признак устройства, описанный здесь, может также быть обеспечен в качестве признака способа и наоборот. Используемые здесь признаки "средство плюс функция" могут быть выражены в качестве альтернативы в терминах их соответствующей структуры, такой как надлежащим образом программируемый процессор и ассоциированная память.
Любой признак в одном аспекте изобретения может применяться к другим аспектам изобретения в любой надлежащей комбинации. В частности, аспекты способов могут применяться к аспектам устройства, и наоборот. Кроме того, любые, некоторые и/или все признаки в одном аспекте могут применяться к любому, некоторым и/или всем признакам любого другого аспекта, в любой надлежащей комбинации.
Следует также понимать, что конкретные комбинации различных признаков, описанных и определенных в любых аспектах изобретения, могут осуществляться и/или обеспечиваться и/или использоваться независимо.
Кроме того, признаки, осуществляемые в аппаратных средствах, могут в общем случае осуществляться в программных средствах и наоборот. Любая ссылка на программные и аппаратные признаки здесь должна толковаться соответственно.
Изобретение распространяется на способы и/или устройство, по существу как описанные здесь со ссылками на сопроводительные чертежи.
Подробное описание
Эти и другие аспекты настоящего изобретения станут очевидны из следующих примерных вариантов осуществления, которые описаны со ссылками на следующие чертежи, на которых:
фиг. 1 изображает блок-схему способа для уменьшения времени бездействия игрока в системе онлайн-игры;
фиг. 2 изображает пример экрана бай-инов;
фиг. 3 изображает стол, где игрок сидит и ожидает противников;
фиг. 4 изображает пример идущей игры;
фиг. 5 изображает информацию, которая генерируется в отношении конкретного типа игры;
фиг. 6 изображает алгоритм размещения;
фиг. 7 изображает структуру данных для управления игроками;
фиг. 8 изображает игроков, подключенных к более чем одному столу одновременно;
фиг. 9 изображает анализ параметров процесса размещения;
фиг. 10 изображает влияние коэффициента времени ожидания на скорость размещения;
фиг. 11 изображает влияние коэффициента времени ожидания на равномерность распределения позиций; и
фиг. 12 изображает систему для управления играми и уменьшения времени бездействия игрока.
Обзор
Компоновки, описанные здесь, предназначены для обеспечения игроков постоянным потоком игр, в частности игр в покер, в онлайн-среде посредством нового типа игры, называемого здесь "игрой с быстрым размещением".
Фиг. 1 изображает схему процесса того, как осуществляется операция игры с быстрым размещением. Игрок входит (100) и выбирает этот тип игры, затем завершает необходимую регистрацию или бай-ин (102). Игрок затем ожидает размещения (114). Игрок размещается за столом (104), и игра начинается (106). Как только игрок принимает решение сбросить карты (108), в свой ход или вне очереди (и с учетом, что игрок не принял решение закончить игру (110) и также не принял решение переждать (112)), система начинает искать новую игру для этого игрока, в то время как игрок ожидает размещения (114).
В некоторых играх настройки игрока и информация, доступная игроку, зависят от места игрока за (или позиции за) столом. Таким образом, в некоторых вариациях игры в покер стратегическая позиция игрока и/или шансы на победу могут зависеть от позиции его места за столом. Для игр в покер со структурой блайндов позиция может быть в особенности важна. Для игр, где позиция не влияет на процесс игры, таких как дро-покер или стад, игроки могут перемещаться от одного стола к следующему столу без учета позиции. Для игр, где позиция влияет на процесс игры, таких как игры со структурой блайндов, позиция за столом должна приниматься в расчет, когда игроки перемещаются от одного стола к следующему столу. Для обеспечения справедливости игрокам обеспечен алгоритм размещения. В частности, алгоритм размещения может быть выполнен с возможностью обеспечить, чтобы распределение назначенных позиций мест было статистически равномерным.
В описанной игре в покер с быстрым размещением игроки перемещаются от одного стола к другому столу сразу же после сброса карт или завершения партии. Это уменьшает продолжительность времени, которое игрокам приходится ожидать, пока все противники не сделают свои ходы и игра не закончится. Если, например, игрок играет приблизительно 65-70 партий в час за обычном столом фулл-ринга без лимита (NL), то при перемещении игрока сразу после сброса карт или окончания партии игрок может играть приблизительно 200 партий в час (в зависимости от количества игроков и других переменных).
В одном варианте осуществления последовательность действий следующая:
- Присоединившийся игрок немедленно усаживается (или размещается, или назначается) за стол.
- Партия начинается, как только достаточно игроков присоединилось к столу.
- После того, как игроки закончили участие в их партии (путем сброса карт или окончания вскрытием), они перемещаются за новый стол.
- Если за столом с игроками есть открытое место: они усаживаются за этот стол.
- Если нет столов с открытыми местами: новый стол создается, и игрок усаживается.
Некоторые альтернативные подходы также описаны ниже.
Одно преимущество состоит в увеличении количества партий, играемых за одним столом. Следующие требования учитываются:
- Отслеживать позицию игрока, когда возможно (играть как стол игры обычного ринга).
- Сохранять распределение мест максимально справедливым во всех кругах.
Далее обеспечено быстрое прохождение процесса с точки зрения игрока. Более подробное описание на каждом этапе следует дальше.
Главное лобби: игрок выбирает участие и завершает любую необходимую регистрацию или бай-ин. (Фиг. 2 изображает пример экрана этапа бай-ина 102.)
Усаживание за стол: игрок размещается за столом. Он, возможно, единственный игрок за этим столом. Может отображаться графика или простой текст, указывающие или поясняющие, что система ищет игроков и игра скоро начнется. (Фиг. 3 изображает пример экрана со столом, где игрок усажен и ожидает размещения за столом 114 или ожидает противников.)
Игроки появляются: противники заполняют стол, и игра начинается. (Фиг. 4 изображает пример экрана игры в процессе 106.) После того, как игрок сбрасывает карты, он перемещается за некоторый стол (пустой или частично пустой) для ожидания новой игры, и процесс повторяется.
Следующая таблица иллюстрирует упрощенный пример со столом холдема для 6 игроков. Для каждого типа игры десятки или сотни игроков играют одновременно, так что множество новых столов постоянно создается.
Пример последовательности действий и соответствующие результаты
С точки зрения Ричарда:
- Он начинает играть и усаживается за стол 1. Партия начинается.
- Он сбрасывает карты и перемещается за стол 2. Партия начинается.
- Он сбрасывает карты и перемещается за стол 3.
- Как только Фил, Дэниел и Крис добавляются за стол 3, партия начинается.
С точки зрения игрока, он просто перемещается за новый стол каждую партию, без открывания или закрывания окон.
Следует заметить, что в вышеприведенном примере игроки размещаются за новым столом сразу после сброса карт за предыдущим столом и затем ожидают, пока стол заполнится, прежде чем игра начинается. В альтернативных вариантах осуществления система создает новый стол только тогда, когда достаточно бездействующих игроков, чтобы его заполнить, и затем назначает игроков на стол согласно алгоритму размещения.
Таким образом, в этом подходе все игроки нового стола перемещаются на их места одновременно. С точки зрения игрока, когда он сбрасывает карты:
- Игрок теперь за столом в одиночку (как показано на фиг. 3)
- Все противники удалены из-за стола
- Все фишки, карты и т.д. удалены со стола
- Нет никаких новых игроков
Когда новый стол был собран (после какой-либо задержки, необходимой для сбора нового стола):
- Все противники размещаются на местах вокруг него
- Баттон размещается
- Блайнды занимаются
- Карты сдаются
- Партия начинается
Жизненный цикл стола
Столы создаются, когда необходимо, например, если нет столов с открытыми местами, и игрок ищет стол; или если нет столов с открытыми местами, но есть экземпляр игрока, который пытается присоединиться к каждому из них. Жизненный цикл стола следующий:
- Стол создается/становится активным - стол теперь пуст и принимает игроков
- Стол заполняется игроками
- Стол больше не принимает дополнительных игроков
- Партии начинают играться
- Все покидают стол - Стол помечается как неактивный. Стол либо уничтожается, либо повторно используется.
Пережидание
Игрок может принять решение переждать по многим причинам, включающим в себя следующие:
- Игрок выделил флаговую кнопку "Переждать следующий большой блайнд", и в следующей партии он является большим блайндом.
- Игрок выделил флаговую кнопку "Переждать следующую партию", и его предыдущая партия закончилась
- Игрок превысил лимит времени в течение партии и перешел в состояние тайм-аута
Игрок, который пережидает, может оставаться за текущим столом или перемещаться к столу ожидания в одиночку. Стол ожидания требует дополнительного перемещения. Сохранение игрока за текущим столом может вызывать путаницу, если множество игроков пережидают одновременно. Если игрок остается за текущим столом, но все другие игроки удаляются с дисплея игрока (даже если некий противник пережидает в то же самое время), эта проблема решается.
Игрок со статусом "пережидание" остается за текущим столом. Этот стол имеет обычные функциональные возможности стола, такие как добавление фишек, изменение оформления и т.д. На этом столе обеспечена кнопка, называемая [Я вернулся]. Щелчок по этой кнопке инициирует размещение игрока за новым столом. Стол, где есть игроки, которые пережидают, не имеет разрешения на уничтожение. Если множество игроков пережидают в одной партии, они могут либо исчезнуть, либо остаться видимыми на отображениях стола друг у друга, когда текущая партия заканчивается:
- игроки исчезают с дисплея друг друга: когда игрок щелкает [Я вернулся], с его точки зрения, он перемещается за другой стол, и появляются другие новые активные игроки.
- игроки остаются видимыми на дисплее друг у друга: когда игрок щелкает [Я вернулся], с его точки зрения, он перемещается за другой стол, другие пережидающие игроки исчезают, и появляются другие новые активные игроки. С точки зрения других "пережидающих" игроков, этот игрок удаляется из-за стола.
Переждать следующий большой блайнд
Игроки обеспечены возможностью оптимизировать свои игры в блайндах. Игроки имеют возможность выбора переждать следующий большой блайнд, что затем автоматически деактивирует игрока, если он усаживается на большом блайнде. В процессе размещения следующая позиция места может не согласоваться со стандартной последовательностью. Если игрок использует функциональную возможность "Переждать следующий большой блайнд", его следующее усаживание может иметь предпочтение в пользу усаживания на BB.
Если игрок выбрал "Переждать следующий BB" и сервер поместил бы его на большой блайнд в следующей партии, то игрок не размещается и вместо этого пережидает. Он больше не ищет стол и должен либо закрыть окно, чтобы уйти, либо нажать кнопку "Я вернулся", чтобы продолжить игру.
Если позиционная непрерывность сохраняется по всем сеансам, приспособленность может быть необходимой. Например:
- Игрок выходит из-за стола в позиции 4
- Игрок начинает играть снова на следующий день
- Первая партия игрока была бы в позиции 5 вместо большого блайнда
Не иметь возможности "переждать следующий большой блайнд" раздражало бы игроков, которые привыкли "оптимизировать свои блайнды" и хотят уйти прямо перед их большим блайндом. Это то, как игроки хотят заканчивать сеансы и как они в текущий момент заканчивают сеансы в казино (вручную) и за другими столами ринговых игр.
Превышение лимита времени
Когда игрок превышает лимит времени, он помещается в стандартное состояние "пережидания".
- Игрок в этом состоянии сбрасывает карты, если должен сделать ставку.
- Если игрок заканчивает партию в состоянии "пережидания", он остается за своим текущим столом.
- Есть кнопка [Я вернулся]. Нажатие этой кнопки делает игрока снова активным и перемещает его за активный стол, где он играет свою следующую партию.
Закрытие стола
Когда игрок закрывает стол (после, возможно, дополнительного подтверждения, что он желает покинуть сеанс), игрок отсоединяется от стола (игрок сбросит карты) и устанавливается в состояние "не ищу новый стол". Его сеанс завершен.
Быстрый сброс карт
Быстрый сброс карт (или скорый сброс карт) доступен всем игрокам, кроме находящихся в большом блайнде, где кнопка быстрого сброса появляется, только когда кто-либо поднимет ставку. Фиг. 4 изображает кнопку 400 "Скорый сброс", которую игрок может выбрать. Результатом выбора "Быстрого сброса" являются:
- На экране игрока: Игрок сбрасывает карты и немедленно ищет другой стол; он перемещается к другому столу, как только возможно, без ожидания своего хода.
- На экранах всех других игроков: Нет визуальных изменений в отношении игрока, нажавшего "Быстрый сброс", пока не подошел его ход, затем его карты сбрасываются.
Игрок может быть обеспечен советами, касающимися использования этой возможности, например сообщением, говорящим "Совет: Сбросьте карты и перейдите к другому столу". Стол, где доступна возможность "Быстрого сброса", может быть особым образом указан; в игры с этой возможностью можно войти через специальный выбор.
История партий
Возможно, что каждый игрок за столом играл за совершенно разными столами в прошлой партии. Кроме того, последняя партия, в которой играл игрок, может еще не быть завершена. Это принимается в расчет, когда обеспечивается информация истории партий.
Игровое лобби
Фиг. 5 изображает пример экрана 500 того типа информации, который генерируется и обеспечивается в отношении конкретного типа игры. Эта информация может, например, отображаться будущему участнику. Вместо отслеживания отдельных столов статистика отслеживает каждый стол, ассоциированный с конкретным типом игры (например, игра с быстрым размещением). Средний размер банка смотрится по всем играемым партиям по всем столам. Поскольку игрок может быть ассоциирован с более чем одним столом за раз (например, с функциональными возможностями "быстрого сброса", описанными выше, или путем присоединения к игре более одного раза, как описано выше), количество экземпляров каждого игрока может быть показано. Среднее количество партий в час может быть вычислено путем усреднения по всем игрокам или по экземплярам игроков.
Размещение игроков
Следующий раздел описывает различные подходы к размещению игрока. Признаки этих подходов могут комбинироваться любым надлежащим образом.
Сервер периодически ищет игроков, которые находятся в состоянии "готов к следующей партии" или "бездействия". Если есть достаточно ожидающих игроков для заполнения стола, новый стол создается, и игроки перемещаются. Приоритет игрока определяется параметром "ВремяОжидания" и его заявкой на конкретную позицию. Игроки усаживаются оптимально, если это возможно. Новый игрок в общем случае сначала размещается в большом блайнде. Если есть множество новых игроков, готовых к размещению, один может быть размещен в другой позиции; иначе создавалось бы препятствие для начала новых игр, и ушло бы неоправданно много времени на то, чтобы некоторые игроки начали играть. Параметр "МаксимальноеВремяОжидания" может быть определен, с которым, если параметр "ВремяОжидания" игрока равен или больше, игрок освобождается для размещения в любой позиции. До того, как ожидание игрока продлилось столько времени, размещение в его оптимальной позиции предпочитается.
Игроки могут быть размещены за новыми столами по отдельности (поодиночке) или все одновременно. Размещение игроков по отдельности обеспечивает более быстрое время отклика за счет менее оптимального размещения. Гибридный подход изображает на дисплее игрока, что он перемещается за новый стол немедленно, и как только полный стол найден, все игроки появляются вокруг него. Игрок однако в действительности не перемещается, или размещается, пока полный стол не найден.
Новая позиция игрока
Когда новый игрок заходит в сеанс, он предпочтительно назначается на позицию BB для первой игры. Если одновременно начинает множество новых игроков, назначение позиции может быть затруднено. Существует несколько способов решить это:
- Обеспечить возможность игроку быть назначенным на BB в один из последующих раундов. Приоритет новых игроков для места BB выше, чем у любого из игроков, которые уже участвуют в обороте, так что очень маловероятно, что для его BB задержка составит более одного хода.
- Установить более высокий лимит времени для нового игрока и не размещать их, пока место BB не доступно.
- Отложить BB для них и обращаться так, будто они заняли действительное место BB (чтобы они не были назначены на него в следующем раунде).
Статистика позиций игрока и оптимальная позиция
Сохранение информации позиций игрока обеспечивает возможность размещению игроков попытаться поместить игроков на последовательные позиции. Размещение игроков на последовательные позиции делает игровой процесс подобным обычным ринговым играм, где игрок в общем случае перемещается от позиции под прицелом (UTG) к большому блайнду (BB), к малому блайнду (SB), к позиции баттона (по меньшей мере, когда высока текучесть). Следующее, в частности, должно избегаться или минимизироваться:
- Игрок в позиции BB множество раз подряд
- Игрок в любом из блайндов три или более раз подряд (например, BB, SB, BB)
- Игрок в позиции SB множество раз подряд
- Игрок играет множество партий (например, размер стола * 2), не поиграв на баттоне
- Игрок должен ожидать долгое время, несмотря на большое количество игроков
- Игрок играет в любой позиции не блайнда (такой как UTG) множество раз подряд
Если система не имеет возможности поместить игрока в оптимальную позицию в течение некоторого периода времени (например, 1000 миллисекунд), игрок может быть размещен в неоптимальной позиции. Это жертвование (кратковременной) точностью размещения обеспечивает преимущество скорости размещения.
Для помощи в размещении следующие параметры отслеживаются для каждого игрока:
- Позиция в последней отыгранной партии
- Счет позиций по последним X партиям
Следующие критерии влияют на позиционное состояние для игрока:
- Количество раз в каждой позиции за последние X партий. Чем больше раз в некоторой позиции, тем "холоднее" становится место.
- ПоследняяПозиция - особое внимание (например, посредством коэффициента умножения) к позиции, в которой игралась последняя партия. Это уменьшает вероятность, что игрок окажется в одной и той же позиции два раза подряд, чего следует избегать.
- ЕстественнаяПозиция - естественная позиция игрока (следующая позиция после прошлой партии) получает бонус. Это помогает игре ощущаться естественной, что подобно "живым" ринговым играм, когда игрок перемещается от UTG к BB, к SB и т.д.
Посредством обеспечения того, что вышеописанные критерии привлечены для размещения, естественное течение игры (как в обычной ринговой игре) обеспечивается. Неоптимальное размещение игрока с течением времени компенсируется, например, путем увеличения приоритета оптимального размещения для следующего периода; или путем обеспечения, что с течением времени для игрока достигается справедливое (равномерное) распределение размещений.
Например: в последней партии игрок находился в средней позиции (что делает UTG естественной следующей позицией). Для множителя "естественной позиции" 0,9, и множителя "последней позиции" 1,1 вычисляются следующие весовые значения размещения:
Пример вычисления веса места
Весам размещения для следующего раунда дается следующее предпочтение размещения: с максимальным предпочтением, с самым низким весом, будет позиция UTG; с вторым предпочтением будет любая из позиций кат-оффа, BB или SB; с третьим предпочтением будет средняя позиция; с последним предпочтением будет позиция баттона.
Размещение на основе весов позиций
Следующий раздел описывает более подробно конкретный вариант осуществления алгоритма размещения, который задействует некоторые из признаков, обрисованных выше.
Фиг. 6 изображает операцию алгоритма размещения. В этом случае игроки A и B приняли решение сбросить карты вне очереди за их соответственными столами (с настройкой быстрого сброса, описанной выше). Процесс размещения инициируется и исполняется. Процесс размещения назначает игроков A и B, в этом примере, на один и тот же новый стол.
Когда размещение для нового стола завершено, все игроки, выбранные для нового стола, включающие в себя игроков A и B, подключаются к этому столу, после чего начинается новая партия. Когда игроки A и B сбросили карты вне очереди, они все еще остаются подключенными к их изначальным столам, пока партии за этими столами не завершены.
Когда эти партии закончены, игроки A и B отсоединяются от их изначальных столов, и эти столы перемещаются в накопитель бездействующих столов.
Процесс размещения может запускаться, например, посредством таймера, где процесс размещения выполнен с возможностью начинаться периодически (например, каждые 1000 миллисекунд). В качестве альтернативы процесс размещения может запускаться на основе комбинации факторов, таких как таймер и количество игроков, чье состояние изменилось на бездействующее, превысившее некоторый порог. Например, размещение может запускаться, когда количество бездействующих игроков становится равным 4*РазмерСтола, или благодаря превышению лимита времени в 1 секунду, в зависимости от того, что произойдет раньше.
Фиг. 7 изображает структуру 702 данных для управления игроками более подробно. Для каждого игрока запись 700 игрока содержит все данные, относящиеся к денежным средствам, игре и состоянию подключения игрока, а также статистике, характерной для типа игры. Статистика может в частности относиться к размещению игрока в последующих игровых раундах. Эта запись создается, как только игрок подключается (после бай-ина) к игровому сеансу с быстрым размещением, и удаляется после того, как игрок покидает игровой сеанс. В процессе игры состояние игрока обновляется соответственно.
Информация состояния используется для указания, ожидает ли игрок размещения за новым столом, посредством флага "бездействие" или подобного. Процесс размещения может оперировать для определения, ожидает ли игрок размещения, и если да, пытается разместить игрока. Идентификация состояния игрока может выполняться в начале каждого цикла размещения путем осуществления доступа к данным отслеживания для каждого игрока и проверки информации состояния.
В альтернативном подходе игроки могут быть назначены немедленно за новый стол, когда они становятся бездействующими, где размещение игрока организуется иначе, когда стол полон, на основе требований размещения, определенных алгоритмом.
Далее будет описано некоторое количество различных подходов к алгоритму размещения игрока. Признаки этих подходов могут комбинироваться любым надлежащим образом.
Размещение игроков: Первый подход
Процесс размещения следует следующему потоку:
1. Игра в покер инициируется оператором и создает некоторое количество идентичных игровых столов в состоянии бездействия.
2. Игроки подписываются на игру; их состояние устанавливается как бездействующее (указывая, что они ожидают размещения).
3. Для каждого игрока матрица весов мест (SW) инициализируется следующим образом:
a. SW3 = СреднийВес (статистическое среднее веса места за долгий период игры)
СреднийВес = 1/(N*(1-(МОЩНОСТЬ((N-1)/N, РазмерСтола))))
где N - конфигурируемый параметр, обычно N=3*РазмерСтола
b. Для каждого последующего места по порядку игры:
SWj+1=(N-1) SWj/N
c. SW2=0 (установление веса на ноль для позиции 2 заставляет новых игроков, которые присоединились к игровому сеансу с быстрым размещением, начинать в позиции большого блайнда, что является стандартным в покере).
Получающееся в результате (исходное) распределение весов мест нацелено на то, чтобы подражать распределению, которое игрок достиг бы после игры множества кругов за столом с идеальным порядком изменения позиций мест. Это делает характеристики размещения нового игрока, присоединяющегося к игре, подобными тем из игроков, кто уже играл в течение долгого времени.
Если взять пример стола с 6 местами и с использованием N=18 путем применения вышеприведенных пунктов a) и b), распределение для идеальной игры вычисляется, как показано в таблице 3.
Распределение в таблице 3 отражает игрока, завершившего полный круг после того, как он начал в BB. Дополнительно принимая в расчет вышеприведенный пункт c), исходное распределение весов мест для стола с 6 местами иллюстрируется в таблице 4. Единственное отличие от идеального распределения в таблице 3 состоит в том, что вес места для позиции № 2 (большой блайнд) искусственно снижен до 0. Любой игрок, который уже играл по меньшей мере одну позицию BB, не может иметь свой вес места равным нулю, так что новые игроки, присоединяющиеся к игре, всегда имеют более высокий приоритет для занимания этого места, чем игроки, которые уже в игре.
4. Алгоритм размещения инициируется, как описано выше.
5. Алгоритм выбирает первый бездействующий стол из списка и начинает искать игрока для размещения в позиции большого блайнда (в качестве альтернативы, алгоритм может начинаться в другой позиции, например в случайным образом выбранной позиции).
6. Алгоритм перебирает игроков, которые помечены как бездействующие, и выбирает игрока с минимальным SW для этой позиции. В качестве альтернативы, эффективный вес места (ESW) может быть использован вместо SW, где:
ESWj=SWj-Q*Время ожидания, где
- Q - эмпирически выбранный коэффициент времени ожидания,
- Время ожидания - время от момента, когда игрок был помечен как бездействующий, до текущего раунда размещения.
Использование ESW вместо обычных весов мест обеспечивает возможность уравновешивания алгоритма для избегания ситуаций, когда игроки ожидают в течение долгого времени размещения в идеальную позицию. С добавлением коэффициента времени ожидания алгоритм принимает в расчет время, которое игроки провели, ожидая размещения, и размещает их более агрессивно. Влияние коэффициента времени ожидания и оптимальный выбор значения коэффициента времени ожидания описаны более подробно ниже.
7. Дополнительно, алгоритм проверяет следующие условия:
a. Игроки не могут быть назначены на позицию, которую они занимали в предыдущем раунде, если эта позиция требует от них отложить блайнд.
b. Игроки, которым выпало 2 блайнда в двух предыдущих раундах игры, не могут быть назначены ни на позицию большого блайнда, ни на позицию малого блайнда.
8. Процесс размещения повторяется для всех остальных позиций стола: малый блайнд, затем баттон, затем остальные места в направлении против часовой стрелки.
9. Когда стол был заполнен, матрица весов мест каждого игрока (который только что играл в позиции "номер позиции") обновляется следующим образом (для каждой позиции n):
a. Если (n=Номер позиции И SWn=0) то SWn = СреднийВес (как определено выше на этапе 3).
b. Иначе, если (n=Номер позиции) то SWn = ((N-1)SWn+1)/N (для увеличения веса места, только что занимаемого).
c. Иначе SWn=(N-1)SWn/N (для уменьшения веса всех остальных мест).
Если взять в качестве примера распределение весов мест после идеального раунда, представленного в таблице 3, игрок только что играл в позиции № 3 и, в идеальной игре, должен получить большой блайнд (BB) после этого. После того, как игрок отыграл в BB, его вес места для позиции BB обновляется согласно формуле на этапе 9.b: Новый вес = 1/18+(18-1)/18*0,1438=0,1914. Вес места для позиции № 3 обновляется согласно формуле на этапе 9.c: Новый вес = (18-1)/18*0,1914=0,1807 и так далее. В результате происходит циклический сдвиг налево в весовом распределении, как показано в таблице 5.
10. Затем игра за столом начинается.
После того как карты сданы, игрокам предоставляется возможность сбросить карты вне очереди в дополнение к обычным возможностям в игре в покер. Игроки, которые сбрасывают карты вне очереди, помечаются как бездействующие, но остаются подключенными к тому же самому столу, чтобы игра могла продолжаться как обычно, и их намерение сбросить карты не было раскрыто для других игроков за столом.
Игроки, которые воспользовались возможностью сбросить карты вне очереди, могут быть размещены за следующим столом до того, как игра завершается за исходным столом. В этом случае они соединены с более чем одним столом одновременно, но активны только за одним из столов. Эта ситуация иллюстрируется на фиг. 8.
На фиг. 8 игрок изначально размещается за столом A в позиции, далекой от большого блайнда. Карты сдаются, и игрок немедленно выбирает вариант быстрого сброса. В этот момент игрок помечается как бездействующий. Алгоритм размещения размещает его за столом B в следующем событии размещения. В этот момент клиент все еще соединен с исходным столом и для других игроков за столом A отображается как ожидающий своего хода. За столом B игрок также немедленно выбирает быстрый сброс, и затем размещается за столом C. В это время клиент подключен к трем столам одновременно. Когда за столом A подходит очередь игрока действовать, действие игрока (сброс карт) отображается другим игрокам, и игрок отключается от стола A. Подобным образом он отключается от стола B, когда подходит его ход за столом B, и он выполнил свое действие (сброс карт).
Игроки, которые сбрасывают карты обычным образом во время своего хода с использованием обычной возможности сброса карт, также помечаются как бездействующие.
Когда игровой раунд завершается, все игроки, остающиеся за столом, помечаются как бездействующие. Когда эти игроки размещаются за другими столами, стол становится пустым и добавляется в список бездействующих столов. Когда количество бездействующих столов падает ниже установленного порога, создается предварительно установленное количество новых бездействующих столов. Когда количество бездействующих столов превышает установленный предел, предварительно установленное количество столов может подобным образом удаляться.
В конце партии могут распределяться особые бонусы. Они могут распределяться для соответствующих игроков, а не просто для тех, кто остался в конце партии.
Игрокам обеспечена возможность присоединяться к одному и тому же типу игры более одного раза, каждый раз обеспечивая отдельный бай-ин. Может присутствовать максимум или ограничение на количество экземпляров, которое игрок может иметь.
Алгоритм размещения проверяет личность игроков, уже размещенных за столом, который обрабатывается, и не позволяет одному и тому же игроку размещаться более одного раза за одним и тем же столом.
Размещение игроков - второй подход
Когда новые столы создаются каждую партию, размещение игрока происходит в каждой партии. Это может обеспечивать преимущества для осуществления простого алгоритма назначения позиций, например, если отслеживать все позиции слишком затратно для производительности или ухудшает впечатления игрока. Другая версия алгоритма размещения использует другой способ определения весов мест, который также обеспечивает справедливое и удобное назначение игроков на места.
В этом подходе процесс размещения следует следующей последовательности:
1. Игра с быстрым размещением инициируется оператором, и создается некоторое количество идентичных игровых столов в состоянии бездействия.
2. Игроки подписываются на игру с быстрым размещением, и их состояние устанавливается как бездействующее (указывая, что они ожидают размещения).
3. Каждый игрок имеет матрицу весов мест (SWj, где j находится в диапазоне 0-8 для стола с 9 местами), соответствующих местам за столом (0-8 для стола с 9 местами); веса мест инициализируются как нули для всех мест.
4. Каждый раз, когда игрок занимает место, вес места игрока для этой позиции увеличивается на один.
5. Когда веса мест сравниваются для определения игрока, наиболее подходящего для занимания места, эффективный вес места (ESW) используется, где:
ESWj=SWj-nРаундов/РазмерСтола
где nРаундов - количество партий, сыгранных от начала сеанса.
В качестве альтернативы, время ожидания может приниматься в расчет, где:
ESWj=SWj-nРаундов/РазмерСтола-Q*Время ожидания
где Q - эмпирически выбранный коэффициент времени ожидания, и Время ожидания - время от момента, когда игрок был помечен как бездействующий, до текущего раунда размещения. Как рассмотрено выше, путем принятия в расчет времени, которое игрок бездействовал, общие времена ожидания игрока могут быть уменьшены.
6. Алгоритм размещения инициируется, как описано выше (например, активация на основе таймера; активация на основе количества игроков, имеющих состояние бездействия; или активация на основе других событий или комбинаций).
7. Алгоритм выбирает первый бездействующий стол из списка и случайным образом выбирает необходимое количество бездействующих игроков для этого стола.
8. Алгоритм размещения проверяет личность игроков, уже размещенных за столом, который обрабатывается, и не позволяет одному и тому же игроку быть размещенным более чем один раз за одним и тем же столом.
9. Начиная с позиции большого блайнда, алгоритм перебирает игроков, которые выбираются для этого стола, в поисках игрока с минимальным ESW для этой позиции.
10. Дополнительно, алгоритм проверяет следующие условия:
a. Новые игроки являются первыми кандидатами для большого блайнда. Например, для новых игроков, которые только что присоединились к сеансу, может быть установлен особый флаг ("Новый"). Игроки с этим флагом могут быть выбраны для позиции BB независимо от весов других игроков без флага. Если присутствует множество игроков с установленным флагом "Новый", один из них может быть случайным образом выбран для позиции BB. Когда игрок был назначен на позицию BB в первый раз, его флаг "Новый" может очищаться.
b. Игроки, которым выпало 2 блайнда в двух предыдущих раундах игры являются последними кандидатами для каждой из позиций большого или малого блайнда.
c. Игроки, которые были назначены на большой блайнд в предыдущем раунде, являются последними кандидатами для большого блайнда.
11. Процесс размещения повторяется для всех остальных позиций стола: малого блайнда, затем баттона, затем остальных мест против часовой стрелки.
12. Затем игра за столом начинается.
Те же самые меры применяются, как описано выше, в отношении: игроков, сбрасывающих карты вне очереди; игроков, использующих обычную возможность сброса карт; игроков, оставшихся за столом, когда раунд игры завершается; бездействующих столов; и/или множества экземпляров одного игрока.
Эффективный вес места ESWj предпочтительно вычисляется с использованием дробных значений, не округленных или целых значений. В качестве альтернативы целочисленная арифметика с разбиением на целую и дробную части может быть использована, например: ESWj=SWj*РазмерСтола-nРаундов. Значения ESW используются для сравнения, и относительные значения ESWj могут таким образом быть важны. Вычисления таким образом достаточно точны, и округление предпочтительно избегается или минимизируется.
В этом подходе размещения, (nРаундов/РазмерСтола) вычитается перед сравнением чисел. Кроме того, размещение начинается с позиции большого блайнда. В альтернативном подходе (применимом к любому из описанных алгоритмов размещения) размещение может начинаться на любой другой выбранной позиции или в случайным образом выбранной позиции.
Размещение игроков - Третий подход
В дополнительном подходе процесс размещения следует следующей последовательности:
1. Игра с быстрым размещением инициируется оператором, и создается некоторое количество идентичных игровых столов в состоянии бездействия.
2. Игроки подписываются на игру с быстрым размещением, и их состояние устанавливается как бездействующее.
3. Для каждого игрока значение СредняяПозиция инициализируется со значением ноль.
4. Алгоритм размещения инициируется, как описано выше (например, активация на основе таймера; активация на основе количества игроков, имеющих состояние бездействия; или активация на основе других событий или комбинаций).
5. Алгоритм выбирает первый бездействующий стол из списка и случайным образом выбирает бездействующих игроков для заполнения стола.
6. Алгоритм размещения проверяет личность игроков, уже размещенных за столом, который обрабатывается, и не позволяет одному и тому же игроку быть размещенным более одного раза за одним и тем же столом, обеспечивая то, что игроки за столом уникальны.
7. Начиная с максимальной позиции за столом, алгоритм проходит через список выбранных игроков и находит игрока с минимальным значением СредняяПозиция. Этот игрок назначается на эту позицию. Дополнительно, алгоритм проверяет следующие условия:
a. Игроки, которым выпали 2 блайнда в двух предыдущих раундах игры, являются последними кандидатам на обе позиции большого и малого блайнда.
b. Игроки, назначенные на позицию BB в предыдущем раунде, являются последними кандидатами для BB.
8. Процесс размещения повторяется для всех позиций за столом от максимальной до минимальной (например, от позиции 8 до позиция 0 для стола с 9 местами).
9. Когда таблица была заполнена, СредняяПозиция каждого игрока обновляется следующим образом:
СредняяПозиция = СредняяПозиция + Позиция - (МаксимумИгроковСтола-1)/2
где Позиция - текущая позиция за столом (в нумерации от нуля).
10. Затем игра за столом начинается.
Те же самые меры применяются, как описано выше, в отношении: игроков, сбрасывающих карты вне очереди; игроков, использующих обычную возможность сброса карт; игроков, оставшихся за столом, когда раунд игры завершается; бездействующих столов; и/или множества экземпляров одного игрока.
В этом подходе к размещению значение СредняяПозиция накапливает различие между действительной позицией (Позиция) и серединной позицией за столом ((МаксимумИгроковСтола-1)/2). Например, за столом с 9 местами игрок, назначенный на место выше 4 в первой партии, с большей вероятностью будет назначен на место ниже 4 в следующей партии. Статистически это обеспечивает справедливое распределение по отношению к позиции блайндов. Значение СредняяПозиция предпочтительно вычисляется с использованием дробных значений, не округленных или целых значений. В качестве альтернативы целочисленная арифметика с разбиением на целую и дробную части может быть использована. Значения СредняяПозиция используются для сравнения, и относительное значение СредняяПозиция может быть важно. Вычисления таким образом достаточно точны, и округление предпочтительно избегается или минимизируется.
Другие подходы
Другие подходы к размещению игрока могут быть использованы. Например, в дополнительном алгоритме назначения позиций на основе счетчика:
- Каждый игрок изначально усаживается за столом случайным образом
- Правила определяют, какому игроку назначается большой блайнд:
- Каждый игрок имеет счетчик "прошло времени после большого блайнда".
- Когда игрок был в BB в прошлой партии: СчетчикБольшогоБлайнда = 0.
- Когда игрок не был в BB в прошлой партии: СчетчикБольшогоБлайнда увеличивается на 1
- Когда новый игрок начинает сеанс, СчетчикБольшогоБлайнда = бесконечность (или любое подходящее высокое число).
- Когда игрок возвращается из пережидания: СчетчикБольшогоБлайнда = значение, которое было, когда игрок принял решение переждать.
- Если у двух игроков одинаковый СчетчикБольшогоБлайнда: случайное назначение одного из игроков на BB.
- Остальные из позиций следуют естественному порядку стола: малый блайнд справа от большого блайнда; баттон справа от малого блайнда и т.д.
Влияние коэффициента времени ожидания на качество размещения
Следующий раздел описывает факторы, которые необходимо учитывать при выборе коэффициента времени ожидания (Q), рассматриваемые в связи с некоторыми версиями алгоритма размещения, описанного выше. Хотя они принципиально рассматриваются в отношении первого описанного подхода размещения, эти факторы в равной степени применимы к другим версиям алгоритма размещения, где используется такой коэффициент времени ожидания или подобный.
Качество размещения в общем случае определяется двумя параметрами - скоростью размещения и справедливостью позиции мест. Скорость важна, поскольку цель состоит в том, чтобы дать игрокам возможность играть максимальное количество партий в час. Позиция мест очень важна в некоторых вариантах покера, например в холдеме. Игроки, размещенные в блайндах, статистически находятся в невыгодном положении, в то время как игрок, занимающий позицию дилера (баттон) имеет статистическое преимущество. Таким образом, чтобы игра была справедливой, распределение мест, происходящее в ходе игрового процесса, должно быть близко к равномерному в течение игрового сеанса. Алгоритм размещения разработан и отрегулирован по некоторому количеству параметров, относящихся к качеству игры. Это демонстрируется моделью, показанной на фиг. 9.
Фиг. 9 изображает пример модели для 40 игроков, играющих за столами с 9 местами. Количество игроков поддерживалось низким, поскольку любые недостатки алгоритма предполагаются наиболее заметными в этой ситуации. Для практических применений есть преимущества, если алгоритм размещения хорошо работает с низким количеством игроков. Кроме того, текучесть игры имеет разрывы между различными типами игры/уровнями ставок, так что может случиться так, что менее популярные комбинации не привлекут сотен игроков.
Средство моделирования вычисляет некоторое количество параметров, относящихся к качеству алгоритма размещения:
Количество партий в час: Самый важный параметр, показывающий общую успешность алгоритма. Типичные значения начинаются с 200 партий в час с относительно малыми количествами игроков (в 4-5 раз больше размера стола) и достигают 230 партий в час, когда количества игроков вырастает до превосходящего в 40-50 раз размер стола. Средство моделирования может использовать статистические данные, полученные из операций ринговых игр в холдем в этой игровой модели.
Время ожидания: Осуществляется управление как средним значением, так и распределением. Среднее число по отдельности может вводить в заблуждение, поскольку неправильно сбалансированный алгоритм может заставить некоторых игроков ожидать размещения 20 или более секунд.
Избыток BB/наиболее неравномерное распределение: Избыток BB определяется как различие между действительным количеством BB и статистическим средним (количеством партий, деленным на размер стола). Средство моделирования находит игрока с наихудшим (наивысшим) значением избытка BB и изображает распределение позиций, полученное для этого игрока. Подобным образом, средство моделирования находит игрока с наиболее неравномерным распределением позиций и также представляет это распределение на графике.
Дополнительные показатели: Это раздел отображает другие параметры, которые определяют качество впечатлений игрока. Выпадение более одного блайнда подряд не может не оставить отрицательного впечатления для игрока, даже если статистически позиции становятся равномерными на долгосрочном периоде. Подобным образом, выпадение трех блайндов подряд (например, BB-SB-BB) не считается приемлемым для впечатлений пользователя. Среднее отклонение является важной мерой равномерности распределения позиций, которая вычисляется дополнительно к наихудшему сценарию. Оно определяется как среднее значение среди разниц игроков между максимальным количеством раз, сыгранных на одном месте, и минимальным количеством мест. Например, если один игрок играл 100 раз на баттоне и 105 раз под прицелом, то отклонение для этого игрока равно 5. Среднее отклонение является средним арифметическим отклонений всех игроков.
Образец размещения: Эта таблица изображает историю размещения для одного случайным образом выбранного игрока.
Коэффициент времени ожидания оптимизируется посредством анализа результатов моделирования. В то время как интуитивно понятно, что игроки, которые ждали дольше, должны быть размещены с большей срочностью, баланс должен быть найден между намерением поместить игрока на самую подходящую позицию, в то же время избегая долгого времени ожидания.
Фиг. 10 изображает распределение времени размещения с различными значениями коэффициента времени ожидания. Эта схема изображает, что при обеспечении общего приемлемого размещения версия алгоритма, которая не принимает в расчет время ожидания (коэффициент времени ожидания = 0,0, линия с крестовыми метками на графике), имеет длинный хвост функции, и существенное количество игроков вынуждено очень долго ожидать размещения. В частности, в 1,3% случаев игроки вынуждены ожидать размещения 9 или более секунд. Как только коэффициент времени ожидания устанавливается равным 0,005, ситуация становится существенно лучше. Только в 0,23% случаев игроки вынуждены ожидать 8 секунд, и количество случаев, когда ожидание равно 9 секундам или больше, падает до 0,1%. Дополнительное увеличение коэффициента до 0,02 не обеспечивает какого-либо заметного преимущества по сравнению со значением 0,005.
Использование коэффициента времени ожидания отрицательно сказывается на равномерности распределения мест (т. е. увеличивает отклонение), поскольку алгоритму приходится принимать решения рано. Влияние на среднее отклонение показано на фиг. 11. Можно увидеть, что среднее отклонение начинает расти быстро после того, как коэффициент времени ожидания становится больше 0,002. На 0,005 влияние на среднее отклонение все еще довольно мало, в то время как улучшение во временах ожидания уже почти полностью устраняет случаи с долгими ожиданиями. С этой точки зрения значение 0,005 считается близким к оптимальному.
Обзор системы
Примерная система для осуществления алгоритмов размещения, описанных выше, иллюстрируется на фиг. 12.
Как показано на фиг. 12, игровой сервер 1200 обеспечен для управления играми. Сервер 1200 содержит процессор 1202 и хранилище состояния игры, например базу 1204 данных (база данных может в качестве альтернативы быть внешней по отношению к серверу). База 1204 данных выполнена с возможностью сохранения относящихся к игроку данных, включающих в себя записи 700 игрока. Процессор выполнен с возможностью запускать программные модули, включающие в себя, например, модуль 1216 оператора игры и модули лобби, такие как модуль 1218 главного лобби. Игроки могут подключать клиентские устройства 1214 к игровому серверу 1200, например через Интернет-соединение. Модуль 1216 оператора игры может запрашивать, создавать, модифицировать или удалять данные из базы 1204 данных; создавать, модифицировать или удалять столы, размещать игроков и обслуживать игровой процесс.
Записи 700 игрока создаются (если их не существует) или извлекаются (если они уже существуют), когда игроки 1214 осуществляют бай-ин в игру. Запись 700 игрока содержит информацию об ассоциированном игроке, включая в себя состояние, информацию о денежных средствах и различные статистические параметры. Изменения состояния игрока отражаются в этой записи. Когда игрок присоединяется к столу, некоторое количество относящихся к игре структур создается для записи состояния игрока в игре. Это может выполняться модулем 1216 оператора игры.
Записи 700 игрока могут быть внесены в базу 1204 данных посредством средства управления 1212 базой данных. Это обеспечивает то, что общее состояние игр может быть восстановлено в случае, если возникает проблема.
Модуль 1218 главного лобби включает в себя ассоциированные структуры данных лобби, которые могут содержать информацию о местоположении каждого игрока, зарегистрированного в системе. Структура данных главного лобби, например, содержит ID игрового лобби, в котором игрок играет. Она может также содержать ID стола, за которым игрок в текущий момент играет. Эта информация может быть использована, например, для функции "найти игрока".
Таблица структур данных может создаваться (и уничтожаться, когда более не необходима) посредством модуля оператора игры. В течение операции игр модуль 1216 оператора может затем ассоциировать игроков с (и удалять ассоциацию игроков с) соответствующими структурами данных столов во время назначения игроков на столы.
Структуры данных лобби и структуры данных стола могут также сохраняться в базе 1204 данных с данными игрока.
Для участия в игре они могут иметь возможность загрузить или другим образом сохранить клиентское программное приложение на клиентском устройстве 1214. Игрок может также иметь возможность оперировать удаленным приложением с клиентского устройства для участия в игре (например, посредством сетевого приложения, к которому осуществляется доступ через обозреватель). Подходящие клиентские устройства включают в себя персональные компьютеры, ноутбуки, интеллектуальные телефоны и другие устройства мобильной телефонии, планшетные компьютеры, игровые приставки, интеллектуальные TV и проигрыватели мультимедиа и т.п. Клиентское устройство 1214 может быть соединено с игровым сервером 200, например через проводное или беспроводное Интернет-соединение, такое как резидентная DSL или кабельное Интернет-соединение, или через сеть мобильной телефонной связи. Клиентское устройство 1214 и программное приложение ассоциированного клиента осуществляют связь с игровым сервером 1200 и принимают связь от игрового сервера 1200 через сеть.
Игра с быстрым размещением может иметь особые преимущества в использовании, когда клиентское устройство является мобильным телефоном или любым другим устройством с ограниченной площадью дисплея. При игре с быстрым размещением игрок может немедленно перейти к новой игре и не имеет необходимости оставаться в игре, в которой он больше не имеет интереса, пока партия не закончится. Стандартно, игроки компенсировали эту необходимость ожидания путем одновременного участия в играх за множеством столов, в этом случае клиентское устройство может требоваться для отображения более одного стола одновременно. В особенности в устройстве с относительно малой площадью дисплея, таком как мобильный телефон, мало места для отображения множества столов одновременно. Таким образом, игра с быстрым размещением имеет преимущества, поскольку уменьшается необходимость ожидать, и уменьшается мотивация участвовать в одновременных играх, и пространство на дисплее не такое загруженное.
Следует понимать, что настоящее изобретение было описано выше исключительно в качестве примера, и модификации подробностей могут быть осуществлены внутри объема изобретения.
Каждый признак, раскрываемый в описании и (где уместно) в формуле изобретения и на чертежах, может быть обеспечен независимо или в любой надлежащей комбинации.
Ссылочные позиции, фигурирующие в формуле изобретения, приведены исключительно в качестве иллюстрации и не должны оказывать ограничивающего эффекта на объем формулы изобретения.
Раскрывается компьютерно-реализованный способ (и система для) управления экземплярами игры, имеющей множество игровых позиций, которые могут быть заняты игроками, такой как игра типа покера. Способ содержит назначение игроку множества весов, относящихся к игровым позициям, где каждый вес указывает предпочтение в пользу размещения игрока в игровой позиции. Когда игрок поиграл в первой игре в некоторой заданной позиции, веса обновляются для указания измененного предпочтения в пользу размещения в каждой позиции. Затем игрок назначается на вторую игру на основе обновленных весов. Обеспечивается сокращение поддержки соединения с большим количеством игроков. 9 н. и 40 з.п. ф-лы, 12 ил., 5 табл.
1. Компьютерно-реализованный способ управления экземплярами игры, имеющей множество игровых позиций, которые могут быть заняты игроками, причем способ содержит этапы, на которых:
инициируют экземпляр игры;
для каждой игровой позиции в экземпляре игры назначают игрока на игровую позицию, причем назначение содержит этапы, на которых для некоторой заданной игровой позиции:
для каждого из множества игроков, доступных для назначения на заданную игровую позицию, вычисляют меру предпочтения, указывающую предпочтение в пользу размещения игрока в соответственной позиции, причем мера предпочтения вычисляется в зависимости от (i) весовой информации позиции, ассоциированной с игроком, и (ii) информации времени ожидания, указывающей время, которое игрок ждал назначения на игру;
выбирают одного из множества доступных игроков в зависимости от вычисленных мер предпочтения; и
назначают выбранного игрока на заданную игровую позицию.
2. Способ по п. 1, в котором этап выбора содержит этап, на котором выбирают игрока, имеющего меру предпочтения, указывающую наибольшее предпочтение в пользу размещения в заданной игровой позиции.
3. Способ по п. 1, в котором этап выбора содержит этап, на котором выбирают игрока, имеющего самую низкую или самую высокую меру предпочтения.
4. Компьютерно-реализованный способ управления экземплярами игры, имеющей множество игровых позиций, которые могут быть заняты игроками, причем способ содержит этапы, на которых:
ассоциируют с игроком множество весов, относящихся к соответственным игровым позициям, причем каждый вес указывает на соответственное предпочтение в пользу размещения игрока в соответственной игровой позиции;
в ответ на участие игрока в первом экземпляре игры в некоторой заданной игровой позиции обновляют каждый из множества весов для указания измененного предпочтения в пользу размещения в каждой соответственной позиции; и
назначают игрока на второй экземпляр игры на основе одного или нескольких из обновленных весов,
причем этап назначения содержит этап, на котором: для некоторой заданной игровой позиции во втором экземпляре игры, вычисляют меру предпочтения, указывающую предпочтение в пользу размещения игрока в заданной игровой позиции в зависимости от веса игрока для заданной игровой позиции и значения времени, ассоциированного с игроком,
причем мера предпочтения вычисляется так, чтобы увеличение в значении времени приводило к увеличенному предпочтению в пользу размещения игрока,
причем значение времени указывает время бездействия или время ожидания игрока.
5. Способ по п. 4, в котором этап обновления выполняется в зависимости от заданной игровой позиции, занимаемой игроком в первом экземпляре игры.
6. Способ по п. 4 или 5, в котором этап обновления содержит этап, на котором обновляют вес для заданной игровой позиции для указания уменьшенного предпочтения в пользу размещения в этой позиции.
7. Способ по п. 4, содержащий этап, на котором обновляют веса для одной или нескольких (предпочтительно всех) позиций за исключением заданной игровой позиции для указания увеличенного предпочтения в пользу размещения в одной или нескольких позициях.
8. Способ по п. 7, в котором обновление весов для позиций за исключением заданной игровой позиции сохраняет порядок этих весов по отношению друг к другу.
9. Способ по п. 4, в котором веса обновляются так, чтобы после обновления вес для заданной игровой позиции указывал самое низкое предпочтение в пользу размещения в этой позиции по отношению к весам для других позиций.
10. Способ по п. 4, в котором обновление веса содержит этап, на котором умножают вес на коэффициент обновления.
11. Способ по п. 4, в котором обновление веса, соответствующего заданной игровой позиции, содержит один или оба этапа, на которых: умножают вес на коэффициент обновления и добавляют предварительно определенное весовое значение.
12. Способ по п. 11, в котором коэффициент обновления выбирается в зависимости от некоторого количества игровых позиций в игре.
13. Способ по п. 4, содержащий этап, на котором инициализируют веса перед участием игрока в игре.
14. Способ по п. 13, в котором инициализация содержит этап, на котором устанавливают вес для выбранной стартовой позиции на некоторое заданное значение, указывающее первое предпочтение в пользу размещения игрока в стартовой позиции, и устанавливают веса для других позиций на одно или несколько других значений, указывающих более низкое предпочтение в пользу размещения в этих позициях по отношению к первому предпочтению.
15. Способ по п. 14, в котором установление веса для выбранной стартовой позиции содержит этап, на котором вычисляют средний вес для этой стартовой позиции, где
где N - конфигурируемый параметр, а РазмерСтола - количество игроков за полным столом.
16. Способ по п. 15, в котором N в три раза превосходит РазмерСтола.
17. Способ по п. 15 или 16, в котором установление веса для последующих игровых позиций, следующих порядку игры, содержит этап, на котором устанавливают вес следующим образом:
SWj+1=(N-1) SWj/N.
18. Способ по п. 13, в котором инициализация содержит этап, на котором устанавливают веса на соответственные значения, указывающие порядок предпочтений игровых позиций, соответствующий предварительно определенному порядку игровых позиций.
19. Способ по п. 4, в котором этап назначения содержит этап, на котором:
для некоторой заданной игровой позиции во втором экземпляре игры выбирают игрока из множества игроков на основе сравнения веса игрока для заданной игровой позиции с весами для заданной позиции, ассоциированными с одним или несколькими другими игроками.
20. Способ по п. 4, в котором этап назначения содержит этап, на котором назначают игрока дополнительно на основе значения времени, ассоциированного с игроком.
21. Способ по п. 4, в котором значение времени указывает время с того момента, как игрок перестал участвовать в первом экземпляре игры.
22. Способ по п. 4, содержащий этапы, на которых для некоторой заданной игровой позиции во втором экземпляре игры вычисляют меру предпочтения, относящуюся к игровой позиции для каждого из множества игроков; выбирают игрока, имеющего значение предпочтения, указывающее наибольшее предпочтение в пользу размещения в заданной игровой позиции; и назначают выбранного игрока на второй экземпляр игры в заданной игровой позиции.
23. Способ по п. 4, содержащий этап, на котором назначают игрока на второй экземпляр игры в ответ на действие игрока в первом экземпляре игры.
24. Способ по п. 23, в котором действие игрока содержит выход из игры или игрового раунда.
25. Способ по п. 4, содержащий этап, на котором подключают игрока ко второму экземпляру игры, при этом сохраняя подключение игрока к первому экземпляру игры.
26. Способ по п. 4, в котором этап назначения выполняется в соответствии с алгоритмом размещения.
27. Способ по п. 26, в котором алгоритм размещения выбирается, или один или несколько параметров алгоритма размещения варьируются, в зависимости от количества участвующих игроков.
28. Способ по п. 26 или 27, в котором алгоритм размещения инициируется в ответ на условие запуска, причем условие запуска предпочтительно содержит одно или оба из: истечения предела времени; и количества бездействующих игроков, превосходящего порог.
29. Способ по любому из пп. 4-28, содержащий этап, на котором выполняют способ, изложенный в п. 1.
30. Компьютерно-реализованный способ управления экземплярами игры, имеющей множество игровых позиций, которые могут быть заняты игроками, причем способ содержит этапы, на которых:
для каждого из множества игроков ассоциируют с игроком:
множество весов, относящихся к множеству соответственных игровых позиций, причем каждый вес указывает на соответственное предпочтение в пользу размещения игрока на соответственной игровой позиции; и
указатель бездействия для указания, участвует ли игрок в текущий момент в игре или бездействует;
инициируют экземпляр игры;
для каждой игровой позиции, ассоциированной с экземпляром игры, выбирают одного из множества игроков в зависимости от указателей бездействия игроков и весов для игровой позиции и назначают выбранного игрока на игровую позицию; и
обновляют каждый из множества весов, ассоциированных с назначенным игроком, для указания измененного предпочтения в пользу размещения назначенного игрока в каждой соответственной позиции, и
ассоциируют время бездействия с игроками, указанными как бездействующие указателем бездействия, и причем на этапе выбора выбирают игрока для игровой позиции дополнительно в зависимости от времен бездействия игроков.
31. Способ по п. 30, содержащий этап, на котором:
в ответ на прекращение участия некоторым заданным игроком в экземпляре игры устанавливают указатель бездействия для игрока для указания, что игрок бездействует.
32. Способ по п. 30 или 31, в котором на этапе выбора выбирают только бездействующих игроков согласно их указателям бездействия.
33. Способ по любому из пп. 30-32, содержащий этап, на котором выполняют способ, изложенный в п. 1.
34. Компьютерно-реализованный способ управления экземплярами игры, имеющей множество игровых позиций, которые могут быть заняты игроками, причем способ содержит этапы, на которых:
ассоциируют с каждым из множества игроков множество счетчиков, относящихся к соответственным игровым позициям, причем счетчик игрока, соответствующий некоторой заданной игровой позиции, обновляется в ответ на участие игрока в игре в заданной игровой позиции;
назначают игроков из множества игроков на экземпляр игры на основе счетчиков, причем этап назначения содержит этапы, на которых для некоторой заданной игровой позиции в экземпляре игры:
определяют веса позиций для каждого из набора игроков, причем определение веса позиции для игрока содержит вычисление веса позиции на основе счетчика игрока для заданной игровой позиции и количества игр, в которых участвует игрок;
выбирают одного из набора игроков на основе весов позиций; и назначают выбранного игрока на заданную игровую позицию в экземпляре игры,
выполняют любой или все этапы способа, изложенного в п. 4.
35. Способ по п. 34, в котором определение веса позиции для игрока содержит этапы, на которых:
определяют соотношение количества игр, в которых участвует игрок, и количество игровых позиций, доступных в игре, и
модифицируют значение счетчика игрока на основе этого соотношения.
36. Способ по п. 35, содержащий этап, на котором вычитают соотношение из значения счетчика игрока.
37. Способ любому из пп. 34-36, содержащий этап, на котором выбирают набор игроков из множества игроков.
38. Способ по п. 37, в котором выбор набора игроков содержит этап, на котором выбирают игроков, которые в текущий момент бездействуют, и/или выбирают игроков на основе указателей бездействия, ассоциированных с каждым из множества игроков.
39. Способ по п. 37, в котором выбор набора игроков содержит этап, на котором выбирают случайным образом из доступных игроков.
40. Способ по п. 37, содержащий этап, на котором выбирают некоторое количество игроков для набора, соответствующего количеству доступных игровых позиций в экземпляре игры.
41. Способ по п. 34, в котором вес позиции определяется дополнительно в зависимости от значения времени, указывающего время, которое игрок бездействовал.
42. Способ по п. 41, в котором назначение игроков дополнительно содержит этап, на котором применяют одно или несколько правил размещения игроков, причем правило размещения игроков указывает предпочтение в пользу или против размещения игрока в некоторой конкретной позиции на основе позиций, в которых играл игрок в предыдущих экземплярах игры.
43. Компьютерно-реализованный способ управления экземплярами игры, имеющей множество игровых позиций, которые могут быть заняты игроками, причем способ содержит этапы, на которых:
ассоциируют с каждым из множества игроков значение позиции, относящееся к игровым позициям, в которых играли игроки в прошлых экземплярах игры;
в ответ на участие игрока в первом экземпляре игры в некоторой заданной игровой позиции обновляют значение позиции для игрока на основе заданной игровой позиции, причем значение позиции обновляется для того, чтобы накапливать различие между позицией, играемой в каждом экземпляре игры, и предварительно определенным значением игровой позиции, предпочтительно средним значением игровой позиции или серединной позицией; и
назначают игрока на второй экземпляр игры на основе значения позиции, выполняют любой или все этапы способа, изложенного в п. 4.
44. Компьютерно-реализованный способ управления экземплярами игры, причем способ содержит этапы, на которых:
подключают клиентское приложение, ассоциированное с игроком, к первому экземпляру игры, которым оперирует сервер;
в ответ на прекращение участия игрока в первом экземпляре игры назначают игрока на второй экземпляр игры;
подключают клиентское приложение ко второму экземпляру игры; и сохраняют подключение клиентского приложения к первому экземпляру игры в течение участия игрока во втором экземпляре игры, выполняют способ, изложенный в п. 4.
45. Способ по п. 44, содержащий этапы, на которых:
принимают указание в клиентском приложении, что игра в первом экземпляре игры закончена; и
в ответ на указание прерывают подключение клиентского приложения к первому экземпляру игры.
46. Способ по п. 44 или 45, в котором назначение выполняется в ответ на взаимодействие пользователя, указывающее желание выйти из игры.
47. Машиночитаемый носитель, содержащий программный код, выполненный с возможностью, при исполнении на устройстве обработки данных, выполнять способ, изложенный в любом из пп. 1-46.
48. Система, содержащая средство для выполнения способа, изложенного в любом из пп. 1-46.
49. Игровой сервер, содержащий процессор и ассоциированную память, сконфигурированный для выполнения способа, изложенного в пп. 1-46.
US 20110177863 A1, 21.07.2011 | |||
US 20060063593 A2, 23.03.2006 | |||
СПОСОБ ЗАМЕЩЕНИЯ РАНЕВЫХ ДЕФЕКТОВ ПРИ ЛЕЧЕНИИ ОТКРЫТЫХ ПЕРЕЛОМОВ В АППАРАТЕ ВНЕШНЕЙ ФИКСАЦИИ | 2008 |
|
RU2360631C1 |
ТРЕХМЕРНЫЙ ТЕКСТ В ИГРОВОЙ МАШИНЕ | 2003 |
|
RU2344483C9 |
Авторы
Даты
2018-02-07—Публикация
2013-02-10—Подача