4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Путеводитель, после которого вы признаете Fallout 76 лучшей игрой года

Содержание

Путеводитель, после которого вы признаете Fallout 76 лучшей игрой года

Fallout 76 – это бомба.

А это путеводитель с элементами руководства, который прожует вам основные ценности игры.

В этой игре можно устроить ядерный апокалипсис, стать монахиней, бесконечно слоняться по чужим домам и получить люлей от монстров, которым место в Блич, а не научной фантастике. Или выхватить люлей от лягухи с лапами-базуками. С чего начнем? С уникальных и важных фактов! Наверняка многие участники бета-теста схитрили, покупая или абузя ключи на различных сомнительных сайтах, поэтому им будут интересны пикантные особенности игры.

В последнем анализе BattlEye, в списке теневого бана было всего две метки дат времени компиляции, и похоже, что разработчики решили добавить гораздо больше:

0x5B12C900 (action_x64.dll)
0x5A180C35 (TerSafe.dll, Epic Games)
0xFC9B9325 (?)
0x456CED13 (d3dx9_32.dll)
0x46495AD9 (d3dx9_34.dll)
0x47CDEE2B (d3dx9_32.dll)
0x469FF22E (d3dx9_35.dll)
0x48EC3AD7 (D3DCompiler_40.dll)
0x5A8E6020 (?)
0x55C85371 (d3dx9_32.dll)
0x456CED13 (?)
0x46495AD9 (D3DCompiler_40.dll)
0x47CDEE2B (D3DX9_37.dll)
0x469FF22E (?)
0x48EC3AD7 (?)
0xFC9B9325 (?)
0x5A8E6020 (?)
0x55C85371 (?)

Мне не удалось идентифицировать оставшиеся временные метки, а два 0xF******* — это хеши, созданные детерминированными сборками Visual Studio. Благодарю @mottikraus и T0B1 за идентификацию некоторых временных меток.
Читать полностью »

Дайджест интересных материалов для мобильного разработчика #232 (27 ноября-3 декабря)

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

Читать полностью »

Как расправиться с читерами и не переписать весь код

Несколько лет назад появился прототип игры War Robots (тогда она еще называлась Walking War Robots). Это был первый опыт Pixonic в жанре тактического PvP, поэтому многие будущие проблемы были заложены в коде изначально. Но несмотря на ряд трудностей (популярность проекта стремительно росла, небольшая команда не могла полностью изменить архитектуру игры в краткие сроки), нам в итоге удалось свести к минимуму количество читеров, а также исправить другие недостатки оригинального кода. Расскажу немного подробнее.Читать полностью »

Читеры в World of Tanks

Публикации о читерстве в шутерах и о том, как с читерами борется Valve, натолкнули меня на мысль написать о читерах и борьбе с ними в популярной и довольно известной онлайн игре «World of Tanks».
Читать полностью »

Немного о читерстве в шутерах: что представляют собой «читы»

Недавняя публикация о том, как Valve обучает ИИ выявлять читеров в CS:GO, а так же вопросы пользователей, навели меня на мысль о том, что подобная публикация может быть интересна для ознакомления с некоторыми сторонами читерства и функционала читов. Мне никогда не приходило в голову писать об этом статью, так как я не имею отношения к программированию, и вообще работаю в другой сфере. Однако данную тему я посчитал достаточно интересной, чтобы рассказать о ней более подробно.
Читать полностью »

Valve обучает ИИ выявлять читеров в CS:GO

Ничего нет хуже в Counter-Strike, чем встретиться со спинботом, который применяет аимбот. Аимбот — один из самых мощных читов, он выполняет автоприцел для выстрела в голову. А спинбот постоянно вращается вокруг своей оси, обеспечивая поле зрения 360 градусов. Таким образом, спинбот с аимботом мгновенно уничтожает всё вокруг, выполняя автоприцеливание даже у себя за спиной.

Спинбот — самый очевидный чит, который вычислялся довольно быстро, а вот аимбот и другие читы выявить со стороны гораздо сложнее. Поэтому до настоящего времени читеры чувствовали себя относительно вольготно. Но в будущем нечестных игроков будут выявлять и блокировать гораздо быстрее. Эту новость сообщил один из разработчиков из компании Valve.
Читать полностью »

Читать еще:  Project CARS 2 была объявлена дата реализа

Борьба с читерами в онлайн-играх: 22 «нужно» и «нельзя»

