Search
Write a publication
Pull to refresh
54
0

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

Send message

Сердце разработчика: девкиты Sony PlayStation 1

Reading time4 min
Views38K
Отец платформы, Кен Кутараги, проектировал PlayStation не просто как ответ на неуместные действия со стороны Nintendo, он стремился создать эталонный продукт, на который будут ориентироваться все геймдевы поколения. Учитывая опыт и ошибки ближайших конкурентов, Кутараги создал максимально дружественную разработчику систему, снискавшую в итоге феноменальный успех у геймеров девяностых. И причиной этому, с одной стороны, послужили наработки по Nintendo Play Station, с другой стороны, определённый опыт в производстве семейства компьютеров Sony Network Engineering Workstation (NEWS), но главное, неуёмное желание Кутараги создать консоль своей мечты.



Логично, что первые прототипы PlayStation под названием MW.2 (ревизия DTL-H500), а затем и доработанный MW.3 (ревизия DTL-H505) получили полностью совместимое с Sony NEWS железо, тем самым, открывая возможность к разработке первых игр для ещё проектируемой консоли. В принципе, подобная практика была не нова и активно использовалась при создании FM Towns Marty и Amiga CD32 силами Fujitsu и Commodore соответственно. MW.3 по факту был и девкитом, и самой консолью. А дабы на первых порах не пришлось мудрить с экстерьером, его полностью заимствовали у Sony NWS-3710.
Читать дальше →

Дискеты для Dreamcast

Reading time2 min
Views9.2K

Некоторое время назад, листая форум с материалами по прототипам консолей, наткнулся на фотографии аддона для Dreamcast'а с приводом ZIP.


image

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


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

Разработка hexapod с нуля (часть 8) — улучшенная математика передвижения

Reading time6 min
Views11K

Всем привет! В результате перехода на удаленную работу у меня появилось больше свободного времени на разработку гексапода (+2 часа в день за счет экономии на дороге). Я наконец-то смог сделать универсальный алгоритм для построения траектории движения в реальном времени. Новая математика позволила реализовать базовые движения путем изменения всего двух параметров. Это очередной шаг к внедрению «автопилота». В этой статье я постараюсь подробно рассказать о новой математике и как это вообще работает. Будет много картинок и gif.

Этапы разработки:

Часть 1 — проектирование
Часть 2 — сборка
Часть 3 — кинематика
Часть 4 — математика траекторий и последовательности
Часть 5 — электроника
Часть 6 — переход на 3D печать
Часть 7 — новый корпус, прикладное ПО и протоколы общения
Часть 8 — улучшенная математика передвижения
Часть 9 — завершение версии 1.00

Анализ библиотеки ИИ ботов из Quake 3

Reading time4 min
Views7.2K

Изучение исходного кода ИИ уже выпущенных игр — превосходный способ изучения хитростей на реальных примерах. Quake 3 Arena — интересный образец, потому что код игры полностью выложен в открытый доступ (за исключением инструментов), а сама игра стала примером архитектуры движка ИИ на рубеже веков. В коде содержится полнофункциональный ИИ ботов для deathmatch, написанный на старом добром C; если вы понимаете синтаксис языка, изучать его на удивление просто. Наряду с простой архитектурой задач в коде присутствуют серьёзные технологии Area Awareness System (AAS), а также системы поиска пути (или маршрутизации).

Загрузка и установка исходного кода


Исходный код Quake 3 был открыт в 2005 году, поэтому мы можем свободно скачивать кодовую базу при условии соблюдения лицензии GPL. Однако если вы хотите запустить игру, вам понадобятся ассеты, не включённые в состав исходного кода. Можно воспользоваться кодом и ассетами Id Software:

  1. Скачайте полный исходный код Quake 3. Текущая версия имеет номер 1.32b и она совместима с последним патчем.
  2. Чтобы игра заработала со всеми необходимыми ресурсами, то можно использовать её полную версию.
  3. Также есть вероятность того, что можно будет запустить демо-уровни, но это зависит от версии скомпилированного движка. Не забудьте поместить исполняемые файлы в нужную папку.
Читать дальше →

ZX Spectrum из коронавируса и палок (на самом деле, не совсем)

Reading time19 min
Views31K
Вторая часть здесь

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

