Pull to refresh
139
0
Павел Галаничев @old_gamer

Пользователь

Send message

Понимание алгоритма БПФ

Reading time7 min
Views127K
Здравствуйте, друзья. Уже завтра стартует курс «Алгоритмы для разработчиков», а у нас остался один неопубликованный перевод. Собственно исправляемся и делимся с вами материалом. Поехали.

Быстрое преобразование Фурье (БПФ — англ. FFT) является одним из важнейших алгоритмов обработки сигналов и анализа данных. Я пользовался им годами, не имея формальных знаний в области компьютерных наук. Но на этой неделе мне пришло в голову, что я никогда не задавался вопросом, как БПФ так быстро вычисляет дискретное преобразование Фурье. Я стряхнул пыль со старой книги по алгоритмам, открыл ее, и с удовольствием прочитал об обманчиво простой вычислительной уловке, которую Дж. В. Кули и Джон Тьюки описали в своей классической работе 1965 года, посвященной этой теме.



Цель этого поста — окунуться в алгоритм БПФ Кули-Тьюки, объясняя симметрии, которые к нему приводят, и показать несколько простых реализаций на Python, применяющих теорию на практике. Я надеюсь, что это исследование даст специалистам по анализу данных, таким как я, более полную картину того, что происходит под капотом используемых нами алгоритмов.
Читать дальше →

Курс Молодого Геймдизайнера: как считать баланс персонажей и снаряжения без математики

Reading time6 min
Views59K


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

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

Статья будет полезна тем, кому надо заняться балансом, но не знает с чего начать, а также начинающим геймдизайнерам, которые будут выбирать специализацию. Ну и всем, кто просто интересуется, чем занимаются ГД, когда не придумывают новые виды лутбоксов.
Читать дальше →

Процедурная генерация планет

Reading time19 min
Views39K

От переводчика:
Представляю вашему вниманию статью авторства Andy Gainey, в прошлом независимого разработчика игровых инструментов, ныне сотрудника Paradox Development Studio. На мой взгляд, автор играючи создал один из лучших процедурных генераторов планет с открытым исходным кодом.

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

Суперсовременный OpenGL. Часть 1

Reading time7 min
Views44K


Всем привет. Все кто хоть немного разбирался в теме OpenGL знают, что существует большое количество статей и курсов по этой теме, но многие не затрагивают современный API, а часть из них вообще рассказывают про glBegin и glEnd. Я постараюсь охватить некоторые нюансы нового API начиная с 4-й версии. Ссылка на вторую часть статьи
Читать дальше →

Уроки по SDL 2: Урок 3 — События

Reading time5 min
Views15K
Всем привет! Это третий урок по SDL 2. Информация берется из этого источника. Уроки по обработке событий на Lasy Foo' мне не понравились, так что я напишу свой, но материал можно найти здесь и здесь.

А мы начинаем, добро пожаловать на урок

События

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

Самая красивая теорема математики: тождество Эйлера

Reading time11 min
Views142K
Посмотрев лекцию профессора Робина Уилсона о тождестве Эйлера, я наконец смог понять, почему тождество Эйлера является самым красивым уравнением. Чтобы поделиться моим восхищением это темой и укрепить собственные знания, я изложу заметки, сделанные во время лекции. А здесь вы можете купить его прекрасную книгу.

Что может быть более загадочным, чем взаимодействие мнимых чисел с вещественными, в результате дающее ничто? Такой вопрос задал читатель журнала Physics World в 2004 году, чтобы подчеркнуть красоту уравнения Эйлера «e в степени i, умноженного на пи равно минус единице».


Рисунок 1.0: тождество Эйлера — e в степени i, умноженного на пи, плюс единица равно нулю.

Ещё раньше, в 1988 году, математик Дэвид Уэллс, писавший статьи для американского математического журнала The Mathematical Intelligencer, составил список из 24 теорем математики и провёл опрос, попросив читателей своей статьи выбрать самую красивую теорему. И после того, как с большим отрывом в нём выиграло уравнение Эйлера, оно получило званием «самого красивого уравнения в математике».
Читать дальше →

Шейдеры 3D-игр для начинающих

Reading time19 min
Views25K
image

