Search
Write a publication
Pull to refresh
4
0
Send message

Разбираем алгоритмы компьютерной графики. Часть 1 — «Starfield Simulation»

Reading time7 min
Views18K

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

Действовать буду по следующему принципу: беру какой-либо графический эффект (из демо, программы, игры – не важно) и пытаюсь реализовать этот же эффект максимально простым и понятным способом, разъясняя что, как и почему сделано именно так.

В качестве основы для вывода графики будет использован язык Python и библиотека PyGame. Этим набором можно очень просто что-то выдать на экран, сделать анимацию и т.п. не отвлекаясь на технические детали реализации.

Читать далее

Разбираем алгоритмы компьютерной графики. Часть 3 – анимация «Пламя»

Reading time6 min
Views14K

Рассмотрим алгоритм рисования простейшего пламени. Придуман он довольно давно и использовался в огромном количестве демо и игр.

Читать далее

Разбираем алгоритмы компьютерной графики. Часть 4 – Анимация «Салют»

Reading time7 min
Views9.1K

Еще немного в копилку красивых эффектов и алгоритмов.

Вы в своей жизни наверняка видели салют, когда в ночном небе взрывает огненный шар и от него во все стороны медленно разлетаются огни.

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

Читать далее

Скрываем воду внутри лодки

Reading time6 min
Views8.3K
При разработке игр про лодки, да и любых других игр с обширными водными поверхностями, существует проблема сокрытия поверхности воды, когда на ней что-то плавает. Я расскажу о решении, используемом в моей игре Sail Forth на движке Unity, но эта методика применима для любого другого движка.


Та самая проблема. Тащите ведро!

Так как в большинстве игр вода — это просто большая плоскость, логично, что плавающие на ней объекты будут пересекаться с её поверхностью!

Как же нам устранить эту проблему? Мне известны две основные методики: одна основана на деформировании меша воды вокруг корпуса судна, вторая заключается в маскировании поверхности воды внутри судна. Я знаю, как использовать вторую методику, поэтому мы реализуем её.

Решение состоит из трёх компонентов:

  • Создание меша «маски» для каждого судна
  • Написание шейдера для меша «маски»
  • Изменение шейдера воды для использования маски
Читать дальше →

Интернет-сообщество почти 20 лет создает уровни для классической версии Tomb Raider

Reading time3 min
Views18K


О Tomb Raider, наверное, слышали все читатели Geektimes. Серия компьютерных и видеоигр, повествующих о приключениях умной, красивой и талантливой девушки, которая посвятила свою жизнь изучению артефактов прошлых веков, увлекла в свое время многих геймеров. Первая часть вышла в 1996 году. С тех пор появилось еще несколько частей, как для ПК, так и для игровых приставок. По мотивам игры снимали фильмы, публиковали романы и комикcы. За годы, прошедшие с выхода первой части, графика в игре претерпела значительные изменения. Менялся внешний вид уровней и самой протагонистки, менялись и команды разработчиков, работавших над игрой.

Но одно оставалось постоянным — сообщество поклонников оригинальной франшизы, создававших все новые и новые уровни. Речь идет об интернет-сообществе, члены которого создали за пару десятков лет около 3000 различных уровней к классической версии Tomb Raider. Они занимают около 200 ГБ дискового пространства. На то, чтобы пройти все созданные миры и их участки, требуется пара лет. В сообществе состоит около 2000 человек. На форуме размещено примерно 50 тысяч обзоров пройденных кастомных уровней. Зачем же все эти люди столько времени проводят над созданием материалов к игре, которая была выпущена 21 год назад?
Читать дальше →

Как я писал кросплатформенный 3d игровой движок

