Pull to refresh
25
0
Игорь @iByte

User

Send message

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

Reading time2 min
Views43K


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

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

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

Как опереться на пустоту?

Reading time9 min
Views66K

«Дайте мне точку опоры, и я переверну Землю» — так, по легенде, сказал Архимед, научно объяснив интуитивно понимаемый принцип работы рычага. Но в космическом вакууме опоры нет. А спутникам нужно, чтобы солнечные батареи смотрели на Солнце, антенны — на Землю, камера — на интересный участок Марса, а двигатель для коррекции орбиты — строго в определенную точку пространства. Приходится что-то придумывать, чтобы опереться на пустоту.
Читать дальше →

Анимация персонажей в Blender 3D — это просто

Reading time3 min
Views183K


Мир open source не стоит на месте и постоянно развивается. Про Blender 3D написано уже много статей, но помимо Blender, существует еще много полезных и бесплатных программ. Одна из них, это MakeHuman. На Хабре упоминания о ней имеются, но какой либо информации по ней нет. Предлагаю вам заглянуть под кат и посмотреть, что анимация персонажей в связке MakeHuman+Blender3D, это действительно просто. Осторожно, много картинок.
Посмотрим...

Разбор форматов: звуковой пакет в Unreal Engine

Reading time7 min
Views14K


В прошлый раз я рассказал об исследовании связи звука с текстом в движке UE3. Сегодня рассмотрю подробнее более простой случай — разбор пакета звуков Bioshock Infinite, с которого начиналась полная локализация этой игры на русский язык.

Разбор ресурсов — это как разгадывание ребуса или кроссворда: начинаем с одной стороны, и постепенно узнавая значение все новых полей, разгадываем всё остальное. Сначала структура ресурсов игры была для нас как тёмный лес. Но постепенно мы узнавали о них всё больше и больше, одно тянуло за собой другое, и в итоге были исследованы и модифицированы практически все ресурсы игры: звук, текстуры, 3D-модели. Пример надписи, изменённой в виде модели вместе с текстурой, картами освещения и отражения, светящимися лампочками, бликами и тенью, можно видеть на картинке.

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

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

Reading time6 min
Views265K


На Хабре уже были публикации о DIY-ламповых усилителях, которые было очень интересно читать. Спору нет, звук у них чудесный, но для повседневного использования проще использовать устройство на транзисторах. Транзисторы удобнее, поскольку не требуют прогрева перед работой и долговечнее. Да и не каждый рискнёт начинать ламповую сагу с анодными потенциалами под 400 В, а трансформаторы под транзисторные пару десятков вольт намного безопаснее и просто доступнее.

В качестве схемы для воспроизведения я выбрал схему от John Linsley Hood 1969 года, взяв авторские параметры в расчёте на импеданс своих колонок 8 Ом.

Классическая схема от британского инженера, опубликованная почти 50 лет назад, до сих пор является одной из самых воспроизводимых и собирает о себе исключительно положительные отзывы. Этому есть множество объяснений:
— минимальное количество элементов упрощает монтаж. Также считается, что чем проще конструкция, тем лучше звук;
— несмотря на то, что выходных транзисторов два, их не надо перебирать в комплементарные пары;
— выходных 10 Ватт с запасом хватает для обычных человеческих жилищ, а входная чувствительность 0.5-1 Вольт очень хорошо согласуется с выходом большинства звуковых карт или проигрывателей;
— класс А — он и в Африке класс А, если мы говорим о хорошем звучании. О сравнении с другими классами будет чуть ниже.
Читать дальше →

Разработка ММО РПГ – практическое руководство. Сервер (часть 1)

Reading time10 min
Views46K
Турель Аннигилятор
  • Игровой backend: из каких модулей он должен состоять?
  • Расчет параметров персонажа: виртуальные методы или сложение массивов?
  • Логика поведения: на каком уровне она должна находится?
  • Перемещение персонажей: кто этим должен управлять?

        Сегодня мы продолжим знакомиться с разработкой и проектированием он-лайн игры на примере космической ММО RPG «Звездные Призраки». В этой статье речь пойдет о backend'е на С++ и она будет насквозь техническая.

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

        В статье мы сосредоточимся именно на архитектурных решениях применительно к backend'у MMO RPG в реальном времени. Исходного кода будет не много и он точно не будет содержать таких специфических для С++ вещей как множественное наследование или шаблоны. Задача данной статьи помочь в проектировании игрового сервера и ознакомить всех желающих со спецификой игрового backend'а.

        Описываемые решения достаточно универсальны и вполне подойдут для многих RPG. В качестве иллюстрации в конце статьи я приведу пример использования описанной архитектуры в игре «про эльфов».
Далее

Реверс-инжиниринг TL431, крайне распространенной микросхемы, о которой вы и не слышали

Reading time14 min
Views110K
Кен, как и планировал, провёл реверс-инжиниринг микросхемы по фотографиям, сделанным BarsMonster. Барс в статье упомянул своё общение с Кеном, но этой переводимой статьи тогда еще не было.

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