Почти невозможно найти успешную многопользовательскую онлайн-игру (кроме тех, в которые играют только друзья разработчика), в которой нет читеров. Другими словами, если в вашей публичной игре нет читеров, она или недостаточно популярна, или распознавание мошенников работает не слишком хорошо. Во всех остальных случаях вам придётся иметь дело с читерством. Изучите список шагов которые НУЖНО и НЕЛЬЗЯ совершать (подробное обсуждение темы читерства приведено в моей трёхтомной книге, см. примечание в конце статьи) при борьбе с мошенничеством в играх.
Читать полностью »

Создатель бота Stormbuddy для WOW обвиняет Blizzard в краже исходного кода

На Geektimes уже публиковалась новость о том, что Blizzard Entertainment подала в суд на разработчика ботов для World of Warcraft, Diablo, и Heroes of Storm. При этом компания по какой-то причине судится не с компанией Bossland, которая и продает ботов, а с частным лицом, Ником Энрайтом. Ник более известен общественности, как Apoc. Компания Bossland при этом утверждала, что Ник Энрайт никакого отношения к созданию ботов не имеет, и ее сотрудником не является.

Все оказалось немного не так. В разговоре с СЕО Bossland Зветан Лечев (Zwetan Letschew) журналисты издания Torrentfreak выяснили, что Apoc все же работал на Bossland в качестве фрилансера, создавая ботов для игр Blizzard. Тем не менее, все права на это программное обеспечение принадлежат Bossland. Blizzard решила подать в суд не на компанию, а на ее фрилансера, и не прогадала. Apoc после иска Blizzard пошел на мировую с компанией, согласившись передать исходные коды ботов.
Читать полностью »

Компания Blizzard судится с разработчиками ботов за нарушение копирайта

Читы и боты всегда были и всегда будут популярными. Их пишут как одиночки, так и авторитетные команды разработчиков в крупных компаниях. Но многим создателям игр подобные вещи не слишком по душе, и пользователей, которые используют читы/ботов обычно банят. В Blizzard Entertainment решили пойти дальше — компания сейчас судится с разработчиками ботов для World of Warcraft, Diablo 3 и Heroes of the Storm. Компания считает, что операторы ботов, во-первых, нарушают копирайт, во-вторых, разрушают возможность нормальной игры для геймеров.

По словам представителей Blizzard, читеров и ботоводов всегда меньше, чем «нормальных» игроков. Но именно эта категория геймеров пытается взять верх над всеми остальными, используя нечистоплотные методы. Именно поэтому Blizzard Entertainment подала в суд на Джеймса Энрайта (Apoc) и нескольких других ответчиков, ответственных за разработку популярных ботов. ПО, созданное Энрайтом позволяет геймерам получать нечестное преимущество перед остальными игроками в World of Warcraft, Diablo и Heroes of Storm.
Читать полностью »

Почему translit в именовании это плохо и другие интересные особенности нашего восприятия кода 29.01.2020 19:39

Есть неожиданно много людей, считающих, что писать код можно как угодно, а все эти правила и рекомендации просто занудство. Что же, у каждого каждого человека есть право на своё мнение.

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

И на то есть причина. Вам никогда не доводилось сталкиваться с усталостью от чтения? Например, сложной технической литературы, канцелярита, другого языка? Уверен, что доводилось. И да, это именно усталость, пусть и не та же что и при физических нагрузках. Сложный для чтения текст значительно сильнее расходует ресурсы мозга.

Код это тоже текст. И написать его можно так, что чтение станет крайне неприятным и энергозатратным занятием. Если вам вдруг во время работы с особенно ужасными фрагментами корпоративного портала хочется закрыть редактор и посмотреть котиков, то дело, скорее всего, не в том, что вам лень или внезапно случилось то самое выгорание. Всё дело в том, что именно вы читаете.

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

Начнём с того, что механизм чтения это вовсе не какое-то особенное умение, а самое обычное распознавание образов.

Читать еще:  Фильм Doom: Annihilation получил первый трейлер

У мозга есть физиологическое ограничение: время распознавания образа практически константа, от появления перед глазами объекта до осознания мозгом что этот объект из себя представляет проходит около 500 мс. Это не какая-то физическая постоянная, а число полученное на основе экспериментальных данных. Понятно, что все люди разные, кто-то реагирует немного быстрее, кто-то медленнее, даже один и тот же человек в зависимости от состояния будет реагировать по разному. Однако, в среднем эта цифра примерно одинакова для всех. Интересно так же отметить, что время распознавание образа не особо различается для разных по сложности объектов, например собака и буква С будут распознаны почти с одинаковой эффективностью.

