На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
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 - Игрок имеет один вид брони, которая принимает на себя часть урона, разрушаясь, как в Думе, например.

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

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

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

      Основам программирования не обучаю. Не интересно.
        Ну очень просто.
        Ты ходишь по лабиринту.
        Тебе встречаются разные типы комнат. В комнате есть "НПЦ" который может: дать предмет/поменять один на другой, полечить, еще что-то.
        Монстры - они мещают пройти. Убьешь или не убьешь - пользы тебе не будет, кроме свободного прохода. Сами они на тебя не нападут. Они защищают проходы. И друг-друга не поддерживают.
        Просто "кусачие" двери. Задача - накопать как можно больше сокровищ с лабиринта.
          impik777, я так и не понял про лабиринт. Вот я стою в комнате. Комната квадратная. У меня всегда 4 выхода из нее, или не всегда?

          Право — это возведенная в закон справедливость. Закон есть этика, высеченная в логике.
            Цитата Астарот @
            impik777, я так и не понял про лабиринт. Вот я стою в комнате. Комната квадратная. У меня всегда 4 выхода из нее, или не всегда?

            всегда

            Добавлено
            Механика лабиринта чем то похожа на это
            http://www10.caro.net/dsi/decker/
              Цитата impik777 @
              Механика лабиринта чем то похожа на это
              http://www10.caro.net/dsi/decker/

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

              Право — это возведенная в закон справедливость. Закон есть этика, высеченная в логике.
                Смотри. Тебе надо сходить в лес за грибами. Где точно расположены грибы - тебе не известно. Но ты знаешь, на севере через 500 метров - есть полянка с опятами. На востоке через 300 метров - есть полянка с подосиновиками. Но рядом с ней лагерь медведей-гопников. Которые где-то там недалеко бродят. Где ты опять не знаешь, и каждый поход в лес будет изменять их расположения. Однако, куда идти тебе известно, что ты там можешь встретить, тоже известно. Например, волки водятся только на юге, значит на востоке ты встретишь только медведей.
                В данном случае одна комната, это, например, 25 кв метров леса.

                Идея с ареалами понятно в таком ключе?

                Добавлено
                Цитата Астарот @
                (это киберпанк, где ты бродишь по матрице, правильно я понял?),

                :yes:
                  Цитата impik777 @
                  Идея с ареалами понятно в таком ключе?

                  Да идея-то понятна, но в геймплее это будет выглядеть довольно странно. Для игрока такой ареал будет выглядеть весьма не прозрачно во-первых, а во-вторых по сути дела при прочих равных теряется смысл верха и низа :) Вот какая разница вверх выйти из комнаты, или вниз? По сути - никакой.

                  Добавлено
                  То же самое с лево и право если что. Перемещение по лабиринту суть поиск пути, а в данном случае получается просто перемещение куда-то.

                  Право — это возведенная в закон справедливость. Закон есть этика, высеченная в логике.
                    Цитата Астарот @
                    Для игрока такой ареал будет выглядеть весьма не прозрачно во-первых,

                    чем не прозрачно? на примере с грибами.
                    Цитата Астарот @
                    а во-вторых по сути дела при прочих равных теряется смысл верха и низа Вот какая разница вверх выйти из комнаты, или вниз? По сути - никакой.

                    есть, ты двигаешься в нужном направлении или нет.
                    Например, если слева лагерь монстров, то левые проходы будут часто занятыми.

                    Цитата Астарот @
                    То же самое с лево и право если что. Перемещение по лабиринту суть поиск пути, а в данном случае получается просто перемещение куда-то.

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

                      А если слева и справа ничего нет? А ведь именно так будет выглядеть основное поле лабиринта.

                      Цитата impik777 @
                      а, понятно, ломает логика названия "лабиринт"?

                      Так почему бы не сделать полноценный лабиринт-то? Вроде бы не сильно сложно.

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

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

                        Что касается навигации, то я уже написал следующий пункт (про контент), с навигацией все будет удобно. (Скоро его выложу).

                        Генерировать группы комнат как в Декере я не решился, сложно это балансировать, чтобы вменяемо получилось, тут проще, тем более это все же пример.
                          А как будет организован выход из такого бесконечного лабиринта?

                          И что делать с бесконечностью? И эти оазисы - они будут как задаваться изначально? Я к чему - есть бесконечный лабиринт, ты в 0,0, где-то генерятся оазисы - например в 5,5, и в 0,10. А что делать если ты попрешь вверх мимо оазиса на сотни клеток? Там пусто будет? Или по ходу дела будут оазисы генерится? Или таки будет некая стенка, что бы не приходилось мульен оазисов в памяти хранить?

                          Право — это возведенная в закон справедливость. Закон есть этика, высеченная в логике.
                            Цитата Астарот @
                            А как будет организован выход из такого бесконечного лабиринта?

                            в любой точке выходишь с тем, что успел набрать

                            Цитата Астарот @
                            И что делать с бесконечностью? И эти оазисы - они будут как задаваться изначально? Я к чему - есть бесконечный лабиринт, ты в 0,0, где-то генерятся оазисы - например в 5,5, и в 0,10. А что делать если ты попрешь вверх мимо оазиса на сотни клеток? Там пусто будет? Или по ходу дела будут оазисы генерится? Или таки будет некая стенка, что бы не приходилось мульен оазисов в памяти хранить?

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

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

                                про арену и кланы забываете

                                Цитата amk @
                                Разве что можно сообщать друг другу об местонахождении оазисов и мест обитания монстров.

                                и это тоже

                                Цитата amk @
                                Все же населять монстрами комнаты более реалистично, чем населять ими проходы, оставляя комнаты свободными

                                Они живут рядом с проходом. А, потом, реалистичность - самое последнее.
                                  Цитата impik777 @
                                  про арену и кланы забываете
                                  Не забываю, просто меня например, ни то ни другое особо не прельщает.
                                  Кланы - если я, например, буду появляться на час-два, да еще и не каждый день - быстро отстану от остальных. Новичков в старые кланы обычно особо не набирают, поэтому все равно придется действовать в одиночку. Да и в межклановые разборки (если они есть) при таком режиме попадать неприятно.
                                  Арена - я не гладиатор, а скорее исследователь, побродить по окрестностям мне куда интереснее. К тому же бой на арене обычно предопределен - кто лучше прокачан/оснащен, тот и побеждает. Сколько-нибудь уравнять шансы почти нереально. Вдобавок проигрыш боя для одиночек - это как правило выход из игры и заход на следующий день, что уменьшает время игры до минут. Денежные вливания на покупку игровой валюты, и покупку оснастки, тоже для активных игроков.

                                  Кстати, многие бесплатные MMORPG провоцируют денежные вложения, например за счет неявного стимулирования мародерства.

                                  Цитата impik777 @
                                  Они живут рядом с проходом.
                                  В принципе это ничего не меняет, можно считать, что они живут в комнатах, просто биться приходится не со всеми, а только с теми, что оказались неподалеку от точки входа, а остальных будто обошли.
                                  Можно предусмотреть возможность снова вступить с ними в бой, но поскольку лута нет, то она не нужна.
                                  Всё написанное выше это всего лишь моё мнение, возможно ошибочное.
                                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                  0 пользователей:
                                  Страницы: (3) 1 [2] 3  все


                                  Рейтинг@Mail.ru
                                  [ Script Execution time: 0,1407 ]   [ 20 queries used ]   [ Generated: 15.08.18, 22:03 GMT ]