Днем, на удаленке, не так и плохо. Как и вечером, пока не уснут дети. Как и в первые несколько дней, пока не кончатся книги и не надоедят сериалы. Но проходит месяц, за ним другой. Душа требует старого железа. Но не просто, а чтоб с извратом. И я порылся в ящиках с мусором и обнаружил там процессор Zilog Z80:

image

Странный космический объект Оумуамуа может быть осколком мёртвой планеты

Reading time4 min
Views13K


Вольный перевод (с небольшими добавлениями) очень хорошей статьи за авторством Nadia Drake.

Возможно, вы уже слышали про астероид Оумуамуа (1I/2017 U1), который называли то инопланетным кораблём, то космической «щепкой». С того момента, как только он впервые показался в Солнечной системе, астрономы пытаются определить его происхождение.

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

Making of NES gameinvitro «MULTIDEFENDER»

Reading time13 min
Views1.5K
Итак, конец марта, на носу Revision 2020, впереди ещё долгий месяц самоизоляции, и всё началось, как обычно, с того, что мы решили написать очередную демку для NES. Конечно, “демка” — это немного громко сказано. Исходя из собственных возможностей и количества оставшегося времени до дедлайна, курс был взят на создание простенькой инвитры к Мультиматографу (российское demoparty в Вологде), состоящей из скроллера с информацией и нехитрого эффекта эквалайзера, основанного на логотипе Multimatograf.


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

Вычисления на GPU – зачем, когда и как. Плюс немного тестов

Reading time12 min
Views98K
Всем давно известно, что на видеокартах можно не только в игрушки играть, но и выполнять вещи, никак не связанные с играми, например, нейронную сеть обучить, криптовалюту помайнить или же научные расчеты выполнить. Как так получилось, можно прочитать тут, а я хотел затронуть тему того, почему GPU может быть вообще интересен рядовому программисту (не связанному с GameDev), как подступиться к разработке на GPU, не тратя на это много времени, принять решение, нужно ли вообще в эту сторону смотреть, и «прикинуть на пальцах», какой профит можно получить. 


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

Как демо Memories умещается в 256 байт

Reading time17 min
Views14K

Введение


Привет! Меня зовут «HellMood», а эта статья посвящена небольшой программе для MS DOS под названием «Memories». Эта программа имеет размер 256 байт, она выиграла в категории «PC 256 byte» соревнований демосцены «Revision» 2020 года, а также получила приз зрительских симпатий. Видео вывода программы можно посмотреть здесь, а видео с реакцией онлайн-аудитории и модераторов — здесь. Скачать релиз и оставить комментарии можно здесь. В этой статье будет представлен глубокий анализ программы, рассказано об исторических отсылках и этапах разработки. Статья выложена в sizecoding wiki. Она не только позволит вам понять внутреннее устройство «Memories», но и поможет самим создать нечто похожее. Изучите её! Если вы новичок в sizecoding-е (написании программ в рамках нужного размера) или в ассемблере x86, то рекомендуется начинать с основ этой wiki. Принципы понять легко, но с подробностями реализации разобраться бывает не так просто.

Краткий обзор


В этой статье мы будем говорить об отправленной на конкурс версии для DosBox (256 байт). В архиве также содержатся версии для FreeDos и Windows XP DOS, которые на момент написания поста работали не на всех компьютерах. Эти альтернативные версии были включены в архив как proof of concept, чтобы показать, что программа не только работает в эмуляторе. В категории «PC 256 bytes» соревнований «Revision» 2020 года можно было указать в качестве платформы «FreeDos» или «DosBox» (последняя в конкретной конфигурации). Как доказывают альтернативные версии, на самом деле можно модифицировать версию для DosBox так, чтобы она работала во FreeDos, MS DOS, WinXP и Win98, но статья будет не об этом.
Читать дальше →

Сердце разработчика: девкиты Sega Saturn

