Навигация
Категории
C++,C#,C [19]
Уроки по средам разработки приложений с использованием C,C++,C#, а также .Net, DirectX, OpenGL и других
Delphi [14]
Уроки работы в среде программирования Delphi
Basic [13]
Уроки разработки приложений в среде Basic
DirectX [8]
Уроки по работе с DirectX, включая Direct3D и другие инструменты
Web [7]
Уроки по "Веб-программированию"
JavaScript [12]
Уроки по кодингу в Java и JavaScript
XNA [9]
Статьи и уроки программирование в среде XNA C++&C#
Профиль
Статистика
Rambler's Top100

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Locations of visitors to this page
Главная » Статьи » Программирование » C++,C#,C

Теория вероятности при создании уровней для шутеров
Сперва азы. Что такое вероятность? Это шанс появления какого либо события и как ее вычислить? Суть проста: берете все возможные исходы и делите на них количество желаемых событий.

P = N/m (Вероятность = желаемые исходы/все возможные исходы)

То есть при подкидывании монетки шанс выпадания Орла (герб) или Решки (номер) будут равны примерно 50%. 1/2 = 0,5 (50%).
Как это относится к игровым уровням? Да просто. Идете вы по корридору и натыкаетесь на перекресток, где вы можете повернуть налево или направо - 2 выбора (поворот назад не считаем), значит шанс равен 50%, что вы повернете скажем налево.
Теперь более сложный пример:

Карта-1


Игроки в CS вспомнят fy_iceworld (buyzone в центре, оружие и т.п. объекты не учитываем). Одна из очень интересных карт, несмотря на свою простоту. Почему? Да потому что она просчитана вдоль и поперёк и предоставляет хороший геймплей игрокам. Кстати, точно такая же планировка использовалась в одном из опытов с мышами в теории вероятности
Теперь в качестве примера можно рассмотреть задачу: Какова вероятность того, что игроки увидят друг друга на следующем же перекрестке, до которого они добегут? Для ее решения удобно обозначить все переходы из одного состояния в другое стрелками и написать вероятности выбора именно этого перехода. Для простоты не будем пока учитывать вероятность того, что игроки просто останутся на месте в какой-то момент или пойдут назад, хотя учесть это вполне возможно. Так же будем считать что при достижении перекрестка они весьма быстро оглядываются во все стороны. Игроки находятся изначально в углах карты.

Карта-2


Игрок-1 с вероятностью 50% выбирает один из двух ходов. Игрок-2 делает то же самое. У них 4 возможности, две из которых дают требуемый результат. Вот как это выглядит в цифрах:

0.5*0.5 + 0.5*0.5 = 0.5 = 50%.

Словами это выражается так : (Игрок-1 идет прямо) И (Игрок-2 идет прямо) ИЛИ (Игрок-1 идет налево) И (Игрок-2 идет направо). И - это умножение, а ИЛИ - сложение в теории вероятности. Таким образом можно высчитать все что угодно на вашей карте. Важно только помнить, что вероятность не может быть больше 100% (что логично).
Можно теперь точно сказать, почему кемперы скорее всего будут сидеть в углах - там меньше всего вероятность, что его засекут, но хороший радиус обзора. Следовательно нельзя ставить снайперки или патроны к ним в углах, если вы не хотите, чтобы все только сидели по углам.
Центр - наиболее важное место. Шанс что игрок увидит, что творится в центре, пройдя один перекрёсток, равен 100%. Следовательно в центре лучше всего располагать очень сильные предметы или оружие, чтобы они манили к себе игроков, провоцируя их на столкновение.
Внимательные читатели вероятно уже заметили, что есть некоторая вероятность, что игроки не встретятся вообще. Она мала, но все же существует. Скажем если первый игрок пойдет налево и в центр, а второй - все время вниз.
Так же, некоторые части карты посещаются реже, чем другие, что в конкретном случае видно не очень наглядно, но несложно представить себе карту, где посещаемость какой-либо зоны будет близка, по сути дела к нулю. Из за таких мест часть проделанной картостроителем работы теряется (зачем моделировать, если там мало кто ходит?). Таких мест стоит избегать, хотя в них можно установить некие важные предметы, чтобы игроки все же посещали эти места.
В общем случае такие предметы называются Раздражителями и о них пойдёт речь в следующей части повествования.

Источник: http://moka.ucoz.ru/publ/1-1-0-7
Категория: C++,C#,C | Добавил: gforcer (14.11.2009) | Автор: Админ
Просмотров: 2254 | Комментарии: 2 | Теги: Игр, стрелялок, шутеров, ИИ, создания, теория | Рейтинг: 3.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск
Друзья сайта
Демотиваторы
Copyright Зямаев Денис © 2017