Хотите научиться добавлять в свою 3D-игру текстуры, освещение, тени, карты нормалей, светящиеся объекты, ambient occlusion и другие эффекты? Отлично! В этой статье представлен набор техник затенения, способных поднять уровень графики вашей игры на новые высоты. Я объясняю каждую технику таким образом, чтобы вы могли применить/портировать эту информацию в любом стеке инструментов, будь то Godot, Unity или что-то иное.

В качестве «клея» между шейдерами я решил использовать великолепный игровой движок Panda3D и OpenGL Shading Language (GLSL). Если вы пользуетесь таким же стеком, то получите дополнительное преимущество — узнаете, как использовать техники затенения конкретно в Panda3D и OpenGL.
Читать дальше →

Архитектура сервера онлайн-игры на примере Skyforge

Reading time12 min
Views193K
Привет, Хабр! Я Андрей Фролов, ведущий программист, работаю в Mail.Ru над Next-Gen MMORPG Skyforge. Вы могли читать мою статью про архитектуру баз данных в онлайн-играх. Сегодня я буду раскрывать секреты, касающиеся устройства сервера Skyforge. Постараюсь рассказать максимально подробно, с примерами, а также объясню, почему было принято то или иное архитектурное решение. По нашему серверу без преувеличения можно написать целую книгу, поэтому для того, чтобы уложиться в статью, мне придется пройтись только по основным моментам.

image

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

Как разобрать сетевой протокол мобильной MMORPG

Reading time7 min
Views25K
За годы игры в одну мобильную ММОRPG у меня накопился некоторый опыт по ее реверс-инжинирингу, которым я хотел бы поделиться в цикле статей. Примерные темы:

  1. Разбор формата сообщений между сервером и клиентом.
  2. Написание прослушивающего приложения для просмотра трафика игры в удобном виде.
  3. Перехват трафика и его модификация при помощи не-HTTP прокси-сервера.
  4. Первые шаги к собственному («пиратскому») серверу.

В данной статье я рассмотрю разбор формата сообщений между сервером и клиентом. Заинтересовавшихся прошу под кат.
Читать дальше →

Изготовление печатных плат ЛУТ'ом от А до Я

Reading time8 min
Views152K
Доброго времени суток! Среди моих знакомых бытует мнение, что самостоятельно изготавливать печатные платы (ПП) бесполезно. Учитывая, что современные компоненты далеко ушли от DIP корпусов, то кустарно травить платы под них даже и не стоит пытаться. Тем не менее необходимость в быстрой оценке того или иного компонента всегда есть, и ждать несколько суток заказанной платы времени нет. И это учитывая, что заказ за «несколько суток» дорог, для одноразовой задачи.

В данной статье я хочу изложить порядок действий, которые позволят быстро изготавливать ПП под компоненты в корпусах подобных TQFP-100, то есть с ногами 0,2мм и таким же зазором, и при этом сводить брак к минимуму.

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

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

Под катом подробности и трафик.
Подробности

Про антенны для самых маленьких

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



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

Плата расширения ОЗУ для Apple IIgs

Reading time4 min
Views6.7K

Предлагаемая плата расширения ОЗУ для компьютера Apple IIgs выполнена на микросхемах NEC uPD424400-70 от нескольких 1-мегабайтных SIMM-модулей. Каждая из таких микросхем хранит 1 М полубайт и размещена в 26-выводном корпусе типа SOJ.

Компьютер Apple IIgs выполнен на процессоре 65C816 — 16-битном, но с 8-битной шиной данных. Плата расширения содержит 4 МБ ОЗУ. Память поделена на четыре строки, по 1 МБ в каждой. Строка состоит из двух микросхем по 1 М полубайт, таким образом, всего потребовалось восемь микросхем.
Читать дальше →

Простые квантовые игры раскрывают окончательную сложность Вселенной

Reading time9 min
Views20K

Игра для двоих может сказать, есть ли во Вселенной бесконечное количество сложности



Сколько независимых свойств есть у Вселенной? Простая игра может дать ответ на этот вопрос

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