Reading time5 min
Views14K
До пятого поколения аппаратное обеспечение консолей было примерно равным по производительности и отличалось крайне незначительно. Чего нельзя сказать о 32/64-битных машинах, кои стали наводнять рынок с начала 1993 года. Именно тогда беззаботные контры Sega vs Nintendo обратились в борьбу «все против всех». Пятое поколение породило лавинообразные изменения в отрасли, когда каждый производитель старался сделать свою систему мощнее, чем у конкурентов. Так всего за 3 года сегмент расслоился на откровенных лидеров во главе с Sony и аутсайдеров во главе с Atari. 32-битная планка была задрана непомерно высоко для дебютантов поколения, погребя мечты тех немногих геймеров, кто поверил в силу Atari Jaguar, 3DO и 32X.

К счастью, здоровая конкуренция высветлила лучших из лучших. И именно о них сейчас и пойдёт речь, а точнее о девкитах к этим системам.



Так компания, некогда называемая Service Games, но знакомая всем именно как Sega, не просто поспевала за трендами, но вела в этом направлении активнейшую работу. Залогом успеха послужил аркадный задел Sega, сформированный такими машинами, как Sega System 1, Sega System 2, Sega System 16, в конечном счёте приведший к созданию передового для 1988 года консольного железа Sega Genesis. В том же году была выпущена Sega System 24, а два года спустя — Sega System 32, имевшая в своём чреве 32-битный RISC-процессор. Sega настолько плотно занималась аппаратным обеспечением, что вскоре появились аркадные кабинеты, работающие с полноценной 3D-полигональной графикой. Sega Model 1, а затем и пришедшая ей на смену Sega Model 2 не просто были успешными, они были революционными машинами для 1990 и 1993 годов соответственно.
Читать дальше →

Как же всё-таки получаются 1024 цвета в CGA? И действительно ли их 1024?

Reading time15 min
Views22K
Запощенный в 2015 г. перевод «Новый графический режим: CGA в 1024 цвета» меня сильно впечатлил, но из него я так и не понял до конца, как этот трюк работает, потому что статья написана профессионалом в области ретро-компьютерной графики, и предполагает, что читатель уже имеет некоторые познания в этой области. Хотя у моего первого компьютера («Поиск» — советский клон IBM PC/XT) и был CGA, но мониторы с композитным входом я не застал, так что мне пришлось гуглить и разбираться, как же композитное видео было устроено. Для тех, кому тоже интересно «нутро» технологий 1981 г., в которых в 2015 г. обнаружились неожиданные недокументированные возможности, я собрал воедино найденный мной материал.

1. Штатные возможности CGA


У обывателя CGA обычно ассоциируется с графикой 320x200 и четырёхцветной палитрой с кислотно-жуткими цветами, как например в играх 1983 г. Alley Cat, J-bird, Lode Runner и Tapper:




Но ограничение 320x200x2bpp накладывается лишь объёмом имеющейся на адаптере видеопамяти (16 Кб), фактически же он способен производить изображение 640x200x4bpp — с пикселями, сильно вытянутыми вертикально.
Читать дальше →

Печатная плата с ракеты Сатурн-5 – обратная разработка с пояснениями

Reading time10 min
Views22K
Перевод статьи из блога Кена Ширрифа

В лунных миссиях «Аполлон» ракетой Сатурн-5 управлял передовой бортовой компьютер, разработанный в IBM. Система собиралась из гибридных модулей, похожих на интегральные схемы, но содержавшие отдельные компоненты. Я провёл обратную разработку печатной платы с этой системы и разобрался в её назначении: в модуле ввода/вывода компьютера эта плата выбирала нужный источник данных.


Когда ко мне пришла эта плата с Сатурн-5, она была частично разобрана, и на ней не хватало чипов

В данной статье я объясню, как работала плата – от крохотных кремниевых кристаллов внутри гибридных модулей до схемы платы и её подключения к ракете. Первым её изучила Фрэн Планч в проекте Apollo Saturn V LVDC. В блоге EEVblog про неё сняли видео. Теперь пришла моя очередь.
Читать дальше →

Защита и взлом Xbox 360 (Часть 2)

Reading time9 min
Views71K


В прошлый раз мы оставили сцену Xbox 360 на моменте, когда разработчикам стало очевидно, что защита DVD-ROM легко обходится, и с этим точно нужно что-то делать. Попытки исправить ситуацию обновлением ПО самой приставки не увенчались успехом, и на поле битвы вступила компания Philips & Lite-On, DVD-приводы которой с каждой новой моделью становились всё более продвинутыми в плане защиты. Но и методы взлома с каждым разом становились всё более и более изощрёнными. В этой части я расскажу, как в Microsoft пытались исправить ситуацию с нелицензионными дисками, и до каких методов прошивки DVD-привода можно докатиться, когда закрыто буквально всё.
Читать дальше →

