avatar
Тогда вопрос назревает: а что там Раф вообще делает?
avatar
Да, меня он тоже расстроил. Ужасный человек! (шутка)
avatar
Просто данная ситуация к обучению не имеет отношения, так что тут и о подкреплении не может быть речи. Тут все дело в том, что большинство оценивает возможность играть выше возможности читерить, но быть потом перманентно забаненым, например.
avatar
Неа) У нас нет нейросети. Чтоб она была её надо обучить, так еще знать КАК обучить.) Нейросети далеко не идеальны и хорошо работают лишь с определенным спектром задач. Тем более их оптимизация практически не возможна, т.к. это черные ящики непонятно как вообще работающие.
Вот шум на уже растеризованном изображении поправить — пожалуйста. Там большая точность не нужна, а данных для обучения просто горы, тем более у тех же Nvidia и AMD. Тем более это 2д массив, а в 3д мы получаем такую сложность, что страшно становится.)
avatar
Вся графика сегодня это векторные вычисления, а последний этап выведения данных на экран — растеризация все равно пользует много именно векторных вычислений. Суть в другом. Если мы хотим модель она должна где-то у нас быть в памяти GPU в виде буфера\массива вертексов. Как она туда попала вопрос второй. Сегодня уже сеть такая штука как мешшейдеры, которые может даже способны будут создавать объекты прямо на GPU по команде\схеме CPU. Но апять же тут нужна аппаратная поддержка того же Vulkan.

Ну ладно, допустим, что у нас есть много универсальных элементов, как вот в «марширующих кубах»:

Но в таком случае у вас появляются проблемы с LOD-ами, анимациями и т.п… Кроме того, миры, состоящие из огромного массива данных сложно передавать по сети всем игрокам, особенно, если игрокам позволено вносить крупные изменения в сам мир. Вообще это такой, не то чтобы парадокс современного интернета, но проблема: мощности вычислений растут на много быстрее, чем каналы передачи данных к пользователям.
avatar
Ну, тут 2 варианта: либо лошади в БДО это какие-то сверх выносливые монстры, либо мир по диагонали плюс-минус 6-8 Км.) Понятно, что магия, условности, он это же в конце концов лошадь!))

И да, если за такую продолжительную поездку ничего не случается, то мир, получается довольно статичный и не пытается увлечь игрока событиями, на которые он может натыкаться в процессе путешествия. Тут же суть не просто в «большой мир», а в том, что передвигаясь по нему можно сгенерировать целое приключение, если мир, конечно, динамичный.
avatar
Да нет) На банальную лагокомпенсацию с интерполяцией, как и везде. Те же FPS так и работают.
avatar
Не сомневаюсь, что технически там может быть все неплохо.(уж лучше, чем было в начале пути UO) Просто факты и выводы из них для меня не очевидны или не верны. К тому же, если в итоге получится не SWG, а Roblox будет как-то грустно.

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

Откровенно говоря, я не до конца понимаю о чем говорит Раф, т.к. он не говорит пока ни о чем конкретном. Вот предыдущие заметки были отличными. В чем-то там я не совсем согласен, но они о геймдизайне и относительно конкретных решениях, а тут… Тут не пойми что вообще.
avatar
Никакого троллинга. Абсолютно серьезные вещи в статьях.
avatar
Игра всегда находится на сервере. Даже в вебе тебе просто каждый раз при подключении будут посылать заново кучу графического контента. Сервер может работать с максимально на основе инстансов, собирая отдельные блоки мира в общую картину: майнкрафт, эко, любые другие процедурные миры. Сервер генерирует мир, хранит все данные и передает их тебе, ты можешь их кешировать, но они все равно «не твои». По этим данным ты строишь мир графически и рендеришь. Раньше «тонким» клиентом называли именно это, хз что вдруг изменилось.=)) И это правильно. Зачем тратить время и силы на то, чтобы каждый раз буквально заново скачивать всё тот же клиент, просто он будет у тебя в браузере работать ( и не факт, что хорошо)?
avatar
Честно, все это какая-то тень на плетень.

Но лично я пойду на такой размен, и глазом не моргнув, потому что нам обещали, что мы к этому времени будем жить в живых, персистентных виртуальных мирах, выходя из своих летающих автомобилей
Это либо такой маркетинг, либо Раф действительно верит в это всё, т.к. не совсем понимает о чем говорит. Не знаю… Звучит странно. И противопоставление, на мой взгляд, не логичное абсолютно.

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

