• Практическое руководство по взлому (и защите) игр на Unity

    • Translation
    • Tutorial


    Когда речь идёт о программном обеспечении, термин «взлом» зачастую ассоциируют с пиратством и нарушением авторских прав. Данная статья не об этом; напротив, я решительно не одобряю любые действия, которые прямо или косвенно могут навредить другим разработчикам. Тем не менее, эта статья всё же является практическим руководством по взлому. Используя инструменты и методы о которых далее пойдёт речь, вы сможете проверить защиту собственной Unity игры и узнаете, как обезопасить её от взлома и кражи ресурсов.
    Читать дальше →
  • Как научиться делать игры: полезные ресурсы

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

      image
      Читать дальше →
    • Путеводитель по реализации 2Д платформеров (окончание)

      • Translation
      Окончание перевода статьи «путеводитель по реализации 2Д платформеров».
      Начало

      Тип №3: Битовые маски


      Он подобен тайловому (плавному) методу, но вместо использования больших тайлов используется картинка для проверки столкновений для каждого пиксела. Это позволяет лучше проработать игру, но и значительно увеличивает сложность, использует больше памяти и требует что-то схожее с графическим редактором для создания уровней. Такая маска обычно не используется непосредственно для визуализации, поэтому нужны дополнительные средства — например, большое графическое изображение (подложка), индивидуально для каждого уровня. Из-за подобных проблем эта техника довольно редка в использовании, но позволяет добиться более качественных результатов, чем варианты, основанные на тайлах. Этот метод удобен для создания динамического окружения — разрушения можно просто «рисовать» в битовую маску для изменения уровня. Хороший пример — игры серии Worms.

      Worms World Party с разрушаемой топографией
      Примеры: Worms, Talbot’s Odyssey

      Читать дальше →
      • +28
      • 19.6k
      • 3
    • Секреты Stack Overflow

        Приветствую, коллеги. За последние несколько лет Stack Overflow стал полезнейшим инструментом для разработчиков. Множество вопросов, заданных Гуглу и Яндексу, в первых же ссылках ведут на понятные и исчерпывающие ответы на этом ресурсе. Большинство разработчиков используют сайт Stack Overflow именно как базу знаний программистов, возможность быстро получить нужный ответ. Под катом я расскажу про несколько интересных кейсов подводной части айсберга: спрятанные ответы, награды, прокачивание кармы и многое другое, скрытое от поверхностного взгляда.

        Читать дальше →
      • Избитая банальность. Как школьник бота писал

        Мне 16 и я школьник. Не так уж давно меня посетила идея написать бота… Нет, не PHP-поделие, уныло висящее на никому не нужном сайте. И даже не бесполезный ответчик на фразы типа "! Погода".

        Бот задумывался для развлечения как «говорилка» на десктоп. Ужасно, правда? Но мне хочется узнать свои ошибки, ведь я ни разу не показывал свой код кому-либо, в школе только паскаль. Итак, следуя ненавидимому некоторыми чистому структурному подходу я написал первоначальный вариант на C++.

        Задумка такова.
        Читать дальше →
      • Еще одно сравнение производительности С++ и C#

          Навеяно вот этой статьей.

          Существует три мнения относительно производительности C++ и C#.

          Те кто знают (или думают что знают) C++ считают, что C++ в разы или даже на порядки быстрее.
          Те кто знают C++ и C# знают, что для обычных задач быстродействие C++ не нужно, а там где нужно — можно и C#-код заоптимизировать до невозможности. Верхний предел оптимизации у C++ выше, чем у C#, но такие рекорды никому не нужны.
          Те кто знают только C# — никогда не испытывали проблем с его быстродействием.

          Люди из первой категории все время пытаются доказать свою правоту. При этом приводят примеры оптимизированного кода на C++ и самого пессимизированного кода на C#.
          Читать дальше →
        • Реверс-инжиниринг полёта Бэтмена



            Этим летом вышла очередная игра из серии Batman Arkham, в ПК версии которой оказалось столько багов, что было принято беспрецедентное решение снять её с продаж. Я решил посмотреть, что же там такого ужасного.

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

            На скриншоте изображён этот момент: вместо того, чтобы лететь вперёд, Бэтмен повернулся вниз головой, демонстрируя полнейшее пренебрежение к происходящему. Аналогичный баг был в предыдущей игре (Arkham Origins), и он до сих пор не исправлен. Видимо тот же самый кривой код был перенесён в новую игру. Попробуем найти, какие ошибки делают программисты в играх такого уровня, и исправить их.
            Читать дальше →
          • Как NASA управляет МКС для избежания столкновений с космическим мусором

            • Translation
            Находящаяся на орбите примерно в 400 километрах над нами Международная Космическая Станция — это один из наиболее сложных и дорогих инженерных проектов за всю историю человечества. Станция весит около 400 метрических тонн, а размеры ее немного превышают размеры поля для американского футбола. Для ее сборки потребовались десятки и десятки запусков со стороны России и США (включая 37 полетов шаттлов), а так же более 155 выходов космонавтов и астронавтов в открытый космос — а это вдвое больше, чем общее количество выходов в открытый космос на тот момент.


            Сравнение размеров МКС и поля для американского футбола

            Постройка и запуск МКС обошлась человечеству примерно в 150 миллиардов долларов и 13 лет работы. И в этот самый момент, где-то там, высоко над нашими головами, шесть человек работают в космосе. Конечно, станция не просто висит там без движения. Сама по себе орбита МКС имеет тенденцию к снижению из-за сопротивления атмосферы — скорость этого снижения составляет около 2 километров в год — поэтому станцию нужно время от времени подталкивать, чтобы помочь ей оставаться на необходимой высоте. Более того, вся эта огромная структура является довольно мобильной — ее можно двигать, поворачивать и наклонять в трех измерениях для того, чтобы избежать возможных столкновений с космическим мусором. Так как же удается переместить 400 тонн довольно хрупкой МКС в случае, если на нее, к примеру, движется астероид?

            Давайте узнаем...
          • Открытия уходящего года — еще одна полезная функция сна

            • Translation
            image
            Мозг подопытной мыши в процессе сна. Красные «полосы» на снимке — потоки спинномозговой жидкости в процессе очистки от отходов.

            Сон очищает мозг от лишней информации, накопившейся во время бодрствования — утверждение, знакомое, наверное, каждому еще со школьной скамьи. В 2013-м году появилось несколько более существенное пояснение по поводу роли сна в жизни человека.
            Читать дальше →
          • Интересующимся мозгом/ИИ: ссылки на почитать

              Расчищая Авгиевы конюшни на своем компе, взялся за структурирование накопившихся линков. Подумал, может и другим будет интересно то, что когда-то мне показалось достойным. Опять же, будет к чему отсылать с вопросом есть чо? «что почитать?»

              Этот набор (порядка 400 ссылок) ни в коей мере не претендует на полноту или объективность. Наоборот, приглашаются все желающие дополнить и исправить (например раздел «Онлайн Курсы» подозрительно пуст). Если будет интерес, буду апдейтить этот пост новыми линками + апдейты отдельными постами оформлять.

              Не стал я сюда давать ссылки на книги по нейробиологии и совсем заумные статьи (хотя много ссылок на оригиналы статей) — это тема для отдельного поста, наверное, с хорошим обзором. Если кому-то захочется почитать статью, к которой доступ закрыт — пишите, вышлю.

              Много ссылок на английские сайты, я не стал их переводить, чтобы не вводить в заблуждение.

              PS: я оставил ссылки как есть, чтобы было видно куда ведет. Если кого напрягает — пишите, апдейтом спрячу.

              Знание - сила!
            • Знакомства для айтишников

                Я сотрудник крупного сервиса знакомств в России. Недавно мне пришла в голову отличная, на мой взгляд, идея по его развитию.

                Предпосылки:
                — статистика сервиса знакомств: 1.1 млн уников в сутки и 10.7 млн уников в месяц;
                — высокая активность женской части аудитории сервиса;
                — 80% команды — программисты.

                Большая часть сотрудников в нашей команде — разработчики: наблюдая за ними, я задумался о специальном сервисе знакомств для программистов, а если брать шире — в принципе для айтишников. Оказалось, что осуществлению этой идеи многие из нашей команды были бы не против посвятить свое «внеурочное» время.



                Командное обсуждение сформулировало цели проекта
              • Как работает беспилотный автомобиль «Гугла»



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

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

                  Читать дальше →
                • Прогулка по Стенфордскому университету

                    Знаю, что Хабра — это не тревел-блог. Но тема кремниевой долины постоянно мусолится на хабре. Так же часто упоминается Стенфордский университет.
                    Я поискал поиском — но не нашел ни одного полноценного фото-отчета с кампуса Стенфода.

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



                    К сожалению, найти студента, который бы рассказал нам об университете «изнутри» мы не смогли. Поэтому мой рассказ исключительно о «внешней» оболочке…

                    P.S. Добавил в блог «офисы ИТ компаний» — так как Стенфорд был офисом многих IT стартапов.

                    Читать дальше →
                  • Ядерная энергетика — кратки над Й

                      Судя по комментариям к посту о небесной воде, среди читателей есть некое недопонимание вопросов ядерной энергетики. Я хочу внести некую ясность в этот вопрос. Многим то, что я напишу, покажется элементарщиной, но, к сожалению, не всем.
                      Читать дальше →
                    • Устраиваемся программистом за рубежом

                      Как часто вас посещала мысль о трудоустройстве за границей, будь то просто временная работа или переезд на постоянное место жительство? Какую страну выбрать? Возможно ли пройти собеседования за тысячи километров по телефону и получить джоб-офер? Как будет выглядеть переезд и жизнь в другой стране? В данной статье я бы хотел поделиться личным опытом и опытом многих моих друзей работающих за рубежом.
                      Читать дальше →
                    • Как я поехал работать в Данию

                        Две недели назад я начал работу в датской компании "Secunia", и хочу — как и многие хабровчане, уехавшие работать за рубеж — поделиться своим опытом. Не уверен, к какому хабу это должно относиться, но вроде бы предыдущие подобные рассказы были в «Офисах IT-компаний».

                        Поиск работы


                        Всё началось с того, что Google AdWords показал мне ссылку на вакансию "Senior Reverse Engineer and Vulnerability Researcher". Как раз в это время я искал новую работу, и гугл, видимо, тонко проанализировал мою историю поиска и содержимое последних писем; а может быть, просто подфартило. Эта вакансия до сих пор открыта; и если кто-нибудь из вас на неё устроится, упомянув меня в качестве порекомендовавшего, то мне будет положен какой-то приятный бонус. Так что не стесняйтесь.

                        В начале ноября я отправил на рассмотрение своё резюме, и получил по очереди два тестовых задания. Оба были похожи: дан кусок дизассемблированного кода x86 (одно задание было на Си, другое на С++). Нужно восстановить исходник и найти в нём возможные уязвимости и другие проблемы. От момента получения кода, до отправки заключения по нему — даётся час. Длина кода — около сотни команд. Фактически, у меня уходило минут двадцать на его разбор, и минут двадцать на написание соответствующего кода на Си/С++. Ничего сложного для любого, кто когда-нибудь пытался ковыряться в чужих программах.

                        В конце ноября у меня — удачно совпало — уже была запланирована поездка по Скандинавии; и в тот единственный день, когда я был в Копенгагене, я решил заскочить в Secunia, почти без предупреждения. Новая удача: именно в этот день им какие-то строители экскаватором перерубили интернет, и все сотрудники сидели без дела. Поэтому CTO оказался свободен, чтоб меня прособеседовать. Он произвёл на меня весьма серьёзное впечатление, но больше я его с тех пор не видел; а с моим нынешним начальником мы тогда обменялись разве что парой слов. Они сказали, что пришлют мне последнее, самое сложное и важное задание, и после этого окончательно решат по поводу моей кандидатуры.

                        Это последнее задание мне прислали в начале декабря. Нужно было найти конкретную версию Adobe Reader, взять готовый PDF-файл, который её валит — и написать подробный отчёт, почему это происходит. На задание давался день, с комментарием «не торопись, сделай качественно, сможешь за четыре часа — отлично, за шесть — приемлемо». У меня ушло где-то часов восемь с перерывами на кофе. Я отправил результат, и принялся ждать.
                        Читать дальше →
                      • Профессиональная иммиграция в Австралию, IT и жизнь на другом континенте

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

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



                        Читать дальше →
                      • Очень быстрый и эффективный способ расслабления глаз

                          Предисловие


                          imageНе знаю, все ли программисты всесторонне любознательные люди, но я всегда пытаюсь получить фундаментальные знания во всех областях, которые могут быть практически полезны. В то время, когда мне в голову пришла эта идея я изучал анатомию и физиологию по журналам «Тело человека. Снаружи и внутри», ну а по работе я занимался стерео-варио фотографиями (для тех кто не знает — были такие советские календарики с ребристой поверхностью, где картинка либо казалась объемной, либо менялась). Так вот, в один из вечеров мне пришла в голову замечательная идея, которую я на протяжении уже 4х лет использую для поддержания своего зрения.
                          Обещаю, что эффект почувствуете сразу!
                          Читать дальше →
                        • Как работается в офисе Google в Цюрихе?

                            image На прошлой неделе я опубликовал пост про офис Google в Цюрихе. В комментариях много хабровчан спрашивали про рабочий процесс в Google и про жизнь в Цюрихе.

                            К сожалению, ответить на эти вопросы я не смог, так как был всего лишь гостем. Но, так как есть интерес к этой теме – я договорился с Николаем, который, как раз и был моим провожатым по офису Google.
                            Он ответит на вопросы хабрасообщества непосредственно про работу в корпорации зла и про переезд из России в Швейцарию.

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

                            Читать дальше →