- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Математическое руководство по созданию компьютерных игр. Справочник - Алексей Патрашов
Шрифт:
Интервал:
Закладка:
В двухмерных и трёхмерных мирах для расчёта экскурсионного времени введём понятие радиуса обзора, то есть радиуса в котором игрок увидит все подробности устройства мира независимо от расстояния, если оно меньше радиуса обзора. Таким образом игровое пространство будет открываться либо полосой определённой ширины, либо сферой определённого радиуса и определённой площадью проекции. В таком случае экскурсионное время в зависимости от размерности игрового мира будет определяться по формулам.
для двухмерного и
для трёхмерного мира.
В трёхмерном мире приходится вводить сложные коэффициенты заполнения для того, чтобы охватить каждую точку пространства потому, что ближайшей по форме к окружности, которой является проекция сферы на плоскость, фигурой с полным заполнением плоскости является правильный шестиугольник. Краевые неточности заполнения при вычислении экскурсионного времени не учитываются и считаются допустимой погрешностью.
Влияние числа игроков или мало нас
Игра может быть предназначена для одного, нескольких или множества игроков. В зависимости от этого игру принято называть однопользовательской, многопользовательской или MMO. Многопользовательский режим может быть обязательным или необязательным. Чаще всего встречается необязательный многопользовательский режим при котором в игру можно играть как одному, так и вместе с другими игроками. Многопользовательский режим в игре может присутствовать, а может и отсутствовать. Способов применения многопользовательского режима может быть много.
Рассмотрим несколько способов применения многопользовательского режима. Первый режим предусматривает единое игровое пространство для всех игроков, что позволяет им непосредственно взаимодействовать друг с другом. Второй режим позволяет использовать по желанию общее или отдельное игровое пространство для одиночной игры. Третий режим позволяет играть только в отдельном игровом пространстве, но сохраняет возможность передачи предметов между игроками. В игре могут сочетаться несколько игровых режимов одновременно как для всей игры, так и для некоторых её мест. Порядок их сочетания может быть обязательным или необязательным.
В многопользовательском режиме игроки могут свободно перемещаться по игровому миру, что может приводить к их скоплениям в одних местах и отсутствию в других. Скапливаться игроки могут по уровням, заданиям, поиску ресурсов, местам наличия мобов и прочим признакам. Но если задаться некоторыми принципами распределения, а именно, чтобы игроки находились друг от друга на определённом расстоянии, то при заданных размерах игрового мира в нём при соблюдении заданного условия может поместиться ограниченное количество игроков при максимальном наполнении игры, то есть существует максимальная плотность игроков. Для удобства и определённости мы примем за минимальное расстояние радиус обзора.
К счастью для нас задачу с плотностью объектов и взаимным их расположением уже давно решили в другой области. Для кристаллических решеток давно придуманы понятия точечных групп, решеток Браве, пространственных групп и сингоний. Чтобы не запутаться в кристаллографии мы просто представим себе, что у нас игроки расположены в вершинах правильных треугольников для плоского случая задачи и в вершинах правильных тетраэдров для объёмного случая. Таким образом в плоском случае у нас получаются равные шаги трансляций под углом 120° и ромбовидная элементарная ячейка, а во втором случае мы не будем использовать углы, а просто сразу по характеристикам правильного тетраэдра вычислим объём элементарной ячейки. На рисунках 5а и 5б показаны примеры для обоих случаев размерностей задачи.
После того, как в многопользовательском режиме определены максимальные протяженность, площадь или объём на одного игрока, которые определяется отсутствием других игроков в радиусе обзора R мы можем получить формулы плотности игроков на единицу размерности игрового пространства. Для миров с разными размерностями формулы существенно различаются. Самая простая формула связывает радиус обзора и плотность в одномерном мире. В двухмерном мире мы применили построение игроков по треугольной решетке с ячейкой в виде ромба из двух равносторонних треугольников. Самый сложный случай представляет объёмная плотность с решеткой расстановки по вершинам тетраэдра. Её элементарная ячейка определяется равным шагом трансляций по трём направлениям и равными углами между направлениями. Ниже приведены формулы соответственно для линейной, распределённой и объёмной плотностей игроков.
линейная,
распределённая и
объёмная
Во всех случаях мы использовали наиболее плотные решетки размещения игроков по игровому пространству. Если бы мы применили прямоугольное размещение, то получили бы отличающиеся в какое-то число раз формулы соответственно для каждого случая, кроме первого.
линейная,
распределённая и
объёмная
Сам многопользовательский режим может влиять или не влиять на сложность игры. Решить этот вопрос достаточно сложно и решение получается неоднозначным. Также возможны и разные способы решения с разным объяснением каждого подхода. Простейший способ это просто никак не влиять на уровень сложности, а также на получаемый опыт, если таковой в игре имеется. Недостатки этого режима очевидны: или слишком легко всем, или слишком тяжело одному. Деление опыта и усиление противников по числу игроков в игре помогает, но порождает следующую проблему: десять игроков играют в игре и девять из них в одном месте, а один где-то далеко и получает он меньше опыта в десять раз, а играть ему тяжелее в десять раз.
Рисунок 5а. Элементарные ячейки для плоского случая.
Рисунок 5б. Элементарные ячейки для объёмного случая.
Если опыт можно привязать к нанесённому урону и в соответствии с ним поделить, то уровень сложности игры делить гораздо сложнее. Первое, что напрашивается, это вычислить плотность игроков и привязать уровень сложности к ней или вычислить количество игроков в определённом радиусе от каждого противника и привязаться к нему или к функции от их количества и уровня. Но при таком подходе мы не можем заметить разницу между одновременным боем всеми с одним противником или каждого с индивидуальным.
Хорошего решения можно достигнуть, если учитывать не просто всех игроков подряд, а только тех, кто ведёт бой с противником. Таким образом разделение и вычисление происходят автоматически по мере вступления в бой с каждым противником новых игроков. Чтобы окончательно выровнять баланс, надо вести учёт получаемого опыта для каждого отрезка боя между вступлением в него новых участников, иначе начинающие бой будут в проигрыше.
Всё вышеизложенное может касаться как всех находящихся в игре игроков, так и на объединённых в один отряд. Ведение боя отрядом порождает дополнительные трудности, если в отряде существует разделение выполняемых задач. Так некоторые участники боя могут вообще не наносить урона противнику, а другие просто сдерживать противника, но тогда опыт либо придётся делить между всеми равномерно, либо вводить зависимость от выполняемой задачи. Также надо учитывать уровни членов отряда иначе опыт может распределиться поровну на участников разных уровней или неравномерно на участников одного уровня.
На перечисленных примерах влияние многопользовательского режима не заканчивается. В некоторых случаях, когда игра заранее ориентирована на многопользовательский режим, особые ухищрения вообще могут оказаться не нужны и достаточно просто позаботиться о правильном распределении опыта и добычи.
Перезагрузки и переигрывания или прохождение перезагрузками
Игра тем и отличается от суровой действительности, что в ней всё можно переиграть столько раз, сколько захочется. Только способы переигрывания существенно различаются в разных играх в зависимости от способа сохранения игры. Если игра сохраняется на компьютере у игрока да ещё и в любой момент, то переигрывать можно хоть каждую минуту. Если игра может сохраняться только в определённых местах, то переигрывать становится сложнее, а если игра сохраняется только при выходе, то переигрывание с начала невозможно только формально потому, что файл сохранения можно скопировать и при необходимости восстановить. Это всё относится к локальному сохранению потому, что сохранение на сервере уже для копирования недоступно.

