На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS

Дорогие друзья! Поздравляем вас с Новым 2018 годом!

Всем удачи, успеха и благополучия!
В новом году ожидаем новых рекордов при подсчёте количества ёлочек на экране ;)


msm.ru
! Предназначение данного раздела
Данный раздел предназначен для публикации уроков и примеров по разработке компьютерных игр любого сорта, в том числе авторских проектов участников нашего форума. Главное условие публикации: необходимо не только выложить свое творение, но и подробно описать процесс его создания, подводные камни и прочие, интересные для собрата-разработчика, вкусности.

Если вы желаете выложить свой проект - пишите в Общеорганизационную тему. Есть какие-то другие вопросы по делу - туда же.

Модераторы: Da$aD
Страницы: (3) [1] 2 3  все  ( Перейти к последнему сообщению )  
> [MMORPG своими руками] 4 Игровая демоверсия, пункты: 4, 4.1, 4.1.1, 4.1.2
    4 Игровая демоверсия

    В отличие от технологической, она показывает не основные технологические достижения игры, а основные геймплейные. Во-первых, это дает ответ на вопрос, а может ли команда реализовать заявленный геймплей. Во-вторых, мы можем "пощупать" сам геймплей. Оценить его играбельность, хардкорность и прочие параметры. Чаще всего именно после реализации игровой демки команда идет к издателю, т.к. если игровая демка отвечает всем требованиям, заложенным в концепте, то дальнейшая реализация - дело техники. Т.е. процесс достаточно прогнозируемый с точки зрения рисков. А для издателя как раз главное не столько масштаб проекта, а, именно, возможность спрогнозировать время разработи, затраты, ну и, конечно, предполагаемую прибыль.

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

    Что касается отражения графического контента в демке, то тут вопрос достаточно не однозначный. Общий графический стиль указать стоит, но наполнение контентом чаще всего зависит от того, заявили ли разработчики какие либо графические элементы, как основные фичи. В нашем случае графический контент будет минимален.

    4.1 PvE:Мистический лабиринт

    Мы переходим к нашему первому и достаточно серьезному геймплейному модулю.
    Серьезность его состоит в следующих пунктах:
    1 - это USP
    2 - это "добывающая" часть экономики
    3 - влияние на общий баланс игры (уровни с арены)

    Теперь о том, как мы реализуем лабиринт. Вернее это будет не совсем лабиринт в классическом понимании, но нечто похожее.
    Представим себе бесконечный тетрадный лист. Каждая клетка - комната. Линии разметки стены. При этом в каждой из 4х смежных стен комнаты сделан проем, таким образом можно перемещаться из комнаты в комнату, каждый раз выбирая одно из четырех направлений.

    При входе в лабиринт, игрок попадает в комнату с координатами 0,0 и далее волен ходить куда хочет, учитывая ограничение. Уровень доступа, полученный на арене, определяет максимальное расстояние, на которое может отойти игрок от начальной точки в любом направлении.

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

    При попадании в комнату переходы в другие комнаты могут быть отрезаны монстрами. Причем тот переход, откуда мы пришли, - тоже. Преодолеть монстров можно с помощью различного оружия и/или различных предметов (наиболее оптимальный выбор зависит от типа монстра). Однако, монстры это только препятствия. Лут с них не падает, поэтому увлекаться их отстрелом не выгодно.

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

    4.1.1 Генератор карты

    Как было сказано выше, основой лабиринтостроя нашей системы является генератор комнат, который и обеспечивает нам требуемое разнообразие. Перед нами стоит задача, с одной стороны неповторяемость расположения комнат, с другой стороны - игрок должен иметь представление о том, где что примерно можно встретить. Это позволит ему не бесцельно ходить, ожидая милости от рандома, а задаваться направлением.

    Начнем с комнат. Т.к. разные типы комнат несут разный функционал, возможно даже связанный (т.е. будут "производственные" цепочки), то необходимо задать некоторое примерное расположение типов комнат. И сделаем мы это с помощью функции распределения. Суть такова, имеются некие "центры" (клетки на нашем тетрадном листе), в который вероятность появления данного типа комнаты равна 100% или 1. Для каждого типа комнаты имеется некая функция, которая определяет вероятность появления комнаты в заданной точке, в зависимости от ее растояния до "центра ареала обитания" данного типа комнат. В соотвествии с полученными вероятностями по каждому типу для данной клетки мы "пробрасываем кости" и выбираем уже конкретный тип. "Центры ареалов обитания" же задаются заранее и жестким образом. Т.к., во-первых, это ориентир игроков, а, во-вторых, располагая различные "центры" в различных областях доступа (уровней доступа), мы даем игроку направление, куда ему стремиться. При этом у нас будет два типа комнат: единичные, которые в данном ареале появляются один раз, и сохраняются свою позицию, и зональные, которые в ареале встречаются неограниченное число раз, и не сохраняют свои позиции.

    Что касается монстров, то тут мы может обеспечить ту же систему, что позволит игроку более вдумчиво прокладывать маршруты, дабы избежать встречи с теми, с кем общаться он в данный момент не готов. Ареал обитания монстров будет зависеть от типа комнаты. Если рядом расположен ареал какой-то комнаты - значит тут же будут расположены ареалы обинания конкретных монстров.

    4.1.2 Система боя с монстрами

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

    В идеале бой должен происходить так:
    1ый клик - выбор жертвы
    2ой клик - выбор орудия убийства
    смотрим отчет о гибели противника

    С другой стороны, надо обеспечить минимальную тактическую составляющую. Как видно отсюда, она будет состоять в выборе кого и чем бить, и, вообще, может лучше обойти?

    Мы получаем следующую систему:
    1 - И монстр, и игрок имеют здоровье.
    2 - Игрок имеет 4 типа оружия с боеприпасами, в том числе одно с бесконечными боеприпасами.
    3 - Монстр имеет 4 вида сопротивления (снижения урона), для каждого вида оружия игрока.
    4 - Монстр имеет один вид атаки и бесконечные патроны.
    5 - Игрок имеет один вид брони, которая принимает на себя часть урона, разрушаясь, как в Думе, например.

    Таким образом игрок должен будет оценивать: достаточна ли его броня для конкретного типа монстра, при условии атаки с помощью выбранного типа оружия.
    При условии, что каждый монстр обладает как сильными, так и слабыми сторонами с точки зрения нашей модели.

    Для уменьшения явности расчетов предполагается, что урон от любой атаки определяется ввиде интервала между минимальным и максимальным с равномерным распределением.
      Монстр может быть не то чтобы невидимым (как вообще с таким биться?), но как бы напавшим из засады. Тогда очередность хода может быть и не однозначной. Например, если у персонажа хорошая реакция (если есть такая характеристика), он может и среагировать на атаку, встретив монстра ударом. Тогда "один и тот же" монстр сможет "безнаказанно" бить/кусать начинающих игроков и нарываться на встречный удар более опытных.
      Всё написанное выше это всего лишь моё мнение, возможно ошибочное.
        Цитата amk @
        Монстр может быть не то чтобы невидимым (как вообще с таким биться?), но как бы напавшим из засады.

        точно, ща исправлю

        Цитата amk @
        Тогда очередность хода может быть и не однозначной. Например, если у персонажа хорошая реакция (если есть такая характеристика), он может и среагировать на атаку, встретив монстра ударом. Тогда "один и тот же" монстр сможет "безнаказанно" бить/кусать начинающих игроков и нарываться на встречный удар более опытных.

        главная идея в том, что на обнаружения засады нужно тратить придметы. Т.е. элемент азартной игры: не тратить предмет и рискнуть или потратить предмет и не рисковать :)
          Просто, если игрок сильный, а монстр не очень, то я бы и так не стал расходовать предметы. Подумаешь куснет разок (может еще броню не прокусит).
          Если наоборот, то же самое, он меня все равно скушает, первый я начну или отвечать буду.
          То есть использование предметов для обнаружения монстра имеет смысл только если я обнаружив его могу не ввязываться в бой. Или если для победы надо поменять оружие, например расстрелять его с расстояния.

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

          Насчет рандомной генерации карты. В Diablo карта генерируется случайно, но всю игру на ней остается неизменной, вплоть до того, что на ней остаются лежать выпавшие предметы. Если карта будет меняться при каждом прохождении по комнатам, ориентироваться на ней станет практически нереально. Или ты предполагаешь существование фиксированного лабиринта, в котором меняются только комнаты?

          Если лабиринт фиксированный, то возникает проблема его дорисовки по мере расширения ареала. Кроме того кто-нибудь обязательно, поднабравшись силенок, попытается забраться к краю лабиринта. Впрочем с этим можно бороться просто населив края лабиринта жуткими монстрами.
          Либо лабиринт должен генериться сам по мере продвижения в него игроков.
          Всё написанное выше это всего лишь моё мнение, возможно ошибочное.
            Цитата amk @
            Просто, если игрок сильный, а монстр не очень, то я бы и так не стал расходовать предметы. Подумаешь куснет разок (может еще броню не прокусит).
            Если наоборот, то же самое, он меня все равно скушает, первый я начну или отвечать буду.
            То есть использование предметов для обнаружения монстра имеет смысл только если я обнаружив его могу не ввязываться в бой. Или если для победы надо поменять оружие, например расстрелять его с расстояния.

            Прокачки игрока нет. Есть текущее состояние брони и боеприпасы. Будешь много бездумно драться - броню "съедят".


            Цитата amk @
            И кстати, бой в 1/2 удара хороша только для относительно слабых монстров.
            В случае группового боя (не заметил, предусматриваешь ли ты такой режим) с превосходящим по силе монстром вполне возможна ситуация, когда члены группы погибнут один за другим просто из-за того, что по какой-нибудь случайности игрокам придется вступать в бой по очереди. В таком случае можно в качестве стимула принять, что "павшие" в бою не умирают, если бой закончился победой команды, хотя и нуждаются в лечении.

            групповые бои я пока не рассматриваю.

            Цитата amk @
            Насчет рандомной генерации карты. В Diablo карта генерируется случайно, но всю игру на ней остается неизменной, вплоть до того, что на ней остаются лежать выпавшие предметы. Если карта будет меняться при каждом прохождении по комнатам, ориентироваться на ней станет практически нереально. Или ты предполагаешь существование фиксированного лабиринта, в котором меняются только комнаты?

            Смысл идеи в том, что лабиринт будет генерироваться постоянно. Но о примерном расположении комнат игрок будет знать. Для этого и используются "ареалы" комнат.

            Цитата amk @
            Либо лабиринт должен генериться сам по мере продвижения в него игроков.

            :yes:
              Цитата impik777 @
              лабиринт будет генерироваться постоянно.
              То есть возможна ситуация, когда зашел в комнату, а вернуться по тому же пути не можешь, поскольку проход закрылся?

              В этом случае игрок будет двигаться в нужную ему локацию чисто на удачу. Я бы просто ждал когда откроется подходящий проход и шел туда. Другое дело, если все проходы относительно фиксированы. Чтобы хотя бы одну сессию лабиринт был более-менее стабилен. Да и между сессиями, чтобы не слишком менялся.

              Помню игру под названием "Toppler" (или "Перестройка") так там игра шла практически на интуиции, даром что все листья разом видны и тонут медленно.
              Всё написанное выше это всего лишь моё мнение, возможно ошибочное.
                Цитата amk @
                То есть возможна ситуация, когда зашел в комнату, а вернуться по тому же пути не можешь, поскольку проход закрылся?

                Именно так и будет.
                Цитата amk @
                В этом случае игрок будет двигаться в нужную ему локацию чисто на удачу. Я бы просто ждал когда откроется подходящий проход и шел туда. Другое дело, если все проходы относительно фиксированы. Чтобы хотя бы одну сессию лабиринт был более-менее стабилен. Да и между сессиями, чтобы не слишком менялся.

                Ну скажем так, он знает направление, и что может там встретиться. Т.е. Через 10 клеток будет вышка, слева ходят волки, справа гоблины, но что точно будет на пути он не знает.
                Да, удача необходима, но определенность существует.
                  Проходы меняются при переходе из комнаты в комнату?
                  Всё написанное выше это всего лишь моё мнение, возможно ошибочное.
                    Цитата amk @
                    Проходы меняются при переходе из комнаты в комнату?

                    всмысле?
                    Та комната, из которой пришел, "исчезает".
                      т.е. встретив слишком упорное сопротивление среды, вернуться по исследованной территории и выбрать другой путь нельзя?
                      Или, скажем, вернуться в только что зачищенную комнату и подобрать "баночку здоровья" или патроны.
                      Во имя Ctrl, Alt и святаго Del, Enter!

                      Основам программирования не обучаю. Не интересно.
                        Цитата trainer @
                        т.е. встретив слишком упорное сопротивление среды, вернуться по исследованной территории и выбрать другой путь нельзя?

                        сопротивление увеличивается при приближении к его эпицентрам. Отступаешь, и сопротивление уменьшается.

                        Цитата trainer @
                        Или, скажем, вернуться в только что зачищенную комнату и подобрать "баночку здоровья" или патроны.

                        мешок бездонный
                          Цитата impik777 @
                          мешок бездонный
                          ну это не интересно. :) Положи тапок на кнопку "огонь" и иди :)
                          Во имя Ctrl, Alt и святаго Del, Enter!

                          Основам программирования не обучаю. Не интересно.
                            Цитата trainer @
                            ну это не интересно. Положи тапок на кнопку "огонь" и иди

                            всмысле? мешок то бездонный, но кол-во его содержимого ограничивается тем, что ты купил/нашел.
                              Цитата impik777 @
                              кол-во его содержимого ограничивается тем, что ты ... нашел.
                              уже теплее... :) А "дроп" будет сразу в инвентарь падать или на землю и его подбирать надо? ;)
                              Во имя Ctrl, Alt и святаго Del, Enter!

                              Основам программирования не обучаю. Не интересно.
                                Цитата trainer @
                                уже теплее...

                                это ты к чему?
                                Цитата trainer @
                                А "дроп" будет сразу в инвентарь падать или на землю и его подбирать надо?

                                с монстров дроп не падает.
                                У предметы получают у самих комнат.
                                  Цитата impik777 @
                                  У предметы получают у самих комнат.
                                  не понял.

                                  Я вот когда в Diablo играл - оставлял вещи лежать на земле, чтобы подобрать их чуть позже. Вроде тех же банок здоровья - сейчас они у меня в достатке, а через пару минут я часть из них использую, потом вернусь и подберу оставшиеся лежать на земле. С системой "вышел из зоны - все пропало" так не получится.
                                  Вернуться в зачищенную зону чтобы отдышаться - тоже не получится.
                                  Во имя Ctrl, Alt и святаго Del, Enter!

                                  Основам программирования не обучаю. Не интересно.
                                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                  0 пользователей:
                                  Страницы: (3) [1] 2 3  все


                                  Рейтинг@Mail.ru
                                  [ Script Execution time: 0,1461 ]   [ 20 queries used ]   [ Generated: 20.01.18, 23:02 GMT ]