Мне одновременно очень нравится что пишет Раф и не нравится. Он почему-то воспринимает облачные технологии, как волшебную палочку, которая слепит 100 многоядерных процессоров в один и создаст ему компьютер из психопаспорта. Но оно так не работает. Если бы!
Разруха не в клозетах!) Облака сами по себе появились именно из-за кризиса в программных решениях, которые вот уже почти 30 лет только обрастают легаси и слоями абстракций, что тормозит и так не сильно быстро развивающиеся IT и CS.

Мы проектируем наши серверы в качестве полноценных представителей современной всемирной сети, которые могут использовать всю доступную инфраструктуру, все API, и всю мощь масштабируемых вычислений, а не просто переносим локальный сервер в облачный хостинг.

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

Для каждой MMO пишется своя серверная часть с нуля, в которой геймплейная схема фактически «хардкодится». Клиенты настраиваются под совершенно конкретный сервер.
Хммм… Сложно понять что подразумевается под «хардкодом». Если речь о том, что разрабы отказываются от flexability (гибкости) кодовой базы в угоду скорости, то Раф ниже этот же тезис практически опровергает. Программисты сейчас обажают наваливать абстракции, скрипты, блупринты и другую тормозящую, запутанную, забагованную дичь, чтобы вроде как было проще разрабатывать логику, в том числе игровую. Писать низкоуровневый код сегодня, в восприятии большинства — сумасшествие.
Ничего странного в том, что у сервера и клиента есть определенный понятный только им протокол нет. Иначе это будет походить на VRChat, а не на игру. Хотя, даже на него не будет похоже. Сложно вообще себе представить какой-то геймдизайн в этом сумбуре, правда.

В 2015 году Flash был установлен у пятисот миллионов пользователей
И это было самое ужасное, что могло случиться с вебом. Благо флеш умер, туда ему и дорога. Другое дело, что в вебе так до сих пор и нет никаких четких стандартов, до сих пор очень много дыр, багов, иных проблем. WebGL все такая же боль, красиво, но не для крупных игр, уж простите. Про рунскейп вообще получается аргумент мимо, т.к.

At RuneFest 2014 Jagex announced that they were developing a new client to replace the HTML5 version, which had never been released from beta due to performance issues. The new client, named NXT, would include improvements to loading times, new graphical effects and better performance.

Не вижу я тут плюсов, которые бы перевешивали минусы. Не говоря уже о настораживающем заигрывании с мобилками.

Вы оказываетесь в пространстве миров, на которые игроки могут оказывать огромное влияние, и в которых могут быть полноправными хозяевами, а не посетителями.
А вот с этим я вообще никогда не был согласен. Еще когда только начиналась разработка, я написал небольшой такой вводный текст, до сих пор считаю, что это именно то, о чем песочные ММОRPG:
Песочность игры определяется количеством ее механик, степеней свободы выбора, а так же возможностью менять мир вокруг, но не как боги, а как простые смертные, которым не дано в одиночку перевернуть весь мир на уши, но им дана возможность объединяться и творить в тех рамках, которые и определяют правила игры — тот самый вызов, то, с чем ты борешься и к чему стремишься в игре.
Этот мир живой и в нем нет пустой ничейной территории, нет ничейных шахт, городов и деревень. А это значит, что вам придется стать частью этого мира на его условиях, чтобы у вас все получилось.

Ничего полезного возможность перевернуть мир с ног на голову силами пары игроков не принесет.

В итоге, упоминание Lego Worlds и Roblox было совсем не мимо. И тогда я откровенно не понимаю как Раф хочет объединять такие вот разрозненные миры\серверы\что там он вообще под этим подразумевает(?), в единую экономическую и социальную систему, создать какой-то единый мир… Серьезно, после последних 2х текстов никакой единой картины нет, только больше вопросов и сомнений. По мне так лучше бы они сели, сделали прототип, показали бы что-то классное, рассказали куда все это приблизительно будет двигаться. Было бы идеально! А вот эта странная рекламная компания только отталкивает, как минимум меня.