Войны вокруг чипа 68000, часть 1: Amiga Lorraine

Reading time23 min
Views10K

Вот так выглядит революционная технология. В 1986 году Тим Дженисон, основатель NewTek, начал распространять эти цветные цифровые фотографии – первые подобные изображения, когда-либо появлявшиеся на экране ПК – через каналы распространения программ для Amiga. Так наступила эпоха мультимедиа.

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

Amiga был прекрасным компьютером, когда впервые появился в 1985 году — значительно превосходившим все предложения на рынке. В его сердце было чудо той эпохи, чип Motorola 68000 – тот же чип, что стоял внутри Apple Macintosh и Atari ST. Однако особенным Amiga делало окружение этого чипа: три специальных микросхемы с незабываемыми названиями Пола, Дениз и Агнус. Все вместе они обеспечили Amiga лучшими графикой и звуком в индустрии, причём с огромным отрывом. А освободив 68000 от огромной доли работ по созданию графики и звука, а также выполнения многих других задач, типа доступа к диску, они позволили Amiga засиять, и с лёгкостью обогнать всех конкурентов по реальному быстродействию на любых тестах, которые только можно было вообразить. В итоге получилось не просто постепенное улучшение, а крайне редкая в любой технологии штука – скачок на целое поколение вперёд.

Самодельный лазер на парах марганца

Reading time9 min
Views25K
В этой, юбилейной 10ой статье я опишу, что же является логическим следствием, продолжением моего самостоятельного лазеростроения. После построения источника питания, который подходит для накачки импульсных лазеров на парах металлов и приобретения опыта работы с готовыми активными элементами лазеров на парах меди и её соединений оставалось только изготовить активный элемент лазера (далее — АЭ) полностью самостоятельно, при этом с новой рабочей средой.

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

Моделируем вселенную: небесная механика наглядно

Reading time8 min
Views22K


Давайте представим, что нам нужно запустить футбольный мяч на орбиту Земли. Никакие ракеты не нужны! Хватит горы, высотой 100 километров и недюжинной силы. Но насколько сильно нужно пнуть мяч, чтобы он никогда больше не вернулся на Землю? Как отправить мяч в путешествие к звёздам, имея только грубую силу и знание небесной механики?

Сегодня в программе:

  • Бесконечные возможности одной формулы
  • Как взять энергию у Юпитера
  • Откуда у планет берутся кольца
  • Как математика помогла открыть Нептун

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

История жанра roguelike: от Rogue до Binding of Isaac

Reading time29 min
Views26K
image

Отдадим должное игре, ставшей прародительницей целого жанра. Имя ей Rogue.

Распространённость игр Roguelike росла на протяжении всех 40 лет существования жанра, даже несмотря на то, что в нём реализованы идеи, кажущиеся «анафемой» для популярности: высокая степень случайности, ASCII-графика, перманентная смерть (permadeath), огромная сложность и многое другое. Тем не менее, сегодня шагу нельзя ступить, не наткнувшись на игру, на которую по крайней мере не повлияли roguelike.

В духе историй об игровых жанрах (мы уже рассказывали о стратегиях реального времени [перевод], градостроительных играх, шутерах от первого лица [перевод], симуляторах [перевод: первая и вторая части], графических адвенчурах [перевод], гонках на картах и играх с открытым миром [перевод]) давайте теперь начнём разбираться, как мы к этому пришли и что это всё означает. Мы совершим экскурсию по дереву эволюции roguelike, начав с самой Rogue и пройдя весь путь до современных игр с «элементами roguelike».

Но для начала нам нужно ответить на важный вопрос.

Что такое «roguelike»?


Невозможно подобрать точное определение этому термину, кроме его буквального значения («игра наподобие Rogue»). Можно сказать, что roguelike — это путешествия по рандомизированным подземельям почти без сюжета или с полным его отсутствием; игрок сражается и с самим подземельем, и с монстрами внутри, бесконечно повторяя этот процесс, чтобы освоить схемы, содержание и системы, определяющие природу игры, пока не умрёт и не начнёт заново.