Reading time18 min
Views81K
Приветствую Хабр! Многие из нас наверняка задумывались «а не написать ли мне игру самому». Сейчас я веду проект «Open tomb» — попытка создать переносимый движок для игры в первые 5 частей «Tomb raider», который выложен на sourceforge.com, однако, судя по своему опыту, многим будет интересна история с некоторыми деталями о том, как движок писался с нуля и с практически отсутствующими знаниями в этой области. Даже сейчас многих знаний не хватает, а иногда просто не хватает мотивации что-то сделать лучше, или правильнее, однако лучше перейти к тому, как все же проект оживал шаг за шагом.
Читать дальше →

3D для каждого: хочу делать мультики

Reading time20 min
Views19K

Первая статья от фанеростроя на Хабре, но третья в цикле про 3D. Этот слегка краткий обзор немножко затянулся во времени, но мы постараемся наверстать упущенное и познакомить вас с самой интересной частью работы 3Dшника. Сегодня речь пойдёт о 3D в играх и фильмах. Тем не менее это две довольно большие темы, о которых мы постараемся рассказать кратко и интересно. И казалось бы, как это сделать в двух словах, чтоб не вылететь с хабра сразу за мракобесие, но…
Читать дальше →

Культовая драм-машина 80-х — с ней можно познакомиться прямо в браузере

Reading time2 min
Views7.4K

Мы уже рассказывали о необычном проекте, который позволяет превратить шуршание пачки чипсов и стук керамической посуды в полноценный трек. Сегодня расскажем о другом ресурсе, где можно познакомиться с драм-машиной Roland TR-808 и с её помощью записать музыку для личного приложения или игры.

Читать далее

Мой опыт заказа кастомной электрогитары

Reading time15 min
Views20K

Привет, Хабр! Расскажу о своём опыте заказа электрогитары, на примере Рыбки Holst-60 — подписной модели основателя и гитариста группы Ария Владимира Холстинина, разработанной к его 60-летнему юбилею с его деятельным участием.

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

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

Сделайте Linux похожим на Windows 95

Reading time2 min
Views32K

Темы и наборы иконок Linux, вдохновлённые другими операционными системами, существуют с тех пор, как в Linux появился графический интерфейс. Иногда эти темы становятся очень похожими на оригинал. Но… Что, если бы вы могли сделать свой рабочий стол Linux почти таким же, как Windows 95?

Читать далее

«Приложения для засыпания» и акустические стимуляторы мозга: почему они не работают и как сделать чтобы работали

Reading time14 min
Views9.1K

Нормализация сна и суточных ритмов – востребованная нынче тема. Согласитесь, удобно иметь на смартфоне приложение, способное за пару свайпов обеспечить здоровый сон, исправить суточные ритмы после перелёта или купировать эффекты, связанные с утомлением-переработкой-стрессом.

Спрос рождает предложение – и вот уже YouTube ломится от разного рода «музык для релаксации», «сеансов гипноза» и «исцеления во время сна 432 Гц». А Google Play и App Store, соответственно, от генераторов белого шума, плееров с треками для засыпания, смарт-будильников, интеллектуальных светильников, сервисов для подсчёта медленноволнового сна и прочего биохакерского мусора. Есть ли в подобных приложениях рациональное зерно? Да. безусловно. Но мы не станем перелопачивать народное творчество в поисках жемчужных зёрен, а начнём с правильной постановки задачи и определения технического облика акустического стимулятора на основе имеющихся гипотез. Ведь правильно поставленный вопрос содержит в себе половину ответа, не так ли?

Читать далее

Что там в «Мире Hi-Fi»: исследования, кодеки, старое аудиожелезо и подборка фоновых звуков для работы и перерывов

Reading time2 min
Views6.5K

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

Читать далее

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

Reading time2 min
Views3.9K

Недавно мы рассказали о трех онлайн-секвенсорах, которые помогут написать трек для домашнего проекта. Сегодня поговорим о браузерной драм-машине для творчества в свободное время — The Infinite Drum Machine.

Читать далее

Расчет импульсного трансформатора для двухтактного преобразователя и согласующих устройств

Reading time12 min
Views53K

