• Как id Software создавала Wolfenstein 3D на основе технологий из Commander Keen

    • Translation
    image

    Данная статья является фрагментом книги Game Engine Black Book: Wolfenstein 3D — подробного исследования, посвящённого истории, коду и разработке оказавшего огромное влияние на игровую отрасль шутера от первого лица про уничтожение нацистов.

    В этой главе раскрываются истоки игры и рассказывается о том, как она была построена на фундаменте успеха и технологий игры Commander Keen, которая сама была построена из останков неудачной попытки продать Nintendo порт Mario 3 для PC.

    Полную книгу, написанную автором и программистом Фабьеном Сангларом, можно приобрести в бумажном или цифровом виде.

    В 1990 году небольшая компания Softdisk из Шривпорта (штат Луизиана) успешно вела дела на рынке shareware.

    Предоставляя услуги распространения видеоигр по подписке, Softdisk создавала и каждый месяц рассылала по почте своим подписчикам новые игры. Бизнес шёл хорошо, но некоторые из сотрудников фирмы были более амбициозными.

    Они думали, что им хватает умений увеличить масштаб и они хотели это доказать. Они создали новый способ программирования сайд-скроллинга и назвали эту технологию адаптивным обновлением тайлов (adaptive tile refresh). Она позволяла выполнять аппаратный скроллинг (прокрутку экрана) на PC, благодаря чему компьютер мог соперничать с NES. В начале 1990 годов они безостановочно работали по выходным над воссозданием Super Mario 3 на PC, чтобы продемонстрировать свои навыки Nintendo.
    Читать дальше →
  • Разбираем змею


      Принципиальная схема змеи, рисовала прекрасная Ш.А.Г. с моих слов

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

      Ну и вокруг них много недопонимания.

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

      Есть змеи, которые умеют плеваться ядом вам в глаза. Есть змеи, которые офигенно плавают. Есть змеи, которые могут двигаться под песком как маленькие версии червя из Дюны.

      Но начнём с разбора змеи. С корпуса.
      Читать дальше →
    • Как в Яндекс.Такси ищут машины, когда их нет

        image

        Хороший сервис для заказа такси должен быть безопасным, надёжным и быстрым. Пользователь не станет вдаваться в детали: ему важно, чтобы он нажал кнопку «Заказать» и как можно быстрее получил машину, которая доставит его из точки А в точку Б. Если рядом нет машин — сервис должен сразу об этом сообщить, чтобы у клиента не складывалось ложных ожиданий. Но если плашка «Нет машин» будет высвечиваться слишком часто, то логично, что человек просто перестанет пользоваться этим сервисом и уйдёт к конкуренту.

        В этой статье я хочу рассказать о том, как при помощи машинного обучения мы решали задачу поиска машин на территории с малой плотностью (проще говоря — там, где, на первый взгляд, нет машин). И что из этого вышло.
        Читать дальше →
      • Игорь Антаров из Moscow Tesla Club борется с 20 мифами о Тесле и электромобилях



          Сегодня кажется, если написать на транспаранте «Тесла» и выйти на улицу — тебя скрутят за несогласованный одиночный пикет. Отношение к Тесле переросло из потребительского взгляда на продукт в идеологию и политическую позицию. Теслу обсуждают словами «верю-не-верю». Мнение о ней тут же увязывают со взглядами на жизнь. Если сказать незнакомцу «я верю в Теслу», он сразу поймет, что я думаю про Трампа и Путина, и какой смузи люблю больше всего.

          Все это очень-очень странно. Ведь мы просто говорим про машину, которая немного непривычно устроена под капотом.

          Нам с baragol хотелось поговорить про Теслу так, чтобы раз и навсегда. Поэтому мы пошли к людям, которые знают о ней лучше всех в России — к ребятам из Moscow Tesla Club.

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

          Мы попытались затронуть все спорные, противоречивые и острые моменты, но при подготовке этого материала меня не покидало ощущение, что от концентрации любви нашего собеседника к Тесле, скептичных читателей будет просто тошнить электричеством. Поэтому если от слова «Маск» где-то внутри у вас зреет «как же задолбали эти…», лучше почитайте, как в Калининграде делают плазменные двигатели.
          Читать дальше →
        • Музыка для ваших проектов: 12 тематических ресурсов с треками по лицензии Creative Commons

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

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

            Читать дальше →
            • +55
            • 16.4k
            • 9
          • Неразбериха с Boeing 737 MAX: анализ возможных причин аварий

            • Translation
            image

            «Столкновение с землёй в управляемом полёте» (Controlled Flight into Terrain) — это авиационный термин, обозначающий аварию нормально функционирующего самолёта из-за того, что пилоты были чем-то отвлечены или дезориентированы. Настоящий кошмар. По моим оценкам, ещё хуже столкновение с землёй в автоматизированном полёте, когда система управления самолётом заставляет его совершать пикирование в землю, несмотря на отчаянные попытки экипажа спасти ситуацию. Такова предполагаемая причина двух недавних аварий новых самолётов Boeing 737 MAX 8. Я попытался разобраться, как могли произойти эти инциденты.

            Примечание: изучение катастроф MAX 8 находится на раннем этапе, поэтому многое из статьи основано на данных из непрямых источников, другими словами, на утечках и слухах, а также на рассуждениях тех людей, которые знают или не знают, о чём говорят. Так что учитывайте это, если решите продолжить чтение.

            Аварии


            Ранним утром 29 октября 2018 года рейс 610 авиакомпании Lion Air вылетел из Джакарты (Индонезия) с 189 людьми на борту. Это был новый, эксплуатировавшийся всего четыре месяца 737 MAX 8 — последняя модель линейки самолётов Boeing, созданной ещё в 1960-х. Взлёт и подъём до высоты примерно 1 600 футов (480 метров) был нормальным, после чего пилоты убрали закрылки (элементы крыла, повышающие подъёмную силу при малых скоростях). В этот момент воздушное судно неожиданно снизилось до 900 футов (270 метров). В радиопереговорах с авиадиспетчерами пилоты сообщали о «проблеме с системой управления» и спрашивали данные о своей высоте и скорости, отображаемых на экранах радаров диспетчеров.
            Читать дальше →
          • Презентация Tesla Model Y — чего ждать и где смотреть



              На прошлой неделе Илон Маск объявил, что Tesla презентует новый кроссовер Model Y 14 марта. Для нас это будет раннее утро 15-го, поэтому завтра станут известны подробности. Мы пока порассуждали, чего стоит ждать от новой модели.
              Читать дальше →
            • Обзор услуги виртуальный рабочий стол



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


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


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

              Читать дальше →
            • Дневник техлида: полгода разработки мобильного PvP



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

                Как техлид команды, я расскажу, с какими задачами и проблемами мы успели столкнуться, как их решаем и почему. Мы используем итеративный подход добавления функционала в проект и в данный момент у нас реализованы: PvP на iOS и Android (обе платформы играют на одних серверах); набор персонажей, три десятка игровых механик, боты; матчмейкинг; набор мета-фич (кастомизация персонажей, прокачка и другие); решена задача масштабируемости на весь мир.

                Итак, поехали.
                Читать дальше →
              • Датчики и микроконтроллеры. Часть 3. Измеряем ток и напряжение

                • Tutorial

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

                Содержание


                Часть 1. Мат. часть. В ней рассматривается датчик, не привязанный к какому-то конкретному измеряемому параметру. Рассматриваются статические и динамические характеристики датчика.
                Часть 2. Датчики климат-контроля. В ней рассматриваются особенности работы с датчиками температуры, влажности, давления и газового состава
                Часть 3. Датчики электрических величин. В этой части я рассмотрю датчики тока и напряжения
                Читать дальше →
              • Обзор специализированных способов обхода блокировок в интернете

                  Представляю вашему вниманию обзор и мои субъективные оценки некоторых специализированных способов обхода блокировок со стороны провайдеров или сетевых администраторов.

                  1. Аддоны для браузеров


                  ZenMate (Chromium-based, Firefox, Android, iOS)

                  • Удобство использования: 5/5
                  • Скорость: 5/5
                  • Шифрование трафика: Да (TLS)
                  • Анонимность: Да
                  • Проксирование всего трафика: Да
                  • Выборочное проксирование: Да

                      Описание:
                          Хороший, быстрый аддон.
                          На момент тестирования было доступно 5 прокси в разных странах.

                      Плюсы:
                          Высокая скорость работы аддона
                          Быстрые прокси

                      Минусы:
                          Требуется регистрация в сервисе
                  Читать дальше →
                • Не Таиландом единым или Как фрилансеру за три часа поменять место обитания без проблем с визами

                    С падением курса рубля жизнь фрилансера-путешественника сильно осложнилась. Однако если все же заработок позволяет, а европейского гостеприимства, как и солнца, ох как не хватает в России – добро пожаловать в восемь стран, где фрилансер найдет покой и красивую картинку позади монитора без проблем и волнений с оформлением виз.


                    Маршруты кочевников за полторы тысячи лет не поменялись. Но нравы стали помягче
                    Читать дальше →
                  • 2,5 млн.просмотров — неплохо поработали вроде бы? Пора идти дальше

                      Все хорошее когда-нибудь заканчивается. Сегодня последний день нашего корпоративного блога на Хабре. Решили переехать на свой отдельный блог (осторожно, там может всплыть окно — ненавязчивое, но тем не менее!).

                      Честно говоря, не знаем, принято ли писать прощальные посты в корпоративных блогах Хабра, но решили написать. Просто хотим сказать СПАСИБО Хабру и всем, кто его читает. Отдельное спасибо поклонникам блога — у нас сложилось прямо небольшое сообщество. 2,300 человек — это сила!

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

                      Немного статистики, чтобы подвести черту под этим большим куском нашей жизни (метрики выбраны из интереса):
                      • Опубликовано статей: 81
                      • Общее количество просмотров: 2,598,237
                      • Рейтинг статей: 76 позитивных, 5 негативных, 1 была пристрелена )
                      • Суммарный рейтинг статей: 2,134
                      • Средний рейтинг статей: +26
                      • Максимальный рейтинг статьи: +177

                      Метрики никогда не были самоцелью, но сейчас смотришь — вроде и неплохо мы с вами поработали, а? Под катом:
                      • 12 самых популярных статей блога Стратоплана, суммарно набравшие более 1,000,000 просмотров
                      • Причины ухода и где нас можно найти

                      Читать дальше →
                    • Мы закрываем проект CppCat

                        CppCat RIP

                        Чуть больше года назад, мы решили провести эксперимент и выпустить альтернативу статического анализатора кода PVS-Studio для маленьких команд и индивидуальных разработчиков. Так появился очень недорогой анализатор под названием CppCat. Сейчас можно подвести итоги этого эксперимента и признать, что он оказался неудачным. За срок чуть более года он принёс приблизительно столько денег, сколько было потрачено на его разработку, продвижение и поддержку. Таким образом проект убыточен. Ведь потраченное время (самый ценный ресурс) мы могли бы использовать для совершенствования PVS-Studio. Мы вынуждены закрыть проект CppCat и сосредоточиться на PVS-Studio. Надеюсь, читателям будет интересен чужой опыт в реализации новой бизнес идеи. Негативный опыт — это тоже полезный опыт.
                        Читать дальше →
                      • Борьба с 2D-физикой в Unity на примере бесконечной игры

                        • Tutorial


                        Мой странный творческий путь занес меня в разработку игр. Благодаря отличной студенческой программе от IT-компании, название которой СостоИт из одной Греческой МАленькой буквы, сотрудничающей с нашим университетом, удалось собрать команду, родить документацию и наладить Agile разработку игры под присмотром высококлассного QA-инженера (здравствуйте, Анна!)

                        Без особо долгих размышлений, в качестве движка был выбран Unity. Это замечательный движок, на котором действительно быстро и легко можно сделать очень плохую игру, в которую, в здравом уме, никто и никогда не будет играть. Чтобы создать хорошую игру, все же придется перелопатить документацию, вникнуть в некоторые особенности и набраться опыта разработки.

                        Наша игра использовала физический движок неожиданным для него способом, что породило множество проблем с производительностью на мобильных платформах. В этой статье, на примере нашей игры, описана моя борьба с физическим движком и все те особенности его работы, которые были замечены на пути к жизнеспособной бета-версии.
                        Читать дальше →
                      • Почему вы никогда не должны использовать MongoDB

                        • Translation
                        Дисклеймер от автора (автор — девушка): Я не разрабатываю движки баз данных. Я создаю веб-приложения. Я участвую в 4-6 разных проектах каждый год, то есть создаю много веб-приложений. Я вижу много приложений с различными требованиями и различными потребностями хранения данных. Я разворачивала большинство хранилищ, о которых вы слышали, и несколько, о которых даже не подозреваете.

                        Несколько раз я делала неправильный выбор СУБД. Эта история об одном таком выборе — почему мы сделали такой выбор, как бы узнали что выбор был неверен и как мы с этим боролись.Это все произошло на проекте с открытым исходным кодом, называемым Diaspora.
                        Читать дальше →
                      • Chocolatey — apt-get для Windows

                          Chocolatey — менеджер пакетов в среде Windows по аналогии с apt-get в Linux Мире.



                          Начал использовать по причине разработки на Node.js под Nodester. Мне хотелось бы регулярно обновлять ноду, git, dropbox, да и тот же skype, при этом, не заморачиваясь со скачиванием msi инсталяторов и установками, а просто обновить одной командой:

                          cup all
                          Читать дальше →
                        • Оптимизация бизнес-процессов при помощи кривых выживаемости

                          Давайте представим, что у нас есть сервис по бронированию столиков в ресторане. Бронирование происходит в 2 этапа:

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

                          Мы хотим понять, насколько эффективно работает колл-центр и как быстро обрабатываются заявки.

                          Хороший способов проанализировать это — кривые выживаемости.


                          Читать дальше →
                          • +13
                          • 9.7k
                          • 6
                        • Ремонт через задницу или зачем нужно debug-мышление

                            Это Денис с эндоскопом в автосервисе
                            Это Денис с эндоскопом в автосервисе

                            Буквально на днях я получил, наверное, лучший урок по управлению проектами в жизни. Есть обычный русский мужик, который раньше сидел в офисе и работал в рекламном бизнесе, мой бывший коллега (я сам IT-спец в агентстве).
                            Читать дальше →
                          • Что лучше для стартапа: Вьетнам или Таиланд?

                              Всем привет! Нас зовут Антон и Светлана, и мы вместе работаем над проектом «Я люблю ИП». Почти год назад мы впервые уехали на зимовку в Юго-Восточную Азию и прожили 6 месяцев в Таиланде и 4,5 месяца во Вьетнаме. Нас часто спрашивают, какая из этих стран лучше? В посте мы постараемся объективно рассказать о своём опыте, а выводы вы сделаете сами.


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