Фото кристалла TL431. Оригинал Zeptobars.
Читать дальше →

Регулируемый источник питания из БП ATX на TL494. Часть 1 — железо

Reading time10 min
Views420K
Всем привет!

Сегодня хотел бы рассказать Вам о своём опыте переделки самого обычного китайского БП ATX в регулируемый источник питания со стабилизацией тока и напряжения(0-20А, 0-24В).

В этой статье мы подробно рассмотрим работу ШИМ контроллера TL494, обратной связи и пробежимся по модернизации схемы БП и разработке самодельной платы усилителей ошибок по напряжению и току.

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

Компьютер маленького человечка

Reading time3 min
Views38K
Все мы знаем машину Тьюринга и машину Поста. Это абстрактные вычислительные машины, придуманные математиками для теории алгоритмов. Компьютер маленького человечка (Little man computer) — модель компьютера, предназначенная для обучения тому, как устроен и работает компьютер. Эта модель была предложена профессором Стюартом Мэдником в 1965 году и успешно используется для обучения студентов начальных курсов как в области программирования, так и конструирования компьютеров.

Что делает этот человечек ?

Разработка Return of Dr. Destructo: до чего дошёл Прогресс

Reading time21 min
Views25K
Недавно я выпустил в свет свой первый законченный «домашний» проект — ремейк игры «Island of Dr. Destructo» (также известной как просто Destructo) с ZX Spectrum. В этом посте я хотел бы рассказать немного о том, как шла разработка и поделиться некоторыми интересными замечаниями о кросс-платформенной разработке и архитектуре кода.


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

Изменения в Visual C++

Reading time12 min
Views36K
Когда вы захотите обновить версию Visual C++ компилятора (например, перейти с Visual Studio с 2013 на 2015), будет не лишним узнать, почему вы можете столкнуться с тем, что код, который прежде успешно компилировался и выполнялся, теперь будет вызывать ошибки компиляции и/или ошибки времени выполнения.
Эти проблемы могут быть вызваны многочисленными изменениями компилятора для соответствия стандарту С++, изменениями в сигнатурах функций или изменениями расположения объектов в памяти.
Узнать подробнее

Разбор форматов: звук в некоторых играх на Unreal Engine

Reading time6 min
Views22K


Культура модификации игр зародилась ещё в древние времена. Самое раннее, что я помню, это Wolfenstein 3D (1992 год). Если не ошибаюсь, можно было рисовать свои карты, а потом и новых врагов, заменять текстуры и звуки. Главным препятствием в моддинге является разбор неизвестных форматов данных. Оставим моральные аспекты этого явления для других ресурсов, и остановимся на технических сложностях, которые могут возникнуть в этом нелегком деле.

У меня накопилось довольно много историй такого рода, от самых простых, типа разбора простейшего архива, где в одном файле хранятся много тысяч файлов игры, до замены 3D-моделей, исследования и написания нестандартных кодеков звука. Расскажу одну из них, средней сложности.

Допустим, у вас появилось желание заменить определённые фразы в игре, или вообще замахнуться на полную озвучку на каком-нибудь языке, для которого у разработчиков не хватило сил или ресурсов. Казалось бы, надо только записать звук, найти где он находится в игре, и заменить нужные файлы. Но не всегда это бывает просто, например, в последних играх из серии Batman: Arkham используется звуковой движок wwise, который уже довольно давно интегрирован в Unreal Engine.

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

Определяем веса шахматных фигур регрессионным анализом

Reading time15 min
Views85K
Здравствуй, Хабр!

В этой статье речь пойдёт о небольшом программистском этюде на тему машинного обучения. Замысел его возник у меня при прохождении известного здесь многим курса «Machine Learning», читаемого Andrew Ng на Курсере. После знакомства с методами, о которых рассказывалось на лекциях, захотелось применить их к какой-нибудь реальной задаче. Долго искать тему не пришлось — в качестве предметной области просто напрашивалась оптимизация собственного шахматного движка.

Вступление: о шахматных программах



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

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

Строго говоря, настоящая оценка может принимать только три значения: выигрыш, проигрыш или ничья — 1, 0 или ½. По теореме Цермело для любой заданной позиции она определяется однозначно. На практике же из-за комбинаторного взрыва ни один компьютер не в состоянии просчитать варианты до листьев полного дерева игры (исчерпывающий анализ в эндшпильных базах данных — это отдельный случай; 32-фигурных таблиц в обозримом будущем не появится… и в необозримом, скорее всего, тоже). Поэтому программы работают в так называемой модели Шеннона — пользуются усечённым деревом игры и приближённой оценкой, основанной на различных эвристиках.
Читать дальше →

Intel Edison. Первый запуск

Reading time9 min
Views111K
Intel Edison

