История создания первой Diablo

Автор оригинала: Alex Wawro
  • Перевод
image

Больше двадцати лет назад Дэвид Бревик участвовал в создании Blizzard North. Также он сыграл важную роль в разработке хита студии — Diablo.

«Оригинальный концепт я придумал ещё в старшей школе», — рассказывает Бревик, посещавший школу в Области залива Сан-Франциско (название игры он позаимствовал у местной вершины — горы Дьябло). «Единственное, чего я всегда хотел — делать игры, и даже в старшей школе я думал об играх, которые могу сделать и о названиях, которые им можно дать».

По словам Бревика, изначально Diablo задумывалась более близкой к традиционной RPG с партией приключенцев, пошаговым игровым процессом и сильным влиянием его первых любимых игр — Rogue и Nethack.

Но сразу после колледжа он оказался в компании, создававшей цифровой клипарт, которая постепенно развалилась; после развала компании часть сотрудников решила образовать собственную компанию, названную в честь секретного проекта, над которым работала компания-разработчик клипартов: “Project Condor”. Так родилась игровая компания Condor.

Именно тогда Бревик написал дизайн-документ Diablo, описав её как пошаговую однопользовательскую DOS-игру, которая должна была получить расширения аналогично бустер-пакам карт для Magic the Gathering, имевшей тогда огромную популярность. Также в игре была перманентная смерть. «Это была важная особенность roguelike, поэтому мы тоже хотели её реализовать».

Кроме того, часто говорят, что изначально дизайн игры имел графику в стиле пластилиновой анимации.

«Это была не только пластилиновая анимация», — рассказывает Бревик, добавляя, что на самом деле при создании внешнего вида игры разработчики вдохновлялись аркадным файтингом Primal Rage.


«Мне очень нравилось, как Primal Rage выглядела на аркадных автоматах», — рассказывает Бревик. «В ней для всех персонажей и графики использовалось покадровая съёмка». Бревик тоже хотел использовать в Diablo стиль покадровой съёмки. Но когда он узнал, насколько это будет долго и дорого, от идеи пришлось отказаться.

Как Justice League Task Force объединила Blizzard North и South


Но чтобы оставаться на плаву, параллельно с планированием Diablo Condor занималась другими спортивными играми и играми по лицензиям, в том числе и Justice League Task Force для Sega Genesis.

Бревик вспоминает, как взял эту игру для показа на Consumer Electronics Show в Лас-Вегасе, где неожиданно для себя нашёл собрата по оружию — компанию-разработчика Silicon & Synapse, которая со временем превратилась в Blizzard Entertainment.


«Мы приехали, выставили свою игру на стенде, а потом… внезапно увидели ещё одну её версию — для Super Nintendo!»

Condor понятия не имела, что разрабатывалась версия Task Force для Super Nintendo (потому что издатель не озаботился сообщить об этом компании), и тем не менее эти две игры оказались странно схожими. Разработчики из Condor завязали разговор с сотрудниками Silicon & Synapse, у которых, как оказалось, тоже была мечта создать собственный хит, оригинальную игру для PC; эту мечту Condor не удавалось реализовать с проектом Diablo.

«Мы пытались предложить идею этой игры куче народу, но все отказывали, говорили, что жанр RPG мёртв. Никто не хотел инвестировать в RPG», — рассказывает Бревик.

Но после того, как Silicon & Synapse превратилась в Blizzard и создала Warcraft, она снова связалась с Condor и выслушала её предложение о создании Diablo. Blizzard понравилось услышанное и компания предложила издавать игру.

«Мы были в восторге и подписали контракт на разработку Diablo», — вспоминает Бревик. После этого студии пришлось думать, как же на самом деле должна выглядеть эта пошаговая изометрическая игра, каким должны быть положение камеры и рендеринг на экране.

«В те времена это было нелегко… Я взял скриншот из X-Com, и мы просто поместили его в Diablo», — рассказывает Бревик. «Фактически, основа из квадратных тайлов одинакового размера и формы общая для X-Com и Diablo».

То есть, по словам Бревика, внешний вид и технология Diablo в каком-то смысле полностью основаны на скриншоте из X-Com.

Бревик также вспоминает, что решение о превращении Diablo из пошаговой в игру реального времени вызвало споры. Он сказал, что несмотря на слухи, Blizzard не попросила у Condor сделать её в реальном времени и добавить мультиплеер. Это произошло уже позже, когда началась разработка игры.

