Самое большое количество вопросов к будущей MMO Рафа Костера вызывает ставка на отсутствие у игры полноценного клиента и обработку всех игровых событий в серверном облаке. Раф называет такой подход «cloud-native». Будто чувствуя наши сомнения, он посвятил очередной свой текст объяснению основ своего выбора. И, по-моему, этим текстом он действительно многое проясняет.
«Облако» — очень популярное слово в наши дни. И да, мы сами виноваты в этом больше других после того, как начали называть используемую нами технологию «облачной». Но что, чёрт возьми, это значит? (Прежде всего, это точно не направление облачного гейминга).
Первым делом предлагаю взглянуть в лицо фактам: облака не являются чем-то новым. Они использовались ещё тогда, когда мы запускали программы на мейнфреймах, используя довольно примитивные терминалы с тонким клиентом. Сегодня вместо одного мейнфрейма мы используем серверный кластер с большим количеством компьютерных мощностей, которые мгновенно подключаются и отключаются по требованию. В том, как всё это видоизменилось, можно увидеть очень красивое техническое решение, но суть осталась прежней.
Что облако означает для нас на самом деле, лежит в сути этого понятия.
Давным-давно, когда я начинал создавать онлайновые миры, они состояли из текста. Вы использовали обычный клиент, чтобы подключаться к разными мирам, даже к тем, которые были написаны на разных «серверных движках» (тогда мы это называли «codebases», но не суть).
Суть в том, что когда игры работали таким образом, дизайнеры могли менять и развивать игру в любой момент, не заботясь о том, что пользователь использует для подключения. А пользователи могли подключаться откуда угодно, потому что любой компьютер имел необходимое ПО для подключения.
И это ещё не всё. Такой упрощённый подход к серверной части позволял использовать наработки для сотен онлайновых миров. Миры постоянно обменивались идеями, контентом, даже кодом.
Результатом этого был взрыв творчества. По большому счёту, в современных онлайновых играх есть крайне малое количество возможностей, которые не были изобретены и реализованы в то время. Мы продолжаем потреблять те же идеи до сих пор.
Сегодня онлайновые игры работают совсем иначе. Для каждой MMO пишется своя серверная часть с нуля, в которой геймплейная схема фактически «хардкодится». Клиенты настраиваются под совершенно конкретный сервер. Большинство популярных игровых движков имеют предел одновременных подключений, который ниже, чем тот, что был у старых текстовых игр в середине девяностых. Частично из-за того, что эти движки изначально проектируются для одиночных или достаточно скромных мультиплеерных игр.
Более того — игровая индустрия до сих пор размышляет в категориях «PC-игры», или «мобильные игры», или «консольные игры».
Но это ведь очень странно для современного мира. Игры становятся всё более персистентными. Они становятся всё более социальными. Они стараются связывать всё со всем. Игроки жаждут «кроссплея». Они хотят играть на всём, что подходит.
Так что давайте поговорим о конкретной трактовке термина «облачный», которая поможет взглянуть на вещи иначе.
В 1923 году в Австралии появилось радио. Но произошло это крайне странным способом — у радиоприёмников не было ручки настройки. Каждый радиоприёмник был раз и навсегда настроен на конкретную частоту. Если вы хотели слушать две радиостанции, вам нужно было купить два радиоприёмника.
Возможно, это звучит безумно для вас. Но именно так работают сегодня онлайновые игры. По сути, это стало настолько привычным, что мы просто не задумываемся.
Долгое время люди указывали на, скажем, World of Warcraft, и говорили «это крупнейшая MMO». В 2007 году у них было что-то около 6.5 миллионов активных подписчиков. Это оставляло далеко позади EverQuest, у которого в своё время было всего несколько сотен тысяч подписчиков. Примерно так выглядит привычный взгляд на жанр.
Если только не учитывать, что в тот самый момент лишь североамериканских и европейских игроков у Habbo Hotel было 7,5 миллионов, а у Runescape — 5 миллионов. И если продолжать считать в том же духе, EverQuest не попадёт даже в десятку. Зато там будет Club Penguin, NeoPets и другие игры, у каждой из которых больше миллиона ежемесячных пользователей.
Общее свойство перечисленных мной игр — они работают через интернет-браузер, благодаря Flash и подобным технологиям. Многие игроки относятся к ним пренебрежительно из-за невысокого уровня графики. Но причина, по которой эти игры смогли достигнуть таких показателей, заключается в облачном принципе, который встроен в тот же Flash.
Видите ли, такие игры практически полностью находятся на сервере. На стороне браузера запускается универсальный графический движок, которому плевать на то, запускаете вы Club Penguin или что-то другое. В 2015 году Flash был установлен у пятисот миллионов пользователей, которые могли запускать любой контент с серверов, рассчитанных на эту технологию. (И это в свою очередь также привело к огромному взрыву творчества).
Давайте представим, что в случае с «облаком» любое устройство — это просто окно. И в этом окне мы можем показать в графическом плане нечто немного лучшее, чем то, что мог позволить Flash. Вам не нужно иметь огромную коллекцию радиоприёмников, чтобы настраиваться на разный геймплей.
Некоторое время назад в Fortnite произошло одно событие — по всему миру начался глобальный обратный отсчёт, после чего всё засосало в чёрную дыру. Помните такое? Знаете, что это было?
Представьте, что вы хотите купить новую книгу своего любимого автора. Вы отправляетесь на Amazon, зная, что сегодня день выхода книги. Она должна появиться здесь в любой момент… и тут серверы Amazon выключаются. А вместе с ними — и ваш браузер. И только тогда, когда серверы снова поднимаются, вы видите новую книгу.
Звучит странно, правда? Амазону не нужно обновлять ПО вашего браузера, чтобы добавить книгу в каталог… и играм тем более не нужно этого делать. То, почему для нас это привычно, просто результат того подхода, к которому мы привыкли, и ничего большего. Косвенно такой подход приводит к тому, что игры становятся статичными, возможности игроков проявлять в них творчество существенно снижаются, и если вы любите серию Call of Duty, она может занять весь жёсткий диск консоли. Всё это сковывает как разработчиков, так и игроков.
Но, разумеется, приходится идти на компромиссы в случае желания получить более динамическую архитектуру. Один из самых больших таких компромиссов — ваша графика будет далека от топовой. Но лично я пойду на такой размен, и глазом не моргнув, потому что нам обещали, что мы к этому времени будем жить в живых, персистентных виртуальных мирах, выходя из своих летающих автомобилей, но мы в итоге согласились обменять этим миры на картонные макеты, хотя и очень красиво раскрашенные.
Насколько серьёзным был этот обмен?
Смотрите, у меня на руке Apple Watch. В них хранилище на 32Gb и 1Gb памяти. Всё это под управлением двухъядерного 64-битного CPU, работающего на частоте 1,6Ghz.
Когда я был главным дизайнером Ultima Online в момент запуска проекта в 1997 году, на одном сервере было 10Gb дискового пространства, 256Mb памяти и двухъядерный процессор с частотой 300Mhz. Да, нам пришлось разделить мир на шарды, а каждый шард поддерживало несколько таких машин. То есть нам понадобилось бы два или три экземпляра моих часов.
Да и, кстати, пропускная способность канала к клиенту с тех пор увеличилась в две с половиной тысячи раз.
Так куда ушли все эти новые вычислительные мощности? Текстовый MUD держал 250 одновременных игроков. Шард UO — в два-три раза больше. И любой самый маленький дом, построенный там игроками, имел больше динамических интерактивных объектов, чем вся карта Battlefield или Apex Legends.
Это не значит, что упомянутые игры плохие или некачественно сделанные. Нисколько! Это отличные игры, просто они преследуют другую мечту. И да, разумеется, игры существенно эволюционировали по сравнению с 1997 годом. Но.
Когда мы посмотрим на то, что у компьютеров получается действительно хорошо, мы придём к такому списку:
И это причина, по которой невероятно амбициозный программист в одиночку может сделать так, чтобы кошка, наступив лапами на разлитое спиртное, начала их вылизывать, опьянела и облевала всю таверну на простом десктопном компьютере. А мы, имея огромные вычислительные мощности в облаках, не можем создать живые миры. Не говоря уже о летающих машинах.
Но что если ваш дизайн предполагает наличие всех этих вычислительных мощностей? Что если вы проектируете игру из расчёта на то, с чем компьютеры действительно хорошо справляются? Вы оказываетесь в зоне процедурного контента, который более реалистичен и более интерактивен, чем что-либо созданное вручную. Вы оказываетесь в пространстве миров, на которые игроки могут оказывать огромное влияние, и в которых могут быть полноправными хозяевами, а не посетителями. Теперь вы также можете выбросить понятие «шард». И дальше вы можете размышлять, отбрасывая старые представления, в которых игры оказываются вещами в себе.
Так что когда мы говорим «облака», мы подразумеваем следующее:
Мы проектируем игровую архитектуру, предполагая, что игра находится на сервере, а не запечена в готовой форме клиента, включая отбрасывание всех прежних представлений о том, как игра распространяется, как к ней осуществляется доступ, как в неё можно играть. Игра должна встречаться с игроком там, где он находится.
Мы проектируем наши серверы в качестве полноценных представителей современной всемирной сети, которые могут использовать всю доступную инфраструктуру, все API, и всю мощь масштабируемых вычислений, а не просто переносим локальный сервер в облачный хостинг.
Пора заканчивать с разговорами о том, что сложные персистентные миры невозможно создать. Их можно было создавать все эти годы.
И пора перестать думать, что игрокам такие миры не нужны. Мы живём в мире, где люди ролеплеят водителей школьных автобусов в Grand Theft Auto Online, где миллионы следят за рынком в Animal Crossing. В мире, где простенькие .io-игры, которые имеют миллионы игроков или трансляций, показывают нам намного больше возможностей, чем то, чего добились мы за несколько десятилетий. В мире, где Minecraft и Roblox приблизились значительно больше других к тому разнообразию и креативности, которые обеспечивали когда-то текстовые онлайновые миры. Но и этим играм уже больше десяти лет.
Пора избавиться от устаревших представлений о том, как люди развлекаются в нашем мире, как мы должны проектировать увлечение. Вместо этого пришло время подумать о том, что нам сегодня доступно.
Так что… нет, «облака» — совсем не новая штука.
Но вот как их можно сегодня использовать… это уже совсем другая история.
Оригинал: www.playableworlds.com/news/riffs-by-raph:-what-does-cloud-native-even-mean/
«Облако» — очень популярное слово в наши дни. И да, мы сами виноваты в этом больше других после того, как начали называть используемую нами технологию «облачной». Но что, чёрт возьми, это значит? (Прежде всего, это точно не направление облачного гейминга).
Первым делом предлагаю взглянуть в лицо фактам: облака не являются чем-то новым. Они использовались ещё тогда, когда мы запускали программы на мейнфреймах, используя довольно примитивные терминалы с тонким клиентом. Сегодня вместо одного мейнфрейма мы используем серверный кластер с большим количеством компьютерных мощностей, которые мгновенно подключаются и отключаются по требованию. В том, как всё это видоизменилось, можно увидеть очень красивое техническое решение, но суть осталась прежней.
Что облако означает для нас на самом деле, лежит в сути этого понятия.
Давным-давно, когда я начинал создавать онлайновые миры, они состояли из текста. Вы использовали обычный клиент, чтобы подключаться к разными мирам, даже к тем, которые были написаны на разных «серверных движках» (тогда мы это называли «codebases», но не суть).
Суть в том, что когда игры работали таким образом, дизайнеры могли менять и развивать игру в любой момент, не заботясь о том, что пользователь использует для подключения. А пользователи могли подключаться откуда угодно, потому что любой компьютер имел необходимое ПО для подключения.
И это ещё не всё. Такой упрощённый подход к серверной части позволял использовать наработки для сотен онлайновых миров. Миры постоянно обменивались идеями, контентом, даже кодом.
Результатом этого был взрыв творчества. По большому счёту, в современных онлайновых играх есть крайне малое количество возможностей, которые не были изобретены и реализованы в то время. Мы продолжаем потреблять те же идеи до сих пор.
Сегодня онлайновые игры работают совсем иначе. Для каждой MMO пишется своя серверная часть с нуля, в которой геймплейная схема фактически «хардкодится». Клиенты настраиваются под совершенно конкретный сервер. Большинство популярных игровых движков имеют предел одновременных подключений, который ниже, чем тот, что был у старых текстовых игр в середине девяностых. Частично из-за того, что эти движки изначально проектируются для одиночных или достаточно скромных мультиплеерных игр.
Более того — игровая индустрия до сих пор размышляет в категориях «PC-игры», или «мобильные игры», или «консольные игры».
Но это ведь очень странно для современного мира. Игры становятся всё более персистентными. Они становятся всё более социальными. Они стараются связывать всё со всем. Игроки жаждут «кроссплея». Они хотят играть на всём, что подходит.
Так что давайте поговорим о конкретной трактовке термина «облачный», которая поможет взглянуть на вещи иначе.
В 1923 году в Австралии появилось радио. Но произошло это крайне странным способом — у радиоприёмников не было ручки настройки. Каждый радиоприёмник был раз и навсегда настроен на конкретную частоту. Если вы хотели слушать две радиостанции, вам нужно было купить два радиоприёмника.
Возможно, это звучит безумно для вас. Но именно так работают сегодня онлайновые игры. По сути, это стало настолько привычным, что мы просто не задумываемся.
Долгое время люди указывали на, скажем, World of Warcraft, и говорили «это крупнейшая MMO». В 2007 году у них было что-то около 6.5 миллионов активных подписчиков. Это оставляло далеко позади EverQuest, у которого в своё время было всего несколько сотен тысяч подписчиков. Примерно так выглядит привычный взгляд на жанр.
Если только не учитывать, что в тот самый момент лишь североамериканских и европейских игроков у Habbo Hotel было 7,5 миллионов, а у Runescape — 5 миллионов. И если продолжать считать в том же духе, EverQuest не попадёт даже в десятку. Зато там будет Club Penguin, NeoPets и другие игры, у каждой из которых больше миллиона ежемесячных пользователей.
Общее свойство перечисленных мной игр — они работают через интернет-браузер, благодаря Flash и подобным технологиям. Многие игроки относятся к ним пренебрежительно из-за невысокого уровня графики. Но причина, по которой эти игры смогли достигнуть таких показателей, заключается в облачном принципе, который встроен в тот же Flash.
Видите ли, такие игры практически полностью находятся на сервере. На стороне браузера запускается универсальный графический движок, которому плевать на то, запускаете вы Club Penguin или что-то другое. В 2015 году Flash был установлен у пятисот миллионов пользователей, которые могли запускать любой контент с серверов, рассчитанных на эту технологию. (И это в свою очередь также привело к огромному взрыву творчества).
Давайте представим, что в случае с «облаком» любое устройство — это просто окно. И в этом окне мы можем показать в графическом плане нечто немного лучшее, чем то, что мог позволить Flash. Вам не нужно иметь огромную коллекцию радиоприёмников, чтобы настраиваться на разный геймплей.
Некоторое время назад в Fortnite произошло одно событие — по всему миру начался глобальный обратный отсчёт, после чего всё засосало в чёрную дыру. Помните такое? Знаете, что это было?
Представьте, что вы хотите купить новую книгу своего любимого автора. Вы отправляетесь на Amazon, зная, что сегодня день выхода книги. Она должна появиться здесь в любой момент… и тут серверы Amazon выключаются. А вместе с ними — и ваш браузер. И только тогда, когда серверы снова поднимаются, вы видите новую книгу.
Звучит странно, правда? Амазону не нужно обновлять ПО вашего браузера, чтобы добавить книгу в каталог… и играм тем более не нужно этого делать. То, почему для нас это привычно, просто результат того подхода, к которому мы привыкли, и ничего большего. Косвенно такой подход приводит к тому, что игры становятся статичными, возможности игроков проявлять в них творчество существенно снижаются, и если вы любите серию Call of Duty, она может занять весь жёсткий диск консоли. Всё это сковывает как разработчиков, так и игроков.
Но, разумеется, приходится идти на компромиссы в случае желания получить более динамическую архитектуру. Один из самых больших таких компромиссов — ваша графика будет далека от топовой. Но лично я пойду на такой размен, и глазом не моргнув, потому что нам обещали, что мы к этому времени будем жить в живых, персистентных виртуальных мирах, выходя из своих летающих автомобилей, но мы в итоге согласились обменять этим миры на картонные макеты, хотя и очень красиво раскрашенные.
Насколько серьёзным был этот обмен?
Смотрите, у меня на руке Apple Watch. В них хранилище на 32Gb и 1Gb памяти. Всё это под управлением двухъядерного 64-битного CPU, работающего на частоте 1,6Ghz.
Когда я был главным дизайнером Ultima Online в момент запуска проекта в 1997 году, на одном сервере было 10Gb дискового пространства, 256Mb памяти и двухъядерный процессор с частотой 300Mhz. Да, нам пришлось разделить мир на шарды, а каждый шард поддерживало несколько таких машин. То есть нам понадобилось бы два или три экземпляра моих часов.
Да и, кстати, пропускная способность канала к клиенту с тех пор увеличилась в две с половиной тысячи раз.
Так куда ушли все эти новые вычислительные мощности? Текстовый MUD держал 250 одновременных игроков. Шард UO — в два-три раза больше. И любой самый маленький дом, построенный там игроками, имел больше динамических интерактивных объектов, чем вся карта Battlefield или Apex Legends.
Это не значит, что упомянутые игры плохие или некачественно сделанные. Нисколько! Это отличные игры, просто они преследуют другую мечту. И да, разумеется, игры существенно эволюционировали по сравнению с 1997 годом. Но.
Когда мы посмотрим на то, что у компьютеров получается действительно хорошо, мы придём к такому списку:
- Моделирование
- Предсказуемое решение небольших проблем при помощи алгоритмов
- Быстрая передача информации по сети
И это причина, по которой невероятно амбициозный программист в одиночку может сделать так, чтобы кошка, наступив лапами на разлитое спиртное, начала их вылизывать, опьянела и облевала всю таверну на простом десктопном компьютере. А мы, имея огромные вычислительные мощности в облаках, не можем создать живые миры. Не говоря уже о летающих машинах.
Но что если ваш дизайн предполагает наличие всех этих вычислительных мощностей? Что если вы проектируете игру из расчёта на то, с чем компьютеры действительно хорошо справляются? Вы оказываетесь в зоне процедурного контента, который более реалистичен и более интерактивен, чем что-либо созданное вручную. Вы оказываетесь в пространстве миров, на которые игроки могут оказывать огромное влияние, и в которых могут быть полноправными хозяевами, а не посетителями. Теперь вы также можете выбросить понятие «шард». И дальше вы можете размышлять, отбрасывая старые представления, в которых игры оказываются вещами в себе.
Так что когда мы говорим «облака», мы подразумеваем следующее:
Мы проектируем игровую архитектуру, предполагая, что игра находится на сервере, а не запечена в готовой форме клиента, включая отбрасывание всех прежних представлений о том, как игра распространяется, как к ней осуществляется доступ, как в неё можно играть. Игра должна встречаться с игроком там, где он находится.
Мы проектируем наши серверы в качестве полноценных представителей современной всемирной сети, которые могут использовать всю доступную инфраструктуру, все API, и всю мощь масштабируемых вычислений, а не просто переносим локальный сервер в облачный хостинг.
Пора заканчивать с разговорами о том, что сложные персистентные миры невозможно создать. Их можно было создавать все эти годы.
И пора перестать думать, что игрокам такие миры не нужны. Мы живём в мире, где люди ролеплеят водителей школьных автобусов в Grand Theft Auto Online, где миллионы следят за рынком в Animal Crossing. В мире, где простенькие .io-игры, которые имеют миллионы игроков или трансляций, показывают нам намного больше возможностей, чем то, чего добились мы за несколько десятилетий. В мире, где Minecraft и Roblox приблизились значительно больше других к тому разнообразию и креативности, которые обеспечивали когда-то текстовые онлайновые миры. Но и этим играм уже больше десяти лет.
Пора избавиться от устаревших представлений о том, как люди развлекаются в нашем мире, как мы должны проектировать увлечение. Вместо этого пришло время подумать о том, что нам сегодня доступно.
Так что… нет, «облака» — совсем не новая штука.
Но вот как их можно сегодня использовать… это уже совсем другая история.
Оригинал: www.playableworlds.com/news/riffs-by-raph:-what-does-cloud-native-even-mean/
51 комментарий
Именно поэтому я и считаю, что Раф не там ищет и не за то хватается… Но я об этом позднее отпишусь еще тут.
В таком случае, вопрос закрыт, и то, о чём говорит Раф, не имеет смысла. Игра всегда находится на сервере. Но зачем тогда нужно было выделять именно Eco? В таком понимании WoW целиком находится на сервере, Everquest целиком находится на сервере, New World целиком находится на сервере. Всё хорошо. А Раф несёт маркетинговую пургу. Но ты, вроде, к такой мысли и склоняешься. :)
Откровенно говоря, я не до конца понимаю о чем говорит Раф, т.к. он не говорит пока ни о чем конкретном. Вот предыдущие заметки были отличными. В чем-то там я не совсем согласен, но они о геймдизайне и относительно конкретных решениях, а тут… Тут не пойми что вообще.
Там, где мне приходится принимать на веру, я обычно это делаю в отношении любого собеседника, который берёт на себя смелость утверждать, что в выбранном направлении хорошенько подумал. Ну, потому что я ведь не могу его проверить. Что мне ещё остаётся? Если люди говорят, что есть много технических проблем в реализации чего-то, я им верю. Но в то же время способен смотреть по сторонам.
История Ultima Online демонстрирует нам, сколько люди могут сделать всего при ограниченных технических возможностях. И в этом принимал участие Раф. Да, как геймдизайнер, но он хорошо и довольно подробно описывал техническую часть, от которой зависели многие его решения. Да, в UO было много провалов социально-организационного плана, но в этом смысле для меня авторитет Рафа строится на прогрессе, который он показал в SWG (нулевой ганк, невиданные социальные возможности, потрясающий крафт). И, опять же, SWG в плане возможностей до сих пор выше звёзд. В разы круче сверстников: Lineage 2 и WoW. Не говоря уже о потомках.
Всё это формирует моё отношение к тому, что он говорит о тех вещах, которые я не могу проверить. Если он пишет, что придумал, как сделать прыжок в сторону живых миров и именно на эту интерактивность направить всю мощь железа, при этом описывает конкретный способ отказа от прежней архитектуры, я считаю, что этот человек подумал так же хорошо, как два предыдущих раза, когда у него получилось. Но это именно вопрос доверия.
Ну, поглядим.
Но из-за того, что игроки любят все взламывать и исследовать, нельзя оставить в клиенте ничего, имеющего отношения к взаимодействию с миром.
Браузерные игры при этом отдают вам свой клиент каждый раз при подключении к серверу. Ну, есть кэш, который хранит часто-используемое, но некоторые его чистят каждый раз как запустят браузер.
Вот только никто в целом не мешает совместить это, сделав в клиенте возможность докачки нехватающих компонентов на лету. Тогда клиент просто будет организованным хранилищем ресурсов на вашем винчестере и будет служить просто ускорению входа в игру, если он у вас есть. Где-то я даже видел игру, в которую можно было начать играть, скачав только 25% клиента.
Еще Раф пишет про замечательный пример незаскриптованного взаимодействия кошки со спиртным. И это действительно работает в Dwarf Fortress — там и не такое возможно. И грешит на графику, мол, у нас есть красивые, но пустые современные игры. Только вот реализовать пьяную кошку в текстовом формате (да еще и на английском языке, где нет падежей русского и каких-то безумных штук, например, корейского) — это одно. А нарисовать анимацию пьяной кошки, пусть и в лауполи формате — это другое.
С другой стороны вычислительные мощности сегодня действительно огромны. И вполне вероятно, что вот такие вот нескриптованые пьяный кошки, с несколько меньшей детализацией: например, уличные банды, курсирующие по своим районам и устраивающие различные события в зависимости от времени суток, встречи с другими бандами и игроками (которые тоже могут быть в банде или милиции) — это то, что сделает мир живым. И такие взаимодействия действительно позволят перейти на новый уровень в ММО. Только вот с клиентом и всей остальной речью это мало связано.
Это либо такой маркетинг, либо Раф действительно верит в это всё, т.к. не совсем понимает о чем говорит. Не знаю… Звучит странно. И противопоставление, на мой взгляд, не логичное абсолютно.
Мне одновременно очень нравится что пишет Раф и не нравится. Он почему-то воспринимает облачные технологии, как волшебную палочку, которая слепит 100 многоядерных процессоров в один и создаст ему компьютер из психопаспорта. Но оно так не работает. Если бы!
Разруха не в клозетах!) Облака сами по себе появились именно из-за кризиса в программных решениях, которые вот уже почти 30 лет только обрастают легаси и слоями абстракций, что тормозит и так не сильно быстро развивающиеся IT и CS.
Есть подозрения, что суть его миров вообще ближе к сессиям, чем к единому миру. Либо чему-то рядом с ммайнкрафтом… Но апять же какие-то выводы он просто не дает сделать, т.к. даже процитированный выше фрагмент во многом лишен любой конкретики. Он просто стерильный.
Хммм… Сложно понять что подразумевается под «хардкодом». Если речь о том, что разрабы отказываются от flexability (гибкости) кодовой базы в угоду скорости, то Раф ниже этот же тезис практически опровергает. Программисты сейчас обажают наваливать абстракции, скрипты, блупринты и другую тормозящую, запутанную, забагованную дичь, чтобы вроде как было проще разрабатывать логику, в том числе игровую. Писать низкоуровневый код сегодня, в восприятии большинства — сумасшествие.
Ничего странного в том, что у сервера и клиента есть определенный понятный только им протокол нет. Иначе это будет походить на VRChat, а не на игру. Хотя, даже на него не будет похоже. Сложно вообще себе представить какой-то геймдизайн в этом сумбуре, правда.
И это было самое ужасное, что могло случиться с вебом. Благо флеш умер, туда ему и дорога. Другое дело, что в вебе так до сих пор и нет никаких четких стандартов, до сих пор очень много дыр, багов, иных проблем. WebGL все такая же боль, красиво, но не для крупных игр, уж простите. Про рунскейп вообще получается аргумент мимо, т.к.
Не вижу я тут плюсов, которые бы перевешивали минусы. Не говоря уже о настораживающем заигрывании с мобилками.
А вот с этим я вообще никогда не был согласен. Еще когда только начиналась разработка, я написал небольшой такой вводный текст, до сих пор считаю, что это именно то, о чем песочные ММОRPG:
Ничего полезного возможность перевернуть мир с ног на голову силами пары игроков не принесет.
В итоге, упоминание Lego Worlds и Roblox было совсем не мимо. И тогда я откровенно не понимаю как Раф хочет объединять такие вот разрозненные миры\серверы\что там он вообще под этим подразумевает(?), в единую экономическую и социальную систему, создать какой-то единый мир… Серьезно, после последних 2х текстов никакой единой картины нет, только больше вопросов и сомнений. По мне так лучше бы они сели, сделали прототип, показали бы что-то классное, рассказали куда все это приблизительно будет двигаться. Было бы идеально! А вот эта странная рекламная компания только отталкивает, как минимум меня.
Не подумайте, что это какая-то личная неприязнь. Я даже вот плюсик поставил))) Просто какая-то вода и маркетинг получаются. А ожидал я описание крутого интересного мира и новой технологии. Тем более что Раф явно пользуется своей известностью в игрострое, привлекая внимание к проекту.
«Унитаз» — очень популярное слово в наши дни. И да, мы сами виноваты в этом больше других после того, как начали называть используемую нами технологию «унитазной». Но что, чёрт возьми, это значит? (Прежде всего, это точно не направление канализационной системы).
Первым делом предлагаю взглянуть в лицо фактам: унитаз не являются чем-то новым. Они использовались ещё тогда, когда мы ходили в ведро, используя довольно примитивные емкости. Сегодня вместо одного ведра мы используем канализационную систему с большим количеством унитазов, которые мгновенно подключаются и отключаются по требованию. В том, как всё это видоизменилось, можно увидеть очень красивое техническое решение, но суть осталась прежней.
Что унитаз означает для нас на самом деле, лежит в сути этого понятия.
Давным-давно, когда я начинал создавать унитазы, они состояли из ведра. Вы использовали обычное ведро, чтобы подключаться к разными выгребным ямам, даже к тем, которые были выкопаны в разных «местах» (тогда мы это называли «ямаbases», но не суть).
Суть в том, что когда ведра работали таким образом, мы могли менять и развивать систему в любой момент, не заботясь о том, что пользователь использует для подключения. А пользователи могли подключаться откуда угодно, потому что любой имел необходимую емкость для подключения.
И это ещё не всё. Такой упрощённый подход к канализации позволял использовать наработки для сотен ведер. ведра постоянно обменивались, даже содержимым.
Результатом этого был взрыв «творчества». По большому счёту, в современных унитазах есть крайне малое количество возможностей, которые не были изобретены и реализованы в то время. Мы продолжаем потреблять те же идеи до сих пор.
Сегодня унитазы работают совсем иначе. Для каждого унитаза пишется своя структура с нуля, в которой канализационная схема фактически «хардкодится». Унитазы настраиваются под совершенно конкретный коллектор. Большинство популярных канализационных систем имеют предел одновременных подключений, который ниже, чем тот, что был у старых ведер и выгребных ям в середине девяностых. Частично из-за того, что эти унитазы изначально проектируются для одиночных или достаточно скромных семейных потребностей.
Более того — унитазная индустрия до сих пор размышляет в категориях «домашние унитазы», или «мобильные унитазы», или «общественные кабинки».
Но это ведь очень странно для современного мира. Унитазы становятся всё более персистентными. Они становятся всё более социальными. Они стараются связывать всё со всем. Игроки жаждут «кроссплея». Они хотят играть на всём, что подходит.
Японские унитазы им в помощь!!! Идеи Рафа уже победили в современном мире.
Я даже придумал новую веху для Рафа — «увеличение посещаемости ммозга в 200 миллионов раз».
Ни для кого не секрет, что аудитория унитазов огромна, например только в России более двухсот миллионов унитазов, необходимо, я прям настаиваю — НЕОБХОДИМО, к каждому унитазу подключить экран и контент выдавать прям на главную ммозга, на таких вот Рафов.
Статья в стиле «учёный изнасиловал журналиста», только тут «программист изнасиловал геймдиза».
Столько искажений реальности на абзац я уже давно не видел.
Общее впечатление: либо Раф сознательно врёт, либо он совершенно не понимает техническую сторону вопроса (как и его разработчики). И то и другое — плохо.
Раф же говорит, что игры не должны быть большими и что он готов принести в жертву графику, окей. То есть, меньше моделек, меньше объектов, простые текстуры, схематичная графика. Что вообще не вдохновляет. Можно ставить крестики в клетках «Морского боя» и представлять себе бой флотов, только как-то не хочется. Либо имеется в виду поток отрисованной графики с сервера, как в облачном гейминге Nvidia, а это задержка 100-200 мс на пересылку до клиента, потом ещё столько же на вашу реакцию, а потом ЕЩЁ раз столько же на пересылку обратно на сервер — да это просто неиграбельно! К тому же не секрет, что графика в игре серьёзно превосходит пережатый видеопоток в качестве.
Я могу себе представить третий вариант в виде конструирования объектов из базовых элементов на клиенте, без моделей, с помощью серверных команд, но не уверен, что это возможно, подскажите, может кто в теме.
Самая спорная часть заметок Рафа — боюсь с этого момента мы можем услышать совсем не то, о чём думали поначалу.
я могу себе представить третий вариант в виде конструирования объектов из базовых элементов на клиенте, без моделей, с помощью серверных команд. В текстовом и схематичном виде это элементарно, но в виде сложных комплексных моделей я не понимаю, как можно сохранить производительность оперируя миллионами объектов в реальном времени. Возможно, какие-нибудь реализованные в железе специальные инструкции могли бы помочь, навроде векторной графики или трассировки лучей. Можно ли обойтись уже имеющимися? Тут мои полномочия — всё =)
Ну ладно, допустим, что у нас есть много универсальных элементов, как вот в «марширующих кубах»:
Но в таком случае у вас появляются проблемы с LOD-ами, анимациями и т.п… Кроме того, миры, состоящие из огромного массива данных сложно передавать по сети всем игрокам, особенно, если игрокам позволено вносить крупные изменения в сам мир. Вообще это такой, не то чтобы парадокс современного интернета, но проблема: мощности вычислений растут на много быстрее, чем каналы передачи данных к пользователям.
Вот шум на уже растеризованном изображении поправить — пожалуйста. Там большая точность не нужна, а данных для обучения просто горы, тем более у тех же Nvidia и AMD. Тем более это 2д массив, а в 3д мы получаем такую сложность, что страшно становится.)
По поводу более простой графики — меня это как раз устраивает, и, с учётом сказанного Эриком Голдбергом в недавнем интервью, кое-что объясняет:
Голдберг говорит, что у вас должна быть возможность выстрелить в атакующего вас, промахнуться, попасть в дерево и увидеть, как дерево загорелось. Вы также можете во время боя попасть в дамбу, пробив в ней дыру, оттуда хлынет вода и потушит огонь. В следующий раз, когда вы войдёте в игру, дамба будет всё ещё разрушена.
И тогда уже напрашивались параллели с Dwarf Fortress. Если они реально двигаются в эту сторону, но на уровне мультиплеера и с социально-геймдизайнерскими наработками Рафа, прекрасно. Но, опять же, пока мне не очень понятно, как универсальный тонкий клиент этому помогает. Как он помогает более простому распространению, мультиплатформенности и прочим штукам, понимаю. Как простая графика высвобождает существенную часть ресурсов, понимаю отчасти, хотя тут тоже, скорее, вопрос передачи данных, потому что Вальхейм прекрасно продемонстрировал возможность улучшения низкополигональной графики современными эффектами даже средних GPU. Но, как я уже сказал выше, какие-то вещи я лично готов принять на этом этапе на веру (хотя не требую того же от других, разумеется).
Возможно, он хочет сделать много игр под копирку с одним клиентом, разными серверами и разным набором, собственно, данных: моделей, текстур, объектов. Ну будет тогда у него пять игр и клиент на 1 Гб, который будет докачивать еще по 25 Гб за каждую. На пяти играх сэкономится 4 при общем объёме данных в 125. Экономия Века! ^_^
Давайте я попробую написать, что я вижу в этой статье. И какие ещё выводы могу сделать.
Сейчас геймплей во всех triple-A MMORPG захардкожен. В MUD-ах любой автор сравнительно быстро словами описать уникальную локацию или сделать текстовый квест, а сейчас нужны сотни человеко-часов, чтобы сделать то же самое, но в 3D, с 4K разрешением и HDR. Но делать лучше, за исключением графики, не научились.
Наше общение стало куда более мобильным, но MMORPG никак не поменялись. Мы больше не сидим на форумах, мы общаемся с коллегами по работе в мессенджерах. С телефона, по пути. Мы можем отркыть вкладку с зумом в браузере и подключиться к видеоконференции. Но нам до сих про сложно найти нормальные игры на iPad, даже синглы.
Если отказаться от привычных стериотипов, можно сделать игру, которая
— будет куда более богатой на геймплейные фичи
— будет доступна на любом устройстве
— не будет обладать крутой графикой
— может предоставить возможность создать свой виртуальный мир
То есть, шардинг с админскими правами. Как в Эко, насколько я могу судить о нем со стороны.
Ну, наоборот же — это единый мир без шардов, о чём Раф сказал несколько раз. :) Что касается «хозяев», насколько я понял контекст, речь идёт о степени внутриигрового влияния на мир, а не об админских правах.
оригинал
А Roblox оказывается вот такая штука:
По версии Википедии Roblox — многопользовательская онлайн-платформа, которая позволяет пользователям создавать свои собственные и играть в созданные другими пользователями игры. Платформа содержит созданные пользователем игры и виртуальные миры, охватывающие широкий спектр жанров.
Почитать на Вики
И вот всё это в облаке… Что естественно, никакой сервер не выдержит тысячи игр =)
Под «возможностью создать свой виртуальный мир» я понимаю возможность создать своё пространство со своими правилами в рамках общего сервера.
Как какой-нибудь Tabletop Simulator, только MMO.
Если продолжит мысль, про универсальный клиент, общую физику и экономику, а также использование процедурной генерации, можно прийти к идее о предоставлении этой платформы кому-то наружу. То ли игрокам, то ли бизнесам.
Либо, я неправильно понимаю их видение мультивселенной.
А уж перенос персонажей… разве что перенос имени и какие-нибудь ачивки/титулы, не дающие боносув в играх, но видные всем.
Было бы забавно где-нибудь в Вове увидеть ветерана боевых действий из Ла2 (медаль: за взятие адена), но как практическая ценность… разве что кросс-реклама ммо внутри других ммо.
Но ты, по сути, придумал уже давно придуманное — аналог игрового движка Seed из ранобе SAO. Который сильно облегчал создание ММО и при этом еще и позволял переносить персонажа из игры в игру с сохранением статов персонажа.
— предоставляет ключевые технологии: полное погружение, считывание персонажей из реала, графика, физика
— имеет некое пространство вне игровых миров, которое позволяет переносить персонажей между мирами
Когда в Playable Worlds говорят о мультивселенной, я представляю как раз что-то подобное.
Возможно доступ к ядру будет только у компании-разработчика. Возможно они будут его предоставлять другим компаниям, как движок. Возможно этот доступ будет у всех, и можно будет собирать свои миры для партии в Dungeons & Dragons, как One More Multiverse из недавней заметки. Это уже детали.
В современных ММО не так, там весь рельеф и постройки хранятся на клиенте.