Первое, что мы сделаем, это привяжем счётчики времени каждого события к нахождению в определённой местности. Таким образом у нас будут происходить в каждой местности только соответствующие именно ей события, а таймеры остальных будут без изменений. Вторым действием будет ещё учёт просто времени нахождения в каждой местности. Теперь после длительного пребывания, например лечения или отдыха, в какой-то точке пустыни таймеры соответствующих местности встреч изменятся и придётся выбирать между полным излечением и неизбежным следующим столкновением или попыткой пройти как есть в расчёте на везение.
Есть и не очень эффективные средства борьбы с повторами, например превращение игры на локальной машине в игру как бы на сервере через манипуляции с файлами. Такое решение возможно, но имеет множество недостатков и первый из них это как раз полная невозможность повторить игру с нужного момента. Самый лучший способ борьбы с повторами это вообще исключить из игры возможность их использования для выигрыша во времени, как это было показано выше через перебор множества вариантов или таймеры вероятностей событий.
Классификация игр
Хоть мы и будем заниматься направлением RPG, но оценить и сравнить все остальные жанры тоже следует. Систематизация приводит в порядок множество разнообразных вещей и позволяет отследить связь или родственные связи между ними. Без упорядочивания и систематизаци обычно сложно выявить скрытые свойства, которые находятся в тени более отчётливых свойств. Так хорошо известная игра Heroes of Might and Magic заслуженно считается стратегией, но при более детальном рассмотрении в ней легко обнаруживаются элементы RPG, а именно развитие игровых героев, поэтому переходим к систематизации.
Существует множество жанров игр, причём достаточно чётких и определённых правил деления по жанрам не существует. Если перебрать все игры, то можно выделить их основные характеристики по которым можно составить таблицу принадлежности игры какому-либо жанру. Если обозначить знаками «+» обязательный атрибут, «0» ― возможный, а «-» ― недопустимый, то получится примерно таблица 1. Данная таблица не претендует на окончательность, но предназначена для внесения хоть какой-то ясности.
Рассмотрим число потенциально возможных жанров. Таблица 1 предусматривает девять характеристик с разными значениями, но не все значения всех атрибутов являются возможными сочетаниями. Так в числе взаимоисключающих атрибутов не может быть больше одного обязательного атрибута и при этом не может быть только один необязательный атрибут, если все остальные атрибуты отрицательные, поэтому число вариантов каждой характеристики для двух атрибутов приходится считать как 2+1=3, а для трёх атрибутов ещё сложнее 3+3+1=7. Тех же самых результатов можно было бы добиться и простым вычитанием невозможных вариантов из их общего числа. При этом должен присутствовать хотя бы один необязательный атрибут.
Предыдущие рассуждения верны только для взаимоисключающих атрибутов характеристик, таких как: количество игроков, местоположение игры, режим, количество игровых объектов, управление игровыми объектами, развитие игровых объектов и управление развитием игровых объектов. Для атрибутов характеристик: взаимодействие с игровым миром и обмен информацией с игровым миром такого ограничения нет и число их вариантов равно 3>2=9 для каждого. Для трёх не взаимоисключающих атрибутов число вариантов было бы 3>3=27 и так далее.
С учётом теоретического количества число всех возможных жанров для сортировки по данной таблице, равно 75⋅32⋅92=12252303, то есть число выходит за пределы разумного понимания. Таким образом число потенциальных жанров на порядки превышает всё число придуманных, а тем более, изготовленных игр с момента создания самой первой. Очевидно, что два жанра не должны иметь две повторяющиеся строки в классификационной таблице. Проверить строки на повторяемость удобнее всего машинной сортировкой или обработкой списков на разность. Таким образом можно применить машинную генерацию жанров игр.