«Позже Blizzard South сказала нам, что им бы очень хотелось, чтобы это была игра в реальном времени», — вспоминает Бревик. Поначалу он был категорически против этого — Дэвид любил классические пошаговые «подземельные» игры наподобие Rogue, и не хотел отказываться от пошаговости, потому что возможность дать игроку пожалеть о последствиях своих решений после хода и составляет всю сладость драмы этого жанра.

«Да, ответила Blizzard South, но реальное время будет лучше», — рассказывает Бревик. «Поэтому Blizzard North пришлось поставить этот вопрос на голосование, и я голосовал против, но все остальные были за, и мы решили попробовать».

Бревик связался с Blizzard South и сказал, что они смогут это сделать, но им понадобится намного больше времени на переделку игры, а также ещё один авансовый платёж.

«Они согласились на это, и я подумал „да!“», — вспоминает Бревик. «Тогда в субботу, во второй половине дня я приступил к работе и за несколько часов переделал игру, чтобы она работала в реальном времени».

«И так, наверно, родился жанр action-RPG (ARPG)».

Бревик с гордостью вспоминает момент, когда он впервые нажал мышью и наблюдал за тем, как его ранее пошаговый воин перемещался по комнате в реальном времени и атаковал скелета. «Помню, как сказал во весь голос: боже мой, это потрясающе!»

«Я почти уверен, что именно тогда родилась ARPG», — говорит Бревик. «Это был потрясающий момент, и мне повезло, что я стал его частью».

В процессе разработки Diablo Condor превратилась в Blizzard North. Частично это было вызвано далеко не идеальным финансовым состоянием компании.

«Мы были так рады работать над Diablo, что подписали договор с Blizzard, даже не осознавая, что соглашаемся создавать игру… за 300 000 долларов. В нашей студии было 15 сотрудников, и нам пришлось бы платить им по 20 тысяч в год. Кроме того, как бы мы оплачивали аренду офиса?»

Но им очень хотелось создать Diablo, поэтому Condor начала искать дополнительную работу, чтобы поправить свои финансовые дела. Они обратились к 3DO и подписали контракт на создание футбольной игры для консоли почти за 1 миллион долларов.

«Это помогло нам. Очень сильно помогло». Но даже после подписания договора компания не получила все деньги сразу и была вынуждена день за днём с трудом платить сотрудникам и оплачивать эксплуатационные расходы.

«Потом, в какой-то момент Blizzard South сделала нам предложение: ребята мы бы хотели вас купить», — рассказывает Бревик. «Для нас это стало большим облегчением, нам больше не нужно было заботиться о заработной плате». Но об этом узнала 3DO и эта идея ей не понравилась, поэтому она начала делать собственные предложения.

«Так началась аукционная война между Blizzard и 3DO. 3DO предлагала нам вдвое больше денег, но мы ей отказали, потому что чувствовали, что на самом деле и наша компания, и игра по-настоящему принадлежат Blizzard. И мы были так близки к её культуре и взглядам, что отказались от двойной ставки 3DO и перешли к Blizzard».

Мимоходом Бревик вспоминает, как в конце 1996 года, когда разработка Diablo находилась в режиме кранча, к нему обратился бизнесмен по имени Сабир Бхатия (Sabeer Bhatia) и сказал буквально следующее: «Я собираюсь сделать электронную почту для Интернета… Я дам вам десять процентов от своей компании, если вы предоставите мне место для работы в своём офисе».

Бревик ответил: «Ни за что, в этом нет никакого смысла! Электронная почта в Интернете? У меня уже есть почта в Интернете». Blizzard North напряжённо работала над Diablo, поэтому Бревик сказал Бхатии, что не может предоставить ему место для работы в компании.

Компания Бхатии взяла название Hotmail и стоимость её выросла примерно до 400 миллионов долларов. То есть Бревик мог получить 40 миллионов долларов, что (по его оценкам) сегодня составляет примерно 280 миллионов.

С другой стороны, разработка Diablo стимулировала популярность Battle.net, которая изначально родилась в Blizzard North, но в основном разрабатывалась Blizzard South. Но на протяжении почти всего срока разработки Diablo не имела ни многопользовательских режимов, ни даже кода, поэтому в последние месяцы команде Blizzard North в буквальном смысле пришлось переместиться на юг (south), чтобы вместе с Blizzard South работать над реализацией поддержки Battle.net в Diablo. Бревик рассказывает, что его студия оказалась совершенно неготовой к тому, насколько быстро серьёзной проблемой игры стало читерство.