Физикам это неизвестно, но при отсутствии определённости они делают предположения. А эти предположения различаются в зависимости от области физики. В одной области физики предполагают конечное число конфигураций. В другой – бесконечное. Пока что невозможно сказать, кто из них прав.
Читать дальше →

ZX Spectrum 128k своими руками. Часть 2

Reading time6 min
Views47K
image
Первая часть здесь

Все изображения кликабельны.

Прошло больше года c того момента как я написал статью про сборку клона ZX Spectrum «Ленинград». И за это время его возможности существенно расширились. Не думал что я буду писать ее продолжение, но все таки статей по ретрокомпьютерам не так уж и много, поэтому решился.

Порт расширения


Компьютер к которому ничего нельзя подключить очень ограничен в возможностях и я решился припаять к нему порт расширения. Кроме 40 pin IDE на плату больше ничего не влезало, но подсчитав количество нужных мне контактов вышло что хватит и этого. Минус один контакт на ключ, 2 контакта на +5в, 2 контакта на землю.
Читать дальше →

ZX Spectrum 128k своими руками

Reading time5 min
Views110K
image

«8 лет я играл в Спектрум в черно-белом цвете и все знаете почему, да потому что наши доблестные телики RGB сигнал вообще не понимали». Хотел бы сказать я, понастольгировать, вспомнить что раньше солнце было ярче а трава зеленее. Но не скажу, в моем детстве слово Спектрум вообще никто никогда не произносил. Все свое детство я играл в денди, позже в сегу, у друзей иногда в супернинтендо. Ни в передаче Денди «Новая Реальность», ни в «От винта», ни в каком либо журнале я не слышал об этом компьютере. Я краем уха слышал о компьютерах, загружающихся с кассет, но никогда их не видел и не знал их названия. Впервые я о нем узнал только когда у меня появился интернет. Почитывал форумы, завидовал тем людям которые в конце 80х начале 90х собирали сами свои компьютеры, а я годноту пропустил. Хотя в те годы я был маленький и при всем желании свой клон спектрума бы не собрал. Много ли я потерял? Вот этот вопрос я не так давно себе стал задавать. Год назад наткнулся на очень хороший видосик где один парень очень подробно рассказал и показал как спаять клон спектрума «Ленинград». Его я пересматривал не раз и в итоге решил «Я соберу свой компьютер с нуля!».
Читать дальше →

Логична ли математика или почему парадоксальны аксиоматические теории

Reading time18 min
Views22K
image

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

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

Создание системы боёв в RPG

Reading time14 min
Views18K
image

Боевые системы наших игр Rimelands: Hammer of Thor и Trulon: The Shadow Engine были высоко оценены игроками. Несмотря на то, что это два сильно отличающихся взгляда на систему боя в RPG, они имеют много общего в дизайне механик и иллюстрируют мою личную философию дизайна. В обоих играх используются пошаговые бои, но Trulon они основаны на колоде карт, а в Rimelands — на наборе кубиков. В первой вы управляете целой партией персонажей, во второй — только одним героем. У этих игр есть сходства и различия не только в боях, но в данной статье я расскажу только о базовых боевых механиках.
Читать дальше →

Многомировая интерпретация квантовой механики

Reading time9 min
Views62K

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


image

Попробуем разобраться, что же к чему в ММИ.

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

Четыре оси дизайна RPG

Reading time6 min
Views16K
Эта статья началась с ответа на многогранный, но в то же время довольно прямолинейный вопрос: из чего же состоит хорошая ролевая игра? На протяжении своей карьеры я поработал над несколькими RPG, и даже читал презентацию по этой теме, но никогда не рассматривал её целостно. Существует множество материалов о составляющих хорошей игры и, разумеется, многие из них применимы к ролевым играм, но есть аспекты, специфичные (если не уникальные) именно для этого жанра.

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

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

Виртуальная машина своими руками

Reading time4 min
Views20K
Иногда в голову приходит какая-то мысль избавиться от которой очень сложно. Такое произошло и со мной.

Я решил создать виртуальную машину (VM), учитывая то, что на тот момент у меня не было идей, мне показалось, что это прекрасная мысль. Если вы заинтересовались, то вперёд под кат!
Читать дальше →

Information

Rating
Does not participate
Location
Paris, Paris, Франция
Registered
Activity