Что мы можем делать? Создавать и продвигать простые средства к файлообмену, в которых, с одной стороны, будет увеличиваться простота использования, с другой — анонимность. Сложные технологии под простым интерфейсом — это то, что сейчас в тренде. Когда люди играют в злых птичек на девайсе, который в годы Второй Мировой мог повернуть ход войны в любую сторону, на лету расшифровывая любые зашифрованные послания противника. Это сейчас сложно объяснить мамам и папам, что такое TOR и как (и главное, зачем) он работает. Я думаю, со временем это станет проще.
Зачем учиться чему-то на телефоне/планшете? Делать это в метро/пробках — мне кажется, недостаточная степень сосредоточения и много отвлекающих факторов. Дома же есть ПК и курсера и иже с ним.
Достаточно будет добавить (если до сих пор не было) в установщик программы галочку «Данный продукт куплен мной у одного из офиц. продавцов, список которых доступен на сайте...», т.е. заставлять пользователя брать на себя те самые «добровольные» обязательства.
Тут дело не в серьезности, а в том, что непонятно — для кого написана эта статья. Если она для людей кто про реверсинг слышал только, что это страшно — то статье явно не достает разжевывания основ. А если она для людей, кто интересуется — то слишком простая :)
Ага, нигде нету статей по верерсингу и разбору крекмисов, особенно на wasm.ru вообще нет :)
Вообще, статья слишком поверхностная и не тянет на сколько-нибудь адекватный туториал потому, что фактически не объяснено ни что такое крекмисы, ни объяснений, почему мы делаем что-то так, а не иначе.
А если брать за основу то, что это просто обзор конкретного крекмиса, то, думаю, кандидат слишком примитивен чтобы привлекать к себе столько внимания.
Использовать нейронные сети на данный момент в игровом ИИ — это попытка охотиться на орла с ножом. В том смысле, что нейронные сети требуют обучения, и при этом при малейшем изменении исходных данных или изменения каких-либо игровых коэффициентов — полного переобучения. Учитывая при этом очень низкую скорость обучения НС до приемлемых результатов — фактически это становится невозможным.
Если уж так хочется поиграть с «научным» ИИ в играх — попробуйте посмотреть в сторону генетических алгоритмов. По крайней мере, они могут помочь выработать оптимальную стратегию поведения и заложить ее в программу бота в зависимости от разных наборов входных данных. Но, опять же, для обучения этих ботов для «стрелялки» придется слишком много раз проводить игровые сессии, так что этот путь оптимален скорее для детерминированных игр вроде нард :)
На практике же в игровом ИИ используются обычные портянки с кучей if-ов, case-ов и т.д., поскольку на данный момент только они способны адекватно отвечать требованиям к скорости работы.
Видимо, дело в том, что BFS вообще не умеет в классической реализации учитывать стоимость пути, а у нас здесь есть диагональные переходы, которые BFS может оценивать как 2 перехода стоимостью 1, либо 1 переход стоимостью 1. Нужно смотреть исходники.
По поводу определения столкновений стоит поправить — если два кирпича находятся один над другим и мячик попадает сбоку в их общую границу, он не может отскочить от верхней грани нижнего кирпича, т.е. столкновение должно обрабатываться как удар от вертикальную поверхность, а не горизонтальную.
Вообще, статья слишком поверхностная и не тянет на сколько-нибудь адекватный туториал потому, что фактически не объяснено ни что такое крекмисы, ни объяснений, почему мы делаем что-то так, а не иначе.
А если брать за основу то, что это просто обзор конкретного крекмиса, то, думаю, кандидат слишком примитивен чтобы привлекать к себе столько внимания.
Если уж так хочется поиграть с «научным» ИИ в играх — попробуйте посмотреть в сторону генетических алгоритмов. По крайней мере, они могут помочь выработать оптимальную стратегию поведения и заложить ее в программу бота в зависимости от разных наборов входных данных. Но, опять же, для обучения этих ботов для «стрелялки» придется слишком много раз проводить игровые сессии, так что этот путь оптимален скорее для детерминированных игр вроде нард :)
На практике же в игровом ИИ используются обычные портянки с кучей if-ов, case-ов и т.д., поскольку на данный момент только они способны адекватно отвечать требованиям к скорости работы.