Но кое-кто пытался сузить это определение. Можно взять для примера «факторы высокого значения» Берлинской интерпретации, которые были приняты на Международной конференции по разработке roguelike 2008 года (International Roguelike Development Conference 2008). (Да, ежегодно проводится конференция для разработчиков roguelike, а также ещё одна для игроков.)
Читать дальше →

Как Crash Bandicoot взламывал Playstation

Reading time19 min
Views33K

Энди Гэвин из Naughty Dog рассказывает об управлении памятью и 3D-анимациях 90-х.

«Памяти в Crash Bandicoot настолько не хватало, что мне приходилось красть небольшие кусочки лишней памяти из библиотек Sony. Я просто пробовал удалять те части, которые, как мне казалось, я не использую, и проверял, продолжает ли всё работать. Если всё работало, то я помечал их как свободные и делал хаки их кода, меняя байт-коды. Я думал: у меня получится, если Sony не хочет исправить это сама, то я просто изменю их код. Это была свободная память. [смеётся] Память была ограниченной. Но нам совершенно точно никто не разрешал этого делать».

Привет, я Энди Гэвин, сооснователь Naughty Dog Inc и ведущий программист Crash Bandicoot. Мы решили создать первый экшн-платформер с трёхмерным персонажем, и чтобы сделать всё правильно, нам в буквальном смысле пришлось взламывать оборудование.

Это было частью философии Naughty Dog — делать всё возможное, использовать каждый цикл ЦП или GPU, каждый байт памяти. Если в машине существовала такая возможность, то мы пытались разобраться, как выжать из неё максимум вне зависимости от того, пригодится ли это нам или нет, и будем ли мы использовать какие-то безумные трюки. Летом 1994 года мы с моим партнёром Джейсоном Рубином завершали файтинг для 3DO под названием Way of the Warrior и размышляли над тем, какую игру хотим сделать следующей. Самым популярным жанром на консолях в то время были экшн-платформеры, такие как Super Mario World и всевозможная другая классика 16-битных платформенных игр. В то же время на аркадных автоматах появилось новое 3D-оборудование и некоторые жанры начали переход из традиционного 2D в 3D.
Читать дальше →

Заглядываем внутрь советской интегральной схемы с ТТЛ

Reading time6 min
Views37K
Перевод статьи из блога Кена Ширриффа

В данной статье мы изучим чип 1980-х годов, использовавшийся в часах для космического корабля «Союз». На фото через микроскоп видно кремниевый кристалл внутри корпуса с чёткой геометрической планировкой. Кремний на фотографии выглядит розовато-фиолетовым, а слой с металлическими проводниками – белым. По краям чипа соединительные проводники (чёрные) соединяют площадки чипа с его контактами. Крохотные структуры – это резисторы и транзисторы.


ИС 134ЛА8 на логических вентилях И-НЕ

Чип используется в часах на фото ниже. Недавно эти часы, летавшие в космос на корабле «Союз» (неизвестно, на каком из рейсов – судя по маркировке, часы изготовлены в 1984 году), попали в наш музей. Левый верхний дисплей показывает время, а нижний – таймер. Функция «будильника» в заданное время активирует внешний контур. Сначала я думал, что у этих часов внутри окажется единственный чип, однако они оказались неожиданно сложными, содержащими более 100 ИС на десяти платах.

Hardware-in-the-Loop

Reading time6 min
Views8.8K
image

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

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

Откладывание испытаний до окончательной сборки сопряжено со значительным риском, а изменения, которые необходимо внести по результатам испытаний, могут привести к катастрофическим последствиям для графика. Обязательно нагрянут немыслимая стоимость тестирования и неопределенность времени выхода на рынок. Сложность этой проблемы возрастает еще больше, если учесть, что каждый элемент из множества электронных блоков управления (ECU) в автомобиле работает с огромным количеством сигналов, представляющих различные функции и типы входов/выходов, что затрудняет тестирование с полным покрытием. Все эти факторы приводят к формированию нерешаемой задачи, ставящей под сомнение возможность тщательного тестирования, которое будет эффективным с точки зрения затрат и времени.
Читать дальше →

Information

Rating
Does not participate
Date of birth
Registered
Activity