Для пытливого читателя

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

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

Например, вы никогда не задумывались, почему скорость чтения оценивается по словам, а не по буквам? Объяснение простое — после определённого уровня буквы человек не читает. Он читает слова. Чтение по буквам крайне затратно, например слово «секунда» в среднем читалось бы три с половиной секунды. Вместо этого мозг постоянно учится и после определённого количество встреч с написанием какого-то слова начинает распознавать его целиком, минуя стадию сборки слова из букв.

Как вообще распознаётся слово

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

Поиск ОЧЕНЬ оптимизирован. Достоверно можно утверждать, что ни о каком прямом переборе речи не идёт. Естественно, описать этот механизм в подробностях невозможно, однако попробуем составить грубую модель.

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

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

Далее выполняется соотнесение с контекстом. Те слова, которые не могут находиться рядом или просто в тексте данной тематики откидываются. В итоге получается небольшая выборка, в правильности которой мозг относительно уверен. Слово из этой выборки, обладающее наибольшим весом, будет считаться нужным вариантом.

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

После того как образ распознан, на его основании генерируется соответствующий объект и заносится в виртуальное пространство текста.

А причём тут код?

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

Даже в лихие девяностые в интернетах не встречалось таких странных сТиЛеЙ НаПиСаНиЯ kakiе mozhno встртть в кд опт разрбов по_дляКомпукторов.

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

Самый распространённый пример — транслит в названиях функций и переменных.

В наборе эталонов нормального человека нет шаблона для слова sklads. Приходится читать его по английски, вокализировать, находить аналогию в русском языке. Это увеличивает время первого прочтения примерно в три раза.

Читать еще:  Fortnite: В игру добавили «Авиаудар»

Ещё более неприятный пример — бессмысленные сокращения.

Вероятно автор хотел сказать country name code. Хм… Ну допустим. Помимо очевидной проблемы с чтением у нас возникает проблема с внесением этого объекта в наше виртуальное пространство кода. Если в тексте есть яблоко, но мы написали яблк и в дальнейшем укажем, что яблоко надо разрезать, то писать придётся «разрежьте яблк». Когда нам потребуется написать, что мы присваиваем стране какой-то код мы интуитивно начнём набирать country_name_code и тут же остановимся. У нас в голове не строки, помните?

После многократного применения мозг запомнит cntr_nm_code, но первые несколько раз он будет спотыкаться и смотреть в подсказку редактора. И хорошо если эта подсказка есть.

Тема «неуместных» слов достаточно хорошо изучена. Есть исследования, показывающие, что прочтение слов, не соответствующих контексту или нарушающих синтаксис даётся сильно хуже. Например, словосочетание «хвост кота» прочесть сильно проще и быстрее чем «кот хвоста» в силу его очевидной нелогичности.

Тем не менее, некоторым разработчикам свойственно забывать порядок слов в предложении да и вообще здравый смысл при написании кода.

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

Незнакомые слова (транслит, выдуманные слова, неочевидные сокращения)
Нарушение привычного синтаксического порядка (activePageSet (42))
Несоответствие формы значению (activateTheme вместо themeIsActive)
Мимикрия слов (Name, name, _name и _Name в одной функции)
Произвольный порядок стилей именования (стандартные функции PHP, например)

Почему всё это вызывает усталость

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

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

Вот иллюстрация из исследования реакции человека на настоящие и выдуманные слова

Аналогичные данные можно увидеть в исследовании по чтению предложений с нарушением смысла.

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

Заключение и плохая метафора

Хоть я и и не люблю аналогии, однако есть прекрасное сравнение, которое позволяет понять, что именно мы испытываем при чтении текста со всеми этими несуразностями. Представьте себе, что у вас есть шуруповёрт. Он отлично крутит саморезы, вы за долгие годы подобрали к нему обширный набор бит для самых разных видов крепежа — прямой шлиц, обычный крест, крест со звёздочкой, торкс, шестигранник… Словом всё, что надо для нормальной работы.

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

Следующий саморез должен закручиваться шестигранником, но только под углом 15 градусов к шляпке самореза. Вы понимаете, что закруить его можно только ключем. Ладно, один раз можно думаете вы и закручиваете его руками.

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

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

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

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

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector