Большая Тёрка / Мысли /
Имхо, ключевая проблема Овервоча. (Кстати, цитата из Аарона Келлера, который новый геймдиректор).
Пробема в человеческой природе. Люди предпочитают понятное непонятному. Даже в играх.
Когда кто-то играет за атакующего персонажа, у него всё кристалльно ясно: если ты щелкнул по голове
...противника в течение полсекунды - ты молодец, промазал - не молодец.
Идеальная задача - крайне specific, очевидно measurable, легко achievable, relevant, очень жёстко time-bound.
Когда ты играешь за танка - всё наоборот. Тебе нужно делать миллион каких-то вещей, которые максимально мутные, неизмеримые, с непонятными эффектами, и ещё все зависят друг от друга.
Вот Рейн ставит щит - как понять, правильно или неправильно он его поставил? У тебя всегда кто-то получает урон, ты не можешь спасти всех. Мерси может спасти 1 любого персонажа с вероятностью 90%, но не может спасти всех одновременно.
Статистика в конце матча учитывает, сколько урона ты заблокировал или вылечил, но не учитывает - сколько раз ты правильно поставил щит или оживил верных персонажей. Тут человек-то не может понять, верные эти действия были или нет, куда там алгоритму. То есть, все измерения за танков и хилов - это сплошная профанация.
Причем, ты не можешь просто взять и сделать танков сильнее. Ну хотя бы потому, что среди популяции есть какая-то сравнительно небольшая группка людей, интеллект которых позволяет осмыслить навыки танка по SMART и начать уничтожать ими всё живое и ломая игровой баланс. Если трезво посмотреть на способности танков, они сейчас и так имба, все подряд, спасает только статистика, что 500 IQ людей совсем немного.
И вот получается, что из всей популяции только 20% имеют хоть какое-то минимальное желание играть на танке, и только 2% понимают, что вообще делать. (цифры с потолка), но танки - ЭТО КЛЮЧЕВАЯ ЧАСТЬ ИГРЫ
Интересно, что в такой ситуации делать геймдизайнерам.
Аарон решил уменьшить количество танков до 1 и поменять сущность игры.
Каплан просто уволился.
Лично меня вот этот вопрос завораживает наиболее сильно. Каждый раз, когда я играю в эту блядскую игру, вместо того чтобы играть - я думаю, как и что в ней можно было бы исправить )))
В «лабораторию» Овера подвезли грядущий патч.
- Маккри перезаряжается и кувыркается хуже.
- Батист заряжает прыжок медленней.
- Заря дамажит минимальным лучом меньше.
- Вампиризм Рипера разнерфили назад.
- Мойра под ультой лечится в 3 раза быстрее.
Не блогодорите пожалусто.
(Что ни сделаешь, лишь бы не готовить доклад. Прокрастинация дошла даже до чтения экспериментальных патчноутов).
Еще немного про ЖЖ, а может и про жизнь даже.
Мои интересы: разработка, стартапы, компьютерные игры, наука, личная продуктивность, и тому подобное.
Если взять ЖЖ, то весь его топ — про что-то другое. Например, сегодня там есть «Умирать запрещено» Варламова, какие-то статьи про продажных чиновников, бандитов, и прочая совершенно никак не относящаяся ко мне неинтересная фигня.
Причем унылая
...до чернухи, как будто это какая-то криминальная сводка. Я не смог найти ни одной жизнеутверждающей статьи, которую бы немедленно хотелось бы прочитать.
Попробуем посмотреть не на топ, а на категории. Цитирую главное меню ЖЖ: кино, еда, коронавирус, общество, история, политика, Россия, дети, медицина, лытдыбр, армия.
Из всех этих категорий хоть как-то может быть интересно общество и кино.
В «обществе» ожидаемо находится всё та же криминальная хроника, что и в топе, включая огненные статьи с заголовками «Холера — это просто понос» и «Припять. Как жили работники ЧАЭС». Изучать этот раздел далее не имеет смысла, по этому же соображению я даже не заглядывал в «политику».
Итак, осталось кино. Кино, кино, кино! Кино хоть и не моя специальность, но тут я хоть немного разбираюсь. Что я ожидаю увидеть? Например, недавно Зак Снайдер отвечал на вопросы поклонников, в июле на Нетфликсе запускают триллер «Пороховой Коктейль» о наемных убийцах, и что DC начала работать над превращением игры Injustice в мультфильм.
Что мы в реальности видим в рубрике «кино»?
— «Веселье разрешается. Могила, на которой можно танцевать.» Статья про могилу клоуна. Весело.
— «У каждого свой Курт. «Кобейн: чёртов монтаж».» Статья про музыканта, покончившего жизнь самоубийством. Я начинаю понимать принцип!
— «Ребенок Розмари» — блогер рекомендует к просмотру очень современный и свежий фильм, о котором ранее никто не знал.
— «Советский фильм о совсем не советской жизни» — явно новый актуальный фильм, по крайней мере, те кто видел «Выше Радуги» в кинотеатрах 2 мая 1986 года году могут быть всё ещё живы.
— «Игры шпионов». Запад опять затевает оголтелую русофобию?!». Кэмбербетч точно не умер, поэтому тематика смерти плавно перешла в другую важнейшую максиму — противостояние мифическим русофобам.
— Фильм «Нормандия-Неман» 1960 про вклад французов в победу над Германией. Тут мы вернулись к главному принципу: все участники давно умерли, присутствует обязательный внешний враг, и тому подобное. Уфф.
Вы думаете, я вам избиваю классического строумэна? (специально выбираю из ленты статьи, которые наиболее идиотские, чтобы их можно было безнаказанно пинать и выглядеть на этом фоне очень хорошо). Ну да сами откройте этот раздел, адрес ЖЖ вы знаете.
Интересные статьи там тоже есть, если мотать достаточно долго — например, про то что Том Круз отказался от трех своих «Золотых Глобусов» (впрочем, скользнув вдоль статьи по диагонали я наткнулся на ключевые слова «лесбиянки» и «трансгендеры», понял что ничего хорошего про эти категории людей я там не прочитаю, и немедленно закрыл).
От ЖЖ у меня сложилось полное ощущение перепрочтения самого конца Града Обреченного или что-то типа того. К счастью, чтобы дойти до конца пустыни тут не нужно сильно стараться — достаточно переключить вкладку.
На сегодняшний день мой запас сил по изучению ЖЖ завершен, продолжаю держать вас в курсе.
Режим Ванги активирован: если Твич не изменится в самое ближашее время, то его просто помножат на ноль. Сейчас есть такая динамика: Твич способствует росту только первых двух десятков стримеров, а все остальные существуют вопреки, зачастую притаскивая подписчиков со своих роликов на Ютубе.
Получается, что фокус сдвигается со стримов на статические ролики, а сам стриминг становится только
...интересным дополнением. Но на самом Твиче так и не сделали нормального просмотра предзаписанных материалов! По крайней мере, в веб‑приложении нет, в вебе хоть «клипы» есть.
А ещё, у них значительная часть работничков — это sjw в плохом смысле слова, и они мешают работать стримерам. Плюс, копирасты всё‑таки выработали базу как травить стримеров за фоновую музычку и картинки на майках. Интересно, что у Твича там в голове и как они собираются выжить в такой ситуации.
Что это за картинка? Это на самом деле объяснение, почему приложения нужно делать или в виде веб-приложений, или желательно - PWA (progressive web apps, т.е. веб-приложений, которые могут работать без интернета).
Веб-приложение у тебя открывается мгновенно по ссылке, откуда бы ты эту ссылку
...не достал (из гугла, из статьи, из баннера, итп). Получается, конверсия у веб-приложения очень крутая. Стопроцентная, в каком-то смысле. У клиента просто нету возможности не сконвертироваться.
Но веб-приложения убогие по сравнению с полноценными оффлайновыми. Получается какая-то чепуха: более плохие веб-приложения получают аудиторию просто потому, что у них сильно лучше выстроен процесс первого запуска, чем у хороших оффлайн приложений.
Интересно, когда Microsoft додумается, что можно запускать нативные приложения сразу по ссылке из интернета, без всяких подтверждений, но в безопасном одноразовом Windows Containers / Hyper-V контейнере.
Конечно, это должно быть что-то сильно более оптимизированное, потому что сейчас контейнеры в шиндовсе жрут ресурсов будь здоров. С другой стороны, они специально сделаны супер-универсальными — настолько универсальными, что для инстант-аппов и не нужно совсем.
Я не топлю за установку малвари и яндекс-баров. Насколько быстро такое приложение установилось, настолько же быстро и без следа оно удалится. Вомзожно, автоматически — как происходит с кэшем веб-страниц.
Насколько помню, когда-то MS уже пытался что-то подобное сделать в браузере со своими C# приложениями, но вот беда — людям совершенно неинтересно писать приложения на изолированной экосистеме MS, им хочется писать на том, на чем им удобно. Конечно, всё это не взлетело.
Жизнеспособна ли эта идея? Вот уже довольно долго я всё что могу запускаю в докере. Это безумно удобно: вместо того, чтобы захламлять систему тоннами мусорных пакетов, у меня есть маленькая песочница, в которой можно немного покопаться и потом удалить её без следа. Но это работает только на линуксе, где докер ничего не стоит. На шиндовсе, к сожалению, он стоит прилично так ресурсов, и ломает поддержку других виртуализаторов (кроме Hyper-V существует еще VMWare и VirtualBox). Кроме того, докер всё-таки умеет запускать только линукс-приложения. И чтобы пробросить в докер графику, особенно под виндой — нужно нехило так напрячься.
Кстати, мгновенно открываемые (в шиндовс-контейнерах) оффлайн-приложения могли бы стать спасением для всех, кого волнует размер дистрибутива и бесполезного говнокода, который жрёт ресурсы твоего компьютера
Очевидно, что если приложение весит 23 гигабайта, то оно никак не может открываться мгновенно. Более того, из-за того, что пользователя не спросили - хочет ли он ждать два часа пока дистрибутив загрузится, процесс запуска 23-гигабайтного приложения - это чистейшее мучение. (Вероятно, там на границе 500 мегабайтов всё-таки нужно ломать идею "мгновенно запускамого" и показывать диалог)
Если кто-то сомневается, может ли приложение весить мало - вспомните пиратские CD-диски из конца 90х - на одном CD-диске объемом 600 мегабайт были десятки фотошопов и 3dmax-ов. Потом прошло несколько лет, и фотошопы и максы начали занимать сначала самостоятельный диск, а потом даже несколько дисков - но это было потом. Изначальными версиями тоже вполне можно было пользоваться.
Visual Studio шла на куче CD-дисков (восемь? уже не помню), но из них самим дистрибутивом был только первый диск (потом - два первых), всё остальное - MSDN и допы типа Install Shield. У нас вместо оффлайн MSDN есть штука лучше - "интернет", так что тут никакой проблемы нет, нет никакого смысла вхреначивать в 20-мегабайтное приложение хелп на 10 гигов.
Способов, как можно управлять размером — море. Например, если в гуе у тебя огромные 4к текстуры, их можно генерировать процедурно, и не занимать под них гигабайты сетевого трафика. См. что могут чуваки на графической демосцене. Звуки тоже не нужно совать во флаке максимального разрешения — их можно сгенерировать программно, и они будут не сильно хуже предзаписанных. Впрочем, обычно приложениям не нужно звуков длиннее «Свиньи Касперского».
Кому нужно тратить столько сил, чтобы получить компактное, быстро запускающееся приложение? Да как раз вот всем тем людям, которые хотят получить быструю 100% конверсию пользователей. Покажите хоть одного маркетолога, который не хочет.
Дело осталось «за малым» — за каким-то быстрым эффективным воплощением Windows Containers. Достаточно эффективным, чтобы не убить ресурсы компьютера на десятом запущенном приложении. К сожалению, обычные люди над этим не властны, это может сделать только Microsoft.
воксельность, геймдев, рендеринг
2021 — новый 2015, и Майнкрафт такой молодой.
Время шарить знания Великих Старейшин.
(полученных via Kirill A Shabordin)
Это картинка из кулуаров SIGGRAPH 2015, описывающая froxel - frustum voxel. Насколько понял из описания, это позволяет оптимизировать ray marching для рендеринга воксельного домена.
Вероятно, сейчас это правильно делать в виде шейдера постобработки для каждого пикселя, что
...Какими решениями/библиотеками/фреймворками вы пользуетесь для сборки мусора в C++?
По идее ведь, каждый человек, который упарывается по сборке мусора, должен делать таковой велосипед для Крестов, но несмотря на это, фреймворков и информации очень мало..
...Сылышал только о древнючем как создание жизни на Земле Boehm-Demers-Weiser. Есть всякие пулы типа того, что есть в Apache Portable Runtime, но это слишком убого - современные коллекторы типа G1 или Shenandoah в той же джаве умеют на пару порядков больше. То же касается велосипедных слаб аллокаторов и другой забавной копипасты со stackoverflow (кстати, есть где готовый продакшен-реди?). Думаю, что даже без прямой поддержки в синтаксисе языка, реализовать это на готовых инструментах возможно, собирая по кусочкам пулы, кастомные аллокаторы, трейсеры и раскрашиватели ссылок, итп
Так как в предыдущем вопросе о RTTR люди жаловались на отсутствие постановки цели, то вот Лекс лет так 7 назад описал Логику Неизбежности. Каждый кто начинает писать свой мемори менеджмент в конце концов доходит до написания GC в том или ином виде.
В качестве причин можно рассматривать как чистый перфоманс (перемещение выделенных объектов в куче, отложенное пакетизирование удаление с приоритетами), подкрепленный безумной сложностью реализации в одно рыло некоторых вещей (например многопоточности с учетом отсутствия приятной модели памяти), так и вопросы архитектуры приложения (лень писать поэтому вот цитата Донского из «Жизненного цикла программиста»):
«есть общие методические принципы создания программ, не вполне осознаваемые даже хорошими программистами. Примером может служить проблема принадлежности объектов друг другу, а также совмещение двух структур любой программы – иерархии вызова подпрограмм вместе с объектами, принадлежащих подпрограммам, и иерархии объектов по принадлежности друг другу. Примером отказа от самой идеи справиться с этими проблемами является наличие в некоторых языках механизма сборки мусора, что является молчаливым признанием возможности присутствия в среде объектов, не принадлежащих ни подпрограммам, ни другим объектам.»
Да, можно взять какой-нибудь Garbage Collection Handbook и пару пейперов, потратить два месяца (или два года?), и закодить велосипед - но зачем? Я уже видел эту дорогу (не на чистых крестах, а на крестах + джава, но это неважно), и не хочу ходить по ней второй раз, поэтому прошу достойных сэров экспертов Лора подобрать мне уже готовую GC-подобную систему для C++.
Подскажите что-нибудь? Шпасибо!