• Стильный водопад из RiME в игровом движке: делаем водяной поток

    • Translation
    Это вторая (и последняя) часть гайда по созданию водопада в Unity или UE4 после вдохновения игрой RiME. В первой разобрались с инструментами, выбрали среду разработки и создали шейдер кругов на воде. Почему начали именно с этого? Все просто: там используется большинство методов, которые сейчас понадобятся при создании водопада. Но тут есть и свои хинты. Тянуть не будем — давайте под кат.


    Читать дальше →
    • +44
    • 9.4k
    • 1
  • Деградация программного обеспечения

    • Translation
    В книге «Электромагнитная эпоха: работа, любовь и жизнь, когда роботы правят миром» Робин Хэнсон кратко обсуждает деградацию программ:

    Программное обеспечение изначально было разработано для одного набора задач, инструментов и ситуаций. Но оно медленно изменяется, чтобы справиться с постоянным потоком новых задач, инструментов и ситуаций. Такой софт становится более сложным, хрупким, в него труднее вносить полезные изменения (Леман и Биледи, 1985)1. В конце концов, лучше начать всё сначала и написать с нуля новые подсистемы, а иногда и полностью новые системы.

    Я уверен, что это правда. Как правило, грамотная адаптация программного обеспечения к новым условиям занимает больше времени и усилий, чем написание нового программного обеспечения с нуля. Программисты не любят признавать это, но доказательства очевидны. В проектах open source есть несколько известных примеров.
    Читать дальше →
  • Новые языки программирования незаметно убивают нашу связь с реальностью



      Однажды настанет день, когда команды в программировании будут выглядеть вроде «эй, компьютер, сделай-ка мне вот эту хреновину».

      Что там будет под капотом, ни одна живая душа уже не поймет. Команда «хреновина» интерпретируется в абзац с описанием, который интерпретируется в ключевые слова, который интерпретируется в набор векторных обозначений, который интерпретируется в какой-нибудь С, который скомпилируется в…

      и где-то там внизу превратится в электрические импульсы на железяках.

      Программистами станут лощеные гуманитарии с «высокими вербальными способностями, коммуникативными навыками и умением быть няшей в команде». Слава богу до этого дня, как до Аляски на упряжке, но каждый раз изобретая очередной Kotlin, мы этот день приближаем.

      Просто я задумался — а не стали ли наши ЯПы уже чем-то таким? Чуть более умным эквивалентом фразы «компьютер, сделай хреновину». Кучей формализованных протоколов для электричества, про которое мы уже забыть забыли. Штукой, которая все сильнее рвет нашу связь с механической реальностью.

      Я часто слышу фразу: «Фил, отступись, хватит думать обо всякой чепухе». Но блин, будь проклят тот день, когда на Хабре напишут «хватит думать».
      Читать дальше →
    • Древности: двадцатилетняя фотокамера на дискетах

        В 1998 году я безнадежно мечтал про два гаджета: карманный компьютер (с клавиатурой, тогда других почти и не было) и цифровую фотокамеру. Купить ни то, ни другое шансов у меня не было, но был план, и в отношении фотокамеры выбор безусловно был в пользу устройств, пишущих цифровые фотографии на дискеты. Почему? Очень просто: карты памяти были дорогие, а дискеты — вот они, в количествах. Плюс обеспечивалась совместимость с любым компьютером без всяких проводов.

        Преимущество моего винтажного увлечения в том, что все мечты сбываются, надо лишь немного (лет десять-двадцать) подождать. Недавно я совсем недорого приобрел устройство двадцатилетней давности — цифровую фотокамеру Sony Digital Mavica MVC-FD71 с 0,3-мегапиксельной матрицей и дискетным приводом. Она и в 1998 году была не самым лучшим представителем нового поколения фотоаппаратов, но из 2019 года принципиальной разницы нет. Ожидая что-то совсем непригодное к использованию в современных условиях, я был приятно удивлен.
        Читать дальше →
      • Жизнь на частицах

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

        Классический пример системы с простыми правилами и сложным поведением — клеточные автоматы, именно на них я и ориентировался, пытаясь подобрать правила. Конечно же, для клеточных автоматов правила будут в большинстве случаев проще. Но частицы могут быть красивее!

        Под катом много мегабайт гифок.

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