Не подумайте, что это какая-то личная неприязнь. Я даже вот плюсик поставил))) Просто какая-то вода и маркетинг получаются. А ожидал я описание крутого интересного мира и новой технологии. Тем более что Раф явно пользуется своей известностью в игрострое, привлекая внимание к проекту.
avatar
Всмысле?) Ты хочешь сказать, что у ECO одноранговая сеть? О_о
avatar
Приблизительно вот на это, и это

Именно поэтому я и считаю, что Раф не там ищет и не за то хватается… Но я об этом позднее отпишусь еще тут.
avatar
Все там было.) На тот момент Oracle уже существовала почти 20 лет. Высоконагруженные системы вообще не были проблемой. И прошу заметить, что мы говорим не о трехмерном пространстве с постоянными тригонометрическими вычислениями для разного рода симуляций. А о логической обертке для базы данных с игроками, предметами и существами, с приличным ограничением в обзоре. Это не было на тот момент чем-то сверхъестественным, да и не могло быть. Ультима вышла тогда, когда и должна была и могла выйти.

Можно возразить, что техноголии не те. Да те. Серверов тогда с памятью, например, больше 3х гигабайт просто в природе не существовало (ограничения 32х архитектуры). Однако, эти сервера обрабатывали невообразимые объемы данных уже тогда. Да о чем речь, я сегодня на домашнем ПК с 6ядерным райзеном могу симулировать миллионы сложных физ. объектов с 20 000+ «игроков», попутно открыв кучу вкладок в браузере, переписываясь, слушая музыку и т.д. А великий и ужасный пентиум уже тогда огого что мог))

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

Прелесть UO была в том, что там был годный геймдизайнер, а еще она была практически первой.) У команды, так сказать, сошлись звезды. Основной звездой, конечно, была сама EA.))

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

Да и в конце концов, со времен UO никто практически не пытается выдавать такие же смелые эксперименты! Ну так дави на это, описывай сложный мир, интересные взаимодействия, экосистемы те же! Но нет мы будем строить воздушные замки и напускать загадочности на облачные технологии. Ну вот зачем?
avatar
Ну, давайте будем честны, технологий для симуляции миров до такого уровня просто нет сейчас в природе. (да и появятся они, скорее всего, массово лет может через 30, и то не факт). Раф очень уж большой мечтатель, что заставляет делить его слова как минимум на 2. Боюсь как бы не вышло так же, как и с Worlds Adrift, например.

Кстати, об условиях. Забавно, но на системах высоконагруженных, способных обрабатывать десятки миллионов событий в секунду, оказывается, что операторы ветвления(условия), которые вроде как призваны снизить количество расчетов для какой-то задачи, только ухудшают производительность, причем значительно. У себя мы так и не разобрались в до конца в причинах такого поведения, но есть подозрение, что всё дело в архитектуре планировщиков процессоров AMD64 архитектуры. Так что, на самом деле существует очень много подводных камней, которые заметить смогут только явно на них напоровшись.))
avatar
Да это мои заморочки с временной сложностью алгоритмов вылезли)) Ну, можно считать, что это частный случай)
avatar
Интересный вопрос. Вообще, с учетом того, что ММО это вроде как очень на долго, то не совсем понятно зачем делать прогресс сравнительно быстрым. Если игрокам становится, грубо говоря, скучно безостановочно качаться, то это решается применением эффекта потока, разнообразием механик и другими мелочами, хотя важными мелочами.
В любом случае даже то, что кажется бесконечной прокачкой имеет как минимум предел терпения игрока, а как максимум предел диапазона значений пtременных, которые хранят прогресс игрока.))

Короче, логарифмический прогресс помноженный на синус — отличная схема для начала, как минимум.)
avatar
Кроме того, что грубовато, еще и ошибки математические.) Экспонента это N^2, так что никакого «каждая единичка преимущества дается все труднее» тут нет. Ты путаешь с log N, правда тогда не понятно какой именно прокачки тебе нужно. Всего и сразу?))
avatar
Не бывает так что клиент не важная часть, так что можно упереться в сервер и все будет гуд. Это 2 приложения, которые работают синхронно в сети с кучей проблем (маршрут, пинг как таковой, иные ботелнеки). Разработка их тоже должна быть синхронной, как не крути. Если архитектура данных клиента сильно отличается от таковой у сервера, то вы будете тратить кучу времени и сил на попытки подружить\скрестить бульдога с носорогом.

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