«Мы знали, что люди смогут взламывать игру или читерить», — рассказывает Бревик, но студия полагала, что это будут отдельные случаи. «Но потом игра вышла и мы подумали „боже мой… читы загружают в Интернет и теперь читерить могут ВСЕ!“ Мы об этом даже не думали!»

Бревик вспоминает, что это был один из самых обескураживающих моментов в жизни Diablo и он сильно мотивировал Blizzard переделать клиент-серверную архитектуру для Diablo II.

Кроме того: «Это уже больше не секрет, и я вряд ли навлеку на кого-то проблемы, сказав, что Battle.net работала на одном компьютере. Так как игроки напрямую подключались друг к другу, нам не нужна была высокая производительность, сервер занимался только этими подключениями».


Затем Бревик показал краткий фрагмент из предрелизного альфа-демо, которое компания распространяла на демо-дисках PC Gamer в ноябре 1996 года. Один из этих дисков ему удалось найти у себя дома.

«Одним из негативных аспектов RPG того времени было то, что прежде чем начать играть, приходилось пройти 25 меню создания персонажа». А Blizzard North очень полюбила меню в Doom, поэтому компания разрабатывала интерфейс Diablo, вдохновляясь тематикой игры id Software и подвергая его «маминому тесту» — «сможет ли моя мама играть в эту игру?». Идея заключалась в том, чтобы создать игру, в которую можно начать играть как можно быстрее, с минимальными задержками.

Говоря об UI, Бревик отметил, что непосредственным источником вдохновения при создании карты Diablo была минималистичная автокарта из Dark Forces, и что интерфейс быстрого доступа (hotbar) был придуман в последние три месяца работы над проектом.

До этого, по словам Бревика, был только один слот в левом нижнем углу экрана, в который игроки могли складывать зелья, но если они заканчивались, то значит, игроку не повезло. Также студия едва не избавилась от механики «нажми правой клавишей, чтобы активировать скилл» (игроку бы приходилось каждый раз открывать книгу скиллов и нажимать на скилл, чтобы его использовать) и чуть не добавила механики готовки и поедания пищи в самом конце разработки, но у неё просто не хватило на это времени.

«Завершение проекта было очень суровым; мы находились в кранче 8-9 месяцев», — вспоминает Бревик. «В то время моя жена была беременна; ребёнок должен был родиться в конце декабря… вы видите, к чему всё шло».

Примерно 10 декабря жена Бревика позвонила ему в офис и сказала: «У меня схватки, пора ехать».

У студии уже были проблемы, потому что она безуспешно пыталась выпустить Diablo к Рождеству 1996 года. Но в результате выпуск был отложен до 31 декабря, а схватки оказались ложной тревогой — дочь Бревика родилась 3 января, спустя несколько дней после появления игры.

«Мы прилагали сверхусилия, чтобы игра была великолепной, и мне кажется, в конечном итоге оно того стоило. Кранчи — это никогда не весело, но иногда, по крайней мере лично я считаю их неизбежным злом».

(Попутно Бревик упомянул, что кранч во время работы над Diablo II оказался ещё хуже — он длился примерно полтора года. «Это был худший кранч в моей жизни», — говорит он.)

Странный, но интересный факт об игре: Бревик вспоминает, что после выпуска Diablo был объявлен конкурс — первый игрок, убивший Диабло, должен был получить 100 долларов. Вскоре после этого один игрок воспользовался скиллом обмена здоровьем, добрался до последнего босса, обменялся с ним здоровьем, дождался, пока босс едва не убьёт его, снова обменялся здоровьем и победил его.

«Мы сразу же убрали из игры этот скилл», — говорит Бревик. По-видимому, Blizzard North всё-таки выплатила игроку его 100 долларов.