Несколько лет назад мне потребовалось рассчитать импульсный трансформатор для УЗИ сварочной установки. В инженерном ремесле всегда бывает избыток вопросов и недостаток готовых рецептов. Поэтому пришлось немного поработать и написать этот реферат.

Читать далее

Квинтовый музыкальный строй

Reading time7 min
Views7.7K

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

Как известно, двенадцать ступеней древнего китайского строя образованы последовательностью 11 квинтовых шагов. При этом все нечетные ступени, включая первую, считаются мужскими (Ян), а все четные ступени, включая двенадцатую, считаются женскими (Инь). Стартовой ступенью строя в рассматриваемой модели выбрана ступень A первой октавы. В таблице даны результаты расчета частотных значений 12 люй при стандарте частоты ступени Ля = 440 Гц. Частотные значения всех ступеней приведены в границах первой октавы. 

Читать далее

Визит редкой дамы. Пресноводные медузы средней полосы России

Reading time16 min
Views20K

С мест сообщают:
«В средней полосе России, в самых обычных реках и пресноводных водоёмах всё чаще находят амазонских медуз, вида Craspedacusta sowerbii. По многочисленным слухам, во всём виновато глобальное потепление. Однако, совершенно не ясно, как эти — кишечнополостные твари появились в нашей стране. Известно точно одно — они захватили наши водные пространства уже очень давно. Так, самую первую встречу с ними зафиксировали простые рыбаки, ещё в 1998 году в пруду охладителе нижегородской ГРЭС (северная окраина города Балахны). Спустя год в том же месте, в самый жаркий разгар лета, на глубине 0, 1 – 0, 5 м. у песчаного берега, используемого в качестве пляжа, учёными было обнаружено несколько десятков медуз диаметром около 2 см. Все они активно плавали в толще воды. По словам местных, год назад, медуз было значительно меньше. При повторном посещении водоёма в августе 1999 года кишечнополостные обнаружены не были…
Читать дальше →

Как учиться быстрее: пять научно доказанных способов ускорить запоминание информации и формирование навыков

Reading time4 min
Views30K

Я много лет интересуюсь эффективными методами обучения и тем, как поставить этот процесс на правильные рельсы. Особенно у себя дома, когда на тебя не давит социальная ответственность и чуткий взгляд преподавателя.

Читать далее

И снова кастомные клавиатуры: обзор Dactyl Manuform из первых рук

Reading time6 min
Views19K

Привет, Хабр! Так получилось, что я становлюсь адептом кастомных клавиатур. Сначала к моему коллеге попала Lily58 Pro, вот ее подробный обзор. Ну а теперь ко мне — Dactyl Manuform, еще более необычная клавиатура, чем те, что обозревались в нашем бологе ранее. Обзор и возможности (а их просто огромное количество) — под катом.
Читать дальше →

Парадокс Ферми – вовсе не парадокс, а вопрос; в чём он состоит, и как его решать (часть 2)

Reading time7 min
Views26K
image
«Репликатор» из сериала «Звёздные врата»

В прошлый раз мы разобрались с тем, что парадокс Ферми – вовсе не парадокс, а просто вопрос: «А где все?», и рассмотрели некоторые варианты ответов на него.

Вкратце: если в нашем Млечном Пути, сотни миллиардов звёзд, и у приличного процента из них есть планетные системы, а возраст Галактики составляет около 8-10 млрд лет, то уж наверняка за это время где-то должна была появиться высокоразвитая цивилизация (а, может, и не одна), способная колонизировать звёзды. Почему же мы не видим следов её деятельности?

С 1950-х годов прошлого века появилось немало гипотез, пытающихся объяснить отсутствие наблюдений. Продолжим их рассматривать.
Читать дальше →

Случайные лабиринты и сапёр от третьего лица, инопланетные жуки и алгоритм Брезенхема

Reading time4 min
Views7.8K

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

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

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

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

Читать далее

Information

Rating
Does not participate
Registered
Activity