• Как три школьника взломали исходный код Final Fantasy V, чтобы локализовать её

    • Перевод
    image

    Однажды в конце 90-х Мирия (Myria) зашла в компьютерный класс старшей школы Ирвайна и наткнулась на парня, игравшего в Final Fantasy V. Это было необычно: во-первых, Final Fantasy V никогда не выпускали в США. Чтобы поиграть в эту японскую игру 1992 года на английском, нужно было сначала скачать ROM, а потом установить неофициальный фанатский патч с переводом, который недавно появился в Интернете. Мирия знала об этом патче, и это тоже было необычно: она помогала в его создании.

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

    За двадцать лет Мирия привыкла встречать людей, игравших в неофициальную английскую версию Final Fantasy V. Хоть это и не был первый фанатский перевод видеоигры (первым стал голландский перевод 1993 года игры для MSX SD Snatcher), но он стал наиболее существенным. Он дал понять бесчисленным западным фанатам, что "Final Fantasy III" Squaresoft на самом деле не была третьей частью Final Fantasy, и, что более важно, продемонстрировал миру силу, которую имеют фанаты в индустрии видеоигр. Устав от того, что такие компании как Square отказываются от распространения игр на западных рынках, фанаты просто локализовали Final Fantasy V самостоятельно. Позже они сделали то же самое с RPG, например, с Seiken Densetsu 3 и Mother 3. Они переводили скрипты с японского на английский, редактировали перевод и реализовывали эти скрипты в играх с помощью постоянно совершенствующихся программ.
    Читать дальше →
  • Твердотельные накопители дали слабину

    • Перевод
    Технологии хранения данных — отдельная тема. Не так давно мы косвенно затрагивали ее в нашем материале об управления дисковым пространством сервера.

    Сегодня мы поговорим о том, как команда поискового сервиса Algolia пыталась решить внезапно возникшую проблему с SSD-дисками.

    Читать дальше →
  • Использование потенциальных полей в сценарии стратегии реального времени

    • Перевод
    Реализация поведения юнитов в RTS играх может стать серьезной проблемой. Компьютер, зачастую, контролирует огромное количество юнитов, в том числе и принадлежащих игроку, которые должны передвигаться в большом динамическом мире, попутно избегая столкновения друг с другом, выискивая врагов, защищая собственные базы и координируя атаки для истребления противника. Стратегии реального времени работают в реальном времени, что делает довольно сложным слежение за планированием действий и навигацией.

    Этот урок описывает метод планирования течения игры и навигации юнитов, который использует многоагентные потенциальные поля. Он основан на работах под номерами [1, 2, 3]. (Смотри в конце статьи ссылки на используемые материалы)



    Читать дальше →
  • Программисты и депрессия

          Это перевод (причем достаточно вольный) выступления 2013 года программиста на Ruby по имени Greg Bauges, посвященного депрессии и психическим расстройствам в среде программистов. Выступление старое, но проблема вечная. Вот само видео с конференции:



          Итак, начнем, меня зовут Грег. Я работаю в компании Table XI в Чикаго. Мы что-то вроде веб-студии из 30 человек. Я программировал большую часть своей жизни, начав еще с TRS-80, когда мне было только 6 или 7 лет. Там были кассеты и Basic, я даже еще помню ежемесячный журнал 3-2-1 Contact, который печатал на заднем развороте программы для BASIC. Тогда я не мог копипастить и мне оставалось только перепечатывать программу чтобы запустить, заставляя меняться цвета на экране и делать прочие непотребства… Я провел большую часть моей жизни пытаясь усидеть на двух стульях — программируя и работая с клиентами. И еще у меня биполярное расстройство второго типа(БАР2) и СДВ, и сегодня я хочу рассказать вам свою историю, друзья. Рассказать вам почему мы должны уделять внимание депрессии и психическим заболеваниям на подобных встречах, конференциях, и в разговорах с коллегами.
      Читать дальше →
    • Оптическая компенсация

      • Перевод


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

      Такой подход казался мне логичным, но он оказался неверным.

      Вычисления, осуществляемые программой, разумны, но программа не может учесть человеческое восприятие фигуры, цвета и размера. Кроме этого, программа не может понять взаимоотношения объектов, их место в общем визуальном контексте или то, как человек воспримет этот объект.

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

      Давайте взглянем на небольшое количество показательных примеров.
      Читать дальше →
    • Несколько полезных ruby-трюков, которые (возможно) улучшат ваш код

      • Перевод
      Скучая в эту дождливую праздничную погоду, наткнулся на занимательную статейку в блоге с говорящим названием Samurails, в которой описываются некоторые интересные ruby-трюки, которые наверняка будут интересны новичкам.

      Итак, приступим.

      Создаем хэш из массива


      Проще простого. Ставим команду Hash перед любым массивом и получаем готовые пары ключ/значение:

      Hash['key1', 'value1', 'key2', 'value2']
      
      # => {"key1"=>"value1", "key2"=>"value2"}
      

      Читать дальше →
    • Хроники лаборатории: крыса в полимерном шлеме, спектральный анализ банкой чипсов и синяя изолента


        Знакомьтесь — подопытная крыса Теодор-младший.

        Как многие знают, я сменил род деятельности и теперь основную часть времени я занимаюсь выращиванием суперсолдат и порабощением мира стволовыми клетками. Сразу хочу предупредить — работа в нашей лаборатории сопряжена с NDA, поэтому некоторых вещей я коснусь лишь поверхностно.
        Когда вы занимаетесь наукой, то очень часто возникает необходимость решать сложные и нестандартные задачи. Какими бы глянцевыми и красивыми ни были ваши портативные коллайдеры, любовно приборетенные для разработок, иногда возникает необходимость создать что-то «на коленке» для проверки какой-то идеи. Особенно остро это ощущается в госучреждениях, где, несмотря на зачастую прекрасное финансирование, закон вынуждает организовывать межгалактический тендер на приобретение карандаша. Поэтому я расскажу вам про синюю изоленту, спектральный анализ с помощью банки чипсов и художественную лепку экзоскелета для крысы-мутанта. А заодно узнаем, стоит ли топить сухой лед в унитазе и можно ли потом это пить.
        Дальше очень-очень много фотографий и текста
      • C# .NET: Пять маленьких чудес, которые сделают ваш код лучше. Часть 1

        Здравствуй, Хабрасообщество. Хотелось бы представить на суд твой свои переводы серии статей Джеймса Майкла Харе (James Michael Hare) «Маленькие чудеса C#». Итак, первая часть перед вами!
        Эти маленькие советы и рекомендации сделают ваш код более кратким, производительным и обслуживаемым. Наверное, многие из вас знают обо всех или некоторых из них, но игнорируют их, либо просто не знают.
        Подробности
      • Набор иконок Material Design от Google



          В списке самых популярных репозиториев Github за неделю на первое место вышел набор иконок Material Design, разработанный в компании Google.

          Набор содержит аж 750 (!) глифов. Это пиктограммы, часто используемые в различных мобильных приложениях для воспроизведения медиа, коммуникаций, редактирования контента, установки соединения и т.д.
          Читать дальше →
        • 30 полезных сервисов для веб-разработчиков и дизайнеров v2

            Предыстория: я веду свой паблик ВК о веб-разработке, в связи с чем я каждый день имею дело с большим количеством материалов о веб-разработке. Однажды (3 месяца назад) мне пришла в голову идея опубликовать на хабре подборку «30 полезных сервисов для веб-разработчика». Тот пост набрал почти 100 000 просмотров, и мне приятно, что он оказался полезен сообществу. С тех пор у меня поднакопилось больше 30 новых сервисов, которые будут полезны как разработчикам, так и дизайнерам. Лучшие из них я собрал в этом посте. Осторожно, под катом много картинок!
            Читать дальше →