Ещё один интересный факт о дизайне игры: «Имя Декарда Каина (Deckard Cain) возникло в результате проведения конкурса… как часть конкурса в PC Gaming Magazine: люди могли присылать свои имена, чтобы мы использовали их в Diablo. Кто-то прислал имя Deckard Cain, не знаю, было ли оно выдуманным, но мы подумали: „Чёрт, а ведь это круто. Возьмём его!“»
См. также: «Blizzard анонсировал Diablo IV».
Поддержать автора
Поделиться публикацией
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 63

    +1
    Достаточно интересно. Спасибо. Вопрос, а фраза «У меня схватки, пока ехать». Имеет умышленно такой вид или слово «пока» — опечатка?)

    Ждём про 2 часть)
      +2
      Да, это опечатка, о них лучше писать в личку, исправил.
        +11
        Или выделить и нажать Ctrl+Enter
      +5
      Про читерство звучит как прохладная история — я могу поверить в недостаток опыта, но не в то, что все принимающие решения люди говорят «да ладно, не будут читерить». Нынче движок D является прекрасным учебным примером того, как НЕ надо делать обмен данными между сервером и клиентом (слать сообщения вида «X атаковал Y на N дамага»).
        +2
        Да почему прохладная? Сейчас масса новичков так же и делают, хотя, казалось бы, информации в разы больше по всем аспектом геймдева, нежели 20 лет тому.
          +3
          В 1996 году это действительно могло быть немного неочевидно (как и наличие читов у каждого, кто подключен к интернету: тогда читы чаще писались от руки и сколько людей стали бы этим заниматься?).
          Кстати, в Quake2 на сервере тоже можно было читерить: играть с уроном по конкретному игроку, да и пару лет назад мылору выпустила локализацию какой-то корейской mmo-игры, где дамаг рассчитывался на клиенте — результаты довольно предсказуемы.
          PS в diablo2 локальные сохранения тоже можно было спокойно править в hex-редакторе, чем я и развлекался: не выпадает новое оружие? Пфф, добавим ещё 10000 силы.
            +5
            А мы с приятелем клонировали персонажей и крутой шмот или редкие предметы: копировали папку с сохранением, в сетевой игре все ценное передовалось, а потом восстанавливали сохранение.
              0
              А как же «краеугольный камень мира» и сейвы, которые можно перезаписать потом из резервной копии?
              Помню передавал через него кучу шмота на свежего перса. И это не сетевая игра вроде была…

              А так прекрасная игра была для своего времени. Сейчас пожалуй терпения пройти заново уже вряд ли хватит… Слишком слабая графика и её почти ничто не компенсирует.
              +1
              PS в diablo2 локальные сохранения тоже можно было спокойно править в hex-редакторе

              Вообще-то локальные сохранения чего угодно можно спокойно поправить.
              Но в остальном да, я что-то только что осознал, насколько же стара D. В 1996 году вполне могли счесть читерство не заслуживающим внимания. Что, впрочем, потом не помешало Близзардам еще много раз облажаться с Варкрафтом и Старкрафтом, а именно — читерству через отключение тумана войны (хотя надо признать, что «честно» решить эту проблему сложнее, чем просто сделать вменяемую синхронизацию состояния игры).
                0
                В SC2 до сих пор встречаются мапхакеры. Война щита и меча.
                  0
                  Ну это-то решается технически (через непередавание актуальных данных о том, что скрыто под туманом войны, вместо этого можно «лениво синхронизировать» состояния клиентов с разными вариантами компромиссов между толщиной потока данных и степенью актуальности), просто близзарды не стали решать эту проблему вообще, и свели всё к административному воздействию («читеров побаним», вот только банят не всех и не всегда).

                  Принципиально неустранимы только читы, основанные на компенсации слабостей кожанных мешков — то есть, когда у клиента игры точная информация однозначно есть, и её не может не быть, а вот игроку надо что-то сделать без доступа к этой информации. Например, навести прицел на противника и выстрелить. Тут, естественно, будут возможны читы, делающие это за игрока, и принципиально от этого не избавиться.
                    0
                    просто близзарды не стали решать эту проблему вообще
                    Я бы не стал так утверждать, кто его знает из-за чего они оставили все так как есть, к примеру в том же WoT информацию о противнике, клиент получает лишь когда его обнаружит радаром, из-за чего бывают случаи что можно смотреть на противника, и не видеть его, так как радары его еще не заметили.
                      0
                      Я бы не стал так утверждать

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

                      Но даже и с lockstep проблема тумана войны в существенной степени разрешима, просто решение куда более сложное: синхронизировать состояние клиентов с задержкой (т.к. то, что под туманом войны — для других клиентов не так важно), синхронизировать состояние клиентов только в момент обнаружения друг друга и только в объеме, необходимом для такого обнаружения (проще говоря, если к тебе на базу пришел зилот, то игра должна синхронизировать весь объем действий другого игрока, который к этому привёл), и разные компромиссы этих вариантов.
                        0
                        Автосплит тоже есть в SC2.
                        И он работает так, что только ты появляешься в вижене опонента, он сразу автоматом сплитит войска.
                        Крип у зергов тянется сам собой. Даже камера не переключается у читера.
                        Много проблем у игры.
                          0
                          Ну это-то принципиально не решить, если клиент остаётся неподконтрольным. Эти штуки сродни аимботам для FPS — они делают действия, которые основаны на необходимой информации в клиенте игры (т.е. не передавать её уже не выйдет), только с идеальной точностью и скоростью.
                            +2
                            Все данные, которые вы передали пользователю, могут быть использованы против вас.
                          0

                          Такое решение противоречило бы функции записи реплеев. Понятно, что в конце игры можно было бы отдавать реплей клиенту, но остаётся два но:
                          1) сейчас в реплеях записываются только разговоры команды (и сообщения всем). На сервере этого нет, вообще не будет разговоров (включая пинги карты).
                          2) в случае обрыва связи реплей не записать. А ведь есть такая функция как возобновление игры из реплея. Бывает, ей пользуются на турнирах, и на них же бывали те же проблемы со связью.

                            0
                            Неправда. Наоборот, с центральным сервером реплей писать не в пример проще: у сервера всегда заведомо есть единственное верное состояние игрового мира. Можно не только полный реплей составлять из этого, но и выборочные (да-да, вот с «разговорами команды»).
                            0
                            Решение, которое вы описываете это адский ад, как с точки зрения программирования так и гейм-дизайна. В общем случае нельзя сказать, не посчитав, влияет ли некое действие в тумане войны на состояние вне тумана войны, в результате такой подход частичной синхронизации приведет к тяжеловоспроизводимым случайным рассинхронизациям. Не говоря у ж о том что синхронизировать 10 минут игры в один кадр, когда твой зилот первый раз пришел на базу противника гарантированно приведет к просчету в пару секунд. Если бы всё было так просто это бы уже давно все сделали.
                              0
                              В общем случае нельзя сказать, не посчитав, влияет ли некое действие в тумане войны на состояние вне тумана войны

                              Нельзя. Но тут как раз можно и «посчитав» сделать.

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

                              Для этого и возможны компромиссы с «ленивой синхронизацией», когда всё в тумане войны синхронизируется, но не мгновенно, а спустя некоторое произвольное время. Тогда и не придётся потом обсчитывать 10 минут игры в один кадр.

                              Сложно? Конечно это сложно. Но далеко не невозможно.
                                0
                                Нельзя. Но тут как раз можно и «посчитав» сделать.

                                Если есть из чего посчитать — то данные есть у клиента, мапхаки возможны, если считать на сервере то неизбежны задержки (пойди посчитай всё какой поднабор инпутов север должен отправить каждому клиенту).

                                Сложно? Конечно это сложно. Но далеко не невозможно.


                                В общем случае (случайной сложности геймдизайн) невозможно.

                                Даже если предположить возможность это всё ещё чрезвычайное повышение сложности, а значит источник багов, а так как это сетевая синхронизация, то багов особо веселых для воспроизведения. Так же это убивает одно из преимуществ локстепа, что код симуляции можно писать не зная о том что игра сетевая. В реальном мире уже этого всего достаточно, чтобы сказать «Пожалуй, мы поборемся с мепхаками по-другому».
                                  0
                                  Если есть из чего посчитать — то данные есть у клиента, мапхаки возможны

                                  Возможны максимально неполные данные вида «событие в точке X,Y». Да, на основании этого можно сделать мапхак, но далеко не такой интересный, как «вижу всё, что делает противник».

                                  В общем случае (случайной сложности геймдизайн) невозможно.

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

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

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

                                  А плюсы конкретно peer-to-peer локстепа в современное время и вовсе сомнительны.
                                    0
                                    Сейчас в основном используют локстеп с центральным авторитетом, а основное преимущество технологии — минимизация траффика — как был так и остается необходимым для игр с большим количеством юнитов.

                                    Возможны максимально неполные данные вида «событие в точке X,Y». Да, на основании этого можно сделать мапхак, но далеко не такой интересный, как «вижу всё, что делает противник».


                                    Неполных данных недостаточно, чтобы всё верно посчитать. Вы просто попробуйте сделать демку такого теха. Это нереально.
                                      0
                                      Неполных данных недостаточно, чтобы всё верно посчитать.

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

                                      минимизация траффика — как был так и остается необходимым для игр с большим количеством юнитов

                                      Да ничего подобного. Переслать десять-двадцать байт на юнит (поскольку пересылать требуется изменения, а не полное состояние) никого не раззорит даже при сотнях юнитов. На локстепе можно было играть в старкрафт по плохому adsl-модему с никакущим апстримом и даунстримом меньше мегабита. Сейчас игроков с апстримом и даунстримом меньше мегабита можно смело отбрасывать как количественно несущественную аудиторию. Сколько вы собрались передавать информации, если вам из-за «большого количества юнитов» будет мало мегабита в секунду?
                                        0
                                        Во-первых, разорит, хостинги вроде амазона очень хорошо берут за исходящий траффик.
                                        Во-вторых, данные о сотнях юнитов (даже их изменения) не влезут в MTU (20 байт на юнит это даже для сотни юнитов уже 2кб в кадр, а там вероятно и юнитов больше и данных больше, так как кроме положения юнитов, есть ещё всякие эффекты, куллдауны и прочая и прочая), а значит пакет придется бить, а значит вероятность потери данных увеличивается, увеличивается латентность, хотя да, ширины канала вполне достаточно, притом что современный локстеп с локальным предикшном имеет практически нулевую задержку.

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

                                          0
                                          Во-первых, разорит, хостинги вроде амазона очень хорошо берут за исходящий траффик.

                                          Для клиент-серверной архитектуры сервер не обязательно должен находиться у амазона и вообще у конторы разработчика.

                                          (20 байт на юнит это даже для сотни юнитов уже 2кб в кадр

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

                                          Я не зря написал про peer-to-peer lockstep — соль тут именно в том, что для избавления от мапхака у нас просто не должно быть p2p обмена данными. При этом обмен данными с сервером всё так же может идти по методу lockstep, но уже с неполнотой (присылается только то, что игрок видит). Разумеется, тут всё еще нужно доверять серверу, но в p2p доверять нужно вообще всем сразу.
                                            0
                                            мне немного интересно, а какой-то опыт в реализации предлагаемых подходов у вас есть? если да то какой?

                                            Пока это все похоже на диванное проектирование :)
                                              0
                                              Естественно это диванное проектирование. Или вы где-то выше прочитали «я уже так делал»?
                                            0
                                            А у вас каждый кадр что-то в юнитах меняется? Вы пишете игру, или тонкий клиент под игру?

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

                                            Для клиент-серверной архитектуры сервер не обязательно должен находиться у амазона и вообще у конторы разработчика.

                                            Говорили же про старкрафт, там сервера у разработчика стоят.

                                            Я не зря написал про peer-to-peer lockstep — соль тут именно в том, что для избавления от мапхака у нас просто не должно быть p2p обмена данными.

                                            Так в современных стратегиях p2p трафика обычно и нет, все же за NATом сидят. Сервер просто рассылает клиентам вводы других игроков.

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

                                              0
                                              Так в современных стратегиях p2p трафика обычно и нет, все же за NATом сидят. Сервер просто рассылает клиентам вводы других игроков.

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

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

                                              Если есть сервер, у которого симулируются полная картина мира — то это вообще тривиальная задача фильтрации («не отправлять игроку N всего того, чего он не видит»).

                                              Если сервера нет — то система будет гораздо сложнее, но не вижу ничего принципиально невозможного. Никакой особой похожести на локстеп у неё скорее всего не будет, данные там придётся хранить совсем по-другому (хотя бы учитывать причинно-следственность всех действий игрока, чтоб потом можно было отгружать части симуляции другим игрокам, а не всю симуляцию сразу).
                                                0
                                                Выглядит как собрание минусов из каждой технологии. Трафика (у сервера) больше, минусы локстепа все наличествуют.


                                                Траффика меньше, потому что вводов меньше, чем данных о мире, которые бы пришлось рассылать всем игрокам.

                                                На самом деле дискуссию пора закрывать, потому что её может разрешить лишь пруф оф концепт, а его писать вы не будете, а если будете то это и отдельной статьи достойно в любом случае.
                    0

                    А я на сеге в road rash 3 анализировал в тетрадке текстовые сохранения, а потом изменял некоторые буквы для смены мотоцикла.

                      0

                      Еее, для меня это был первый опыт чего-то похожего на программирование

                  0
                  «action-PRG (APRG)» — исправьте опечатку, пожалуйста (или это какой-то новый жанр, о котором я не знаю?=)) )
                    0
                    Спасибо, исправил.
                    +1
                    Что будет если положить в куб харадрика две ноги Вирта? )))
                      +2
                      Вторая версия Рагнароса.
                      +1
                      Ехал кранч через кранч.
                        +2
                        С хотмейлом получилось эпично.
                          +1
                          Кранчи — это никогда не весело, но иногда, по крайней мере лично я считаю их неизбежным злом

                          Дэвид, ты все перепутал! Неизбежное зло — это не кранчи, а перенос сроков и увольнение менеджеров! А кранчи — это обыкновенная эксплуатация. Все-таки поганая это отрасль — игростроительство, если уж даже программистов достали настолько, что они формируют профсоюзы.
                            0

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

                              +1
                              В игростроительстве эксплуатация, по-моему, еще на большом энтузиазме держится: результат-то осязаем и нереально крут. Вот и появляются коммунистические элементы (давайте работать и перерабатывать, это ж общее дело, мы же сделаем классную штуку) в капиталистическом базисе (всем зарплата и никаких процентов с продаж, а за переработки — в лучшем случае фиксированный бонус, в худшем — кукиш с маслом).
                            +1
                            Самое интересное: как они придумали свою автогенерацию уровней?
                            Это же было невероятно просто!
                              0
                              Так источником вдохновения были рогуе-лайки, а там это как бы ключевая особенность жанра.
                                0
                                Уже была такая статья про генерацию уровней diablo. За тем же авторством, если память не изменяет.
                                0
                                В 2003 году я учился в 11-м классе. В кабинете информатики стояли старые (уже тогда) компьютеры. Какой Пентиум это был я уже не помню. Однако, помню, что на уроках мы писали алгоритмы в тетрадях. Иногда проходили «свободные уроки», когда все садились за свободные машинки и занимались чем попало, например, скачивали интересные картинки. Я в это время пытался запустить на компьютере Diablo — каким-то чудом эта игра там была. Ни разу у меня не получилось, но само ощущение, что вот-вот произойдет чудо и я смогу поиграть в легендарную игру, о которой читал в журналах, было потрясающе. До сих пор, когда где-то проскальзывает Diablo, ловлю флэшбеки этого чувства. Ни тогда, ни после этого, в Diablo я так и не поиграл, к сожалению.
                                  +2
                                  Ни тогда, ни после этого, в Diablo я так и не поиграл, к сожалению.
                                  Зря. Одна из тех игр, которые я прохожу раз в несколько лет. К тому же на GOG сейчас можно купить адаптированную под современные ПК/ОС версию.
                                    0
                                    Текстуры и спрайты под нормальное разрешение? Хотя бы фулхд?
                                      0
                                      Обязательно попробую, спасибо)
                                    +1
                                    Сейчас есть довольно крутой мод для D1, называется The Hell. Делает в одиночку чеченский парень. Только что посмотрел — даже в этом году выходили обновления для него. Сам играл несколько лет назад. Самое то для ценителей олдскула, которые D1 прошли вдоль и поперёк (оригинальная игра очень лёгкая, к тому же, в ней невозможно умереть, если хотя бы пару дней наиграл и понял механику боя).

                                    А Diablo 4 на текущей стадии выглядит очень печально. Буквально вчера внимательно посмотрел ролик с близзкона, где стример какой-то играл пару часов. Существует куча качественно сделанных клонов, от всяких корейских Lost Ark, до хорошо зарекомендовавшей себя Path of Exile. Непонятно чем 4-ая часть планирует от них отличаться, пока что только красивый вступительный ролик порадовал людей. Работать им придётся не только долго, но и старательно, привлекая талантливых разработчиков. Вон Diablo 3 изначально разрабатывала довольно слабая команда во главе с Джеем Вилсоном, получился просто кошмарный и сырой продукт (на момент выхода), который уже другие люди доводили до более-менее приличного состояния.
                                      +1
                                      Не так сложно придумать новые игровые механики, как понять аудиторию, на которую рассчитывать игру. Вот смотрите, предлагаю готовую фишку для Д4. Глобальная карта, на которой по мере прогресса игроков «зло» отступает. На освобожденных областях меняется визуальный стиль, цены становятся дешевле и прочее. Сезон заканчивается когда игроки очищают весь Санктуарий. В новом сезоне делают злее монстров, добавляют другие мировые ивенты и т.д.

                                      Старых игр было достаточно мало, и нормальные игры сразу становились хитами. Сейчас есть куча игр с более крутой графикой/более интересным геймплеем или же более хардконрными. Поэтому угодить очень сложно. А если это еще и сиквел, то тебя всегда будут сравнивать «раньше трава была зеленее».
                                        0
                                        Старых игр было достаточно мало, и нормальные игры сразу становились хитами.

                                        Но хиты прошлого зарабатывали гораздо меньше нынешних. Особенно на PC. Сейчас рынок вырос по сравнению с датой выхода D1 просто безумным образом. Да, выросла и конкуренция, но это ожидаемо. Но при реально крутой идее можно сорвать куш даже без вкладывания огромных ресурсов. Вон как создатель Minecraft стал очень богатым, не вкладывая почти никаких денег в разработку. В 90-ые такие прибыли были физически невозможны даже если ты самый талантливый игродел в мире.
                                          +1
                                          Стоимость разработки также выросла в десятки раз. Пиксель арт игры это удел инди конторок, а чтобы сделать графику и дизайн уровней на уровне Лары Крофт новой нужны десятки художников, 3д-моделлеров, левел дизайнеров и прочего. Даже на движок уходит в разы меньше сил, вполне возможно что какой-нибудь UE допиливается в пару человек.
                                          0
                                          Не так сложно придумать новые игровые механики, как понять аудиторию, на которую рассчитывать игру.
                                          — и что же тут сложного?
                                          В новом сезоне делают злее монстров, добавляют другие мировые ивенты и т.д.
                                          — близзы примерно это и делают, и все скатилось в следующее (относительно предложенного) — каждый сезон монстры злее — (передвигают коэффицент снижения урона и исходящего дамака и хитов), правят предметы что бы 1 из 3-х сетов был более эффективен чем 2 других (опять передвинем ползунки % бонуса), мировые эвенты сделают так: будет 10-к эвентов (как викли из вов) которые будут в каждом сезоне и опять передвинут ползунки что бы одни были реже другие чаще или равноценными оставят. как и задания в сезонном походе диаблы 3 (ага 17 сезонов а задачи идентичны).
                                          близзы уже лет 15-20 занимаются самокопированием. делать игры для них давно уже просто бизнесс, а не творчество.
                                          то есть они просто не заморачиваются, что бы что то сделать. ведь всем и так понятно — что игроки схавают это в любом случае. что diablo immortal отменили несмотря на недовольства?
                                            0
                                            Как раз с аудиторий сложно: на Diablo 3 большинство забило, и если сделают ещё одно дьябло 34 с ошибкой 42 на старте, смертью на ХК с дисконнектами и развлечением «новый сезон — он как позапрошлый, только новый! Смотрите, ваши циферки увеличились на 18%!!! А ещё вы получите новый фон и баннер!!!» — серия захоронится окончательно.
                                              0
                                              Серия с одной из самых продаваемых игр в мире захоронится? Это вряд ли. Насчет большинства — оно убило дьяблу на нормале и успокоилось, дальше продолжило играть как раз-таки меньшинство. На это же большинство будет рассчитана и четвертая часть.
                                                0
                                                Сколько дополнений и какое время жизни было у Diablo2 (хинт: it's alive!) и сколько в третьей?
                                                Почему отложили второй контент-патч D3?
                                                Да и до сих пор в D2 играет на оффе больше людей, чем в тройку, я уже не говорю про приватные сервера.
                                                Не уверен, что именно так выглядит успех и развитие серии.
                                                  0
                                                  У меня нет статистики ни по онлайну D2, ни по D3, чтобы сравнить их в лоб, но я не думаю, что в D2 прямо много играет, а вот в D3 рубятся в Китае, там даже донат шоп есть, думаю там порядочно людей в нее бегает, а в D2 только полтора анонимуса.

                                                  Насчет почему забросили D3 — это знает только руководство Blizzard, странно забрасывать игру с такими продажами, ведь по ним она лютый вин и могла бы приносить прибыль еще долго. Лично бы побежал покупать второй аддон, выпусти они его, но увы. чего нет, того нет.
                                          0
                                          Ролики очень напомнили dungeon siege, почему-то, с конём из Lost Ark.
                                          Задумался, что раньше в другие игры заходил с мыслью «ребяты, вы недавно из анабиоза? Удивите меня, какие у вас отличия от diablo, кроме текстурок?», а сейчас на diablo смотрю с теми же чувствами.
                                          Было бы грустно закопать и эту серию, как убики закопали Героев. И да, они недавно анонсировали продолжение Героев на мобилках, с сундучками и микротранзакциями.
                                          +1
                                          А мне всегда в Diablo нравилась именно уникальная атмосфера. Музыка, сюжет. Похожих игр сейчас куча, и среди них с такой атмосферой трудно найти. Более всего сейчас похожа Grim Dawn, как мне показалось.
                                            +1
                                            Да, музыка, особенно тема в Тристраме отличная — поставил её себе на будильник ))
                                          • НЛО прилетело и опубликовало эту надпись здесь

                                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                            Самое читаемое