В прошлом году на выставке CES 2014 Intel представила Linux мини-компьютер Edison для интернета вещей. Кратко почитать об анонсе Intel Edison можно тут. Интернет вещей — безусловный тренд этого года. Теперь не только домашний компьютер, планшет, или смартфон могут подключаться к сети Интернет. Но и привычные бытовые вещи, которыми мы пользуемся каждый день. Intel Edison, не ответ компании на Raspberry Pi, а новая ниша миниатюрных энергоэффективных компьютеров, в форм-факторе модуля. Любой разработчик может взять такой модуль, добавить к нему различные датчики, механику, и средство интерактивного взаимодействия, и получить новое устройство.

Intel Edison – мини-компьютер с Linux на борту, базис для построения нового мира вещей основанного на сетевом взаимодействии друг с другом.
Читать дальше →

Обзор ноутбука Zenith Z-Note Flex

Reading time2 min
Views15K
Во время разборки шкафа с компьютерным антиквариатом фирмы был обнаружен ноутбук фирмы Zenith Data systems.

Историческая справка




Zenith Data systems основана в 1979 году и занималась производством персональных компьютеров, а позже и ноутбуков. Плотно сотрудничала с Microsoft, компьютеры и ноутбуки этой фирмы имели уникальную возможность дебага программы по нажатию комбинации Ctrl+Alt+Ins. Поглощённа компанией NEC в 1996 году.

Ноутбук был найден и успшено запущен сначала в DOS, потом в «Арахну» — некоторое подобие оконной системы с мышкой, использующее в своей основе HTML интерпретатор. Следующим этапом стал запуск Windows 95, так же установленной на этом ноутбуке.

О ноутбуке


1. Процессор: Intel Mobile 80486SL CPU 50 MHz
2. ОЗУ: 640 K Встроенной + 3072 K расширенной
3. HDD 172 MB
4. 3 1/2", Floppy Disk Drive (заменяем на второй аккумулятор)
5. 10" LCD монитор, монохромный.
6. 2x PCMCIA
7. Порты: COM, LPT, VGA, PS\2
8. Tрекбол

Теперь фото с небольшим количеством комментариев (~3Мб фотографий).
Читать дальше →

Параллельное программирование с CUDA. Часть 3: Фундаментальные алгоритмы GPU: свертка (reduce), сканирование (scan) и гистограмма (histogram)

Reading time8 min
Views28K

Содержание


Часть 1: Введение.
Часть 2: Аппаратное обеспечение GPU и шаблоны параллельной коммуникации.
Часть 3: Фундаментальные алгоритмы GPU: свертка (reduce), сканирование (scan) и гистограмма (histogram).
Часть 4: Фундаментальные алгоритмы GPU: уплотнение (compact), сегментированное сканирование (segmented scan), сортировка. Практическое применение некоторых алгоритмов.
Часть 5: Оптимизация GPU программ.
Часть 6: Примеры параллелизации последовательных алгоритмов.
Часть 7: Дополнительные темы параллельного программирования, динамический параллелизм.

Disclaimer
Эта часть в основном теоретическая, и скорее всего не понадобится вам на практике — все эти алгоритмы уже давно реализованы в множестве библиотек.

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

(Перевод) Введение в разработку C++ в UE4

Reading time11 min
Views180K
Часть 1. Введение. Создание класса и добавление свойств. Расширение класса С++ с помощью Blueprint.
Часть 2. Классы геймплея. Структуры. Отражение (reflection) в Unreal. Object/Actor итераторы. Менеджер памяти и сборщик мусора.
Часть 3. Префиксы в именах классов. Целочисленные типы. Типы контейнеров. Итераторы контейнеров. Цикл For-each, хеш-функции.
Часть 4. Бонусная. Unreal Engine 4 для Unity разработчиков.

image

Эта статья является переводом части документации по UE4. Оригинальную статью вы можете найти пройдя по это ссылке.
Далее

Как происходит рендеринг кадра видеоигры

Reading time5 min
Views66K
Deus Ex Human Revolution — это компьютерная игра 2011 года, которая является более успешным продолжением оригинальной Deus Ex, чем Invisible War. Но этот пост не о качестве игры, а о демонстрации её технических принципов. Адриан Курреж провёл несколько часов за реверс-инжинирингом, пытаясь понять с помощью инструмента Renderdoc, как происходит обработка каждого из кадров Human Revolution. Затем Адриан изложил результаты в своём блоге.
Осторожно, трафик

Лекции Технопарка. Геймдизайн от идеи до релиза

Reading time32 min
Views68K


Этот пост, как нетрудно догадаться, посвящен геймдизайну и разработке игр. Раньше я делал клиентские и браузерные игры, в том числе экшн Panzar. В Mail.Ru Group занимаюсь разработкой мобильных игр. Эта публикация задумана мной как некий мастер-класс по мотивам выступления в Технопарке, на котором я поделился своим опытом организации процесса построения геймдизайна. Несмотря на то, что часть материала в этой статье более актуальна для крупных компаний, я постарался учесть особенности проработки игрового дизайна в небольших студиях и начинающих командах разработки.
Читать дальше →

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity