История проведения фестивалей компьютерного искусства, также известных как демопати, насчитывает в нашей стране уже четверть века. Люди со всех концов страны собираются, чтобы показать свои упражнения в извлечении невозможного из старых или современных компьютеров и сверхмалых объёмов кода. В первую пятилетку одним из главных демопати страны стал CAFe (внезапно, Computer Art Festival), проводившийся в Казани с 1999 по 2003 годы. Позже он надолго исчез с радаров, отдав пальму первенства более известным ныне Chaos Constructions и DiHalt, и только в этом году произошло довольно триумфальное его возвращение — если не по масштабу мероприятия, то по количеству разнообразных работ, показ которых затянулся до шести утра. Среди них была и моя, о создании которой пойдёт речь в этой статье.
Рубрика «dendy» - 2
Разработка демо для NES — HEOHdemo
2019-11-08 в 2:10, admin, рубрики: 6502, cc65, dendy, Famicom, Nes, ассемблер (ностальгически), Демосцена, Игры и игровые приставки, ненормальное программирование, старое железоКак я создавал «WildMAN» — пародию на множество 8-битных игр и недавно ее портировал на Android
2019-09-22 в 9:50, admin, рубрики: Battle Toads, dendy, game engine, java, sega, Super Mario, WildMan, Игры и игровые приставки, разработка игр, Разработка под androidЯ думаю каждого фаната приставочных игр интересовала тема создания игр и была мечта создать свою игру, в студенческие годы я увлёкся программированием.
Внутренности ретро-игр: Punch-Out для NES
2019-01-10 в 5:06, admin, рубрики: dendy, Nes, punch-out, Игры и игровые приставки, искусственный интеллект в играх, реверс-инжинирингЧасть 1. Пароли
В игре для NES «Mike Tyson’s Punch-Out» используется система паролей, позволяющая игрокам продолжить игру с определённой точки. Каждый пароль состоит из 10 цифр, которые могут иметь значение от 0 до 9. Игра может принимать два типа паролей, которые я называю «обычными» и «особыми» паролями. Особые пароли — это определённые комбинации из 10 цифр, на ввод которых игра реагирует уникальным образом. Полный список особых паролей выглядит так:
- 075 541 6113 – телефонный сигнал «занято» 1
- 800 422 2602 – телефонный сигнал «занято» 2
- 206 882 2040 – телефонный сигнал «занято» 3
- 135 792 4680 – игра в скрытый турнир: «Another World Circuit» (чтобы пароль был принят, необходимо удерживать кнопку Select и нажать A + B)
- 106 113 0120 – показ титров (чтобы пароль был принят, необходимо удерживать кнопку Select и нажать A + B)
- 007 373 5963 – переносит игрока к бою с Майком Тайсоном
Второй тип паролей, принимаемых игрой — обычные пароли. В обычных паролях закодирован прогресс, которого игрок достиг в игре. В обычном пароле кодируются следующие игровые данные:
- Количество побед в карьере
- Количество проигрышей в карьере
- Количество побед нокаутом
- Следующий противник
Кодирование паролей
В качестве примера для изучения генерации паролей мы используем игру с 24 победами, 1 проигрышем, 19 нокаутом и начинающуюся в мировом турнире с боя против Super Macho Man.
Читать полностью »
Не просто ностальгия: самодельные игры для NES продолжают выпускаться
2018-05-23 в 9:58, admin, рубрики: dendy, homebrew, Nes, Nintendo Entertainment System, Игры и игровые приставки, разработка игр, ретрогейминг, сцена
Моё детство пришлось на эпоху Nintendo Entertainment System, и я всегда хотел создать собственную игру для NES. Я записывал идеи в блокнотах, чертил уровни на миллиметровке и тратил кучу времени, сочиняя MIDI-саундтреки для несуществующих игр. Все эти идеи оставались погребёнными в прошлом до 2018 года, когда я увидел документальный фильм Джо Гранато The New 8-bit Heroes о его одиссее по созданию игры своей детской мечты. Сегодня, после успешного сбора средств на его ПО NESMaker в Kickstarter, этот проект может упростить процесс создания собственных игр для NES. Однако Джо был не первым, самодельные (homebrew) игры имеют длинную историю. Сегодня мы исследуем этот уголок истории NES и расскажем о создании игр для NES на протяжении 20 лет после завершения официальной коммерческой жизни системы.
Читать полностью »
Прокачиваем NES Classic Mini — продолжение
2017-07-16 в 7:17, admin, рубрики: dendy, Famicom, linux, Nes, NES Classic, nes classic mini, nes mini, open source, реверс-инжиниринг, эмуляцияВ феврале я писал статью о том, как русские энтузиасты «взламывали» консоль NES Classic Mini, как мы занимались её реверс-инжинирингом, и как я писал приложение для того, чтобы каждый мог легко закачать в неё свои игры буквально в пару кликов.
Сегодня я напишу продолжение этой истории, ведь за полгода мы добились гораздо более существенного прогресса в этом деле.
Как обычно, под катом моё повествование и в современной видеоформе, и в виде традиционной статьи.
Читать полностью »
Внутренняя структура игры Contra
2017-06-06 в 7:51, admin, рубрики: contra, dendy, Nes, гейм-дизайн, обратная разработка, разработка игр, реверс-инжиниринг, метки: contra
Как и многие из тех, кто программирует видеоигры, в детстве я часто играл в игры для NES. Меня всегда поражало, как разработчики смогли добиться столь многого минимальными усилиями, поэтому я потратил кучу времени на анализ внутренней работы некоторых игр. Сегодня я начинаю серию постов, в котором буду документировать то, чему научился, с точки зрения программиста игр. Я постараюсь сосредоточиться на работе систем игры на уровне движка, а не на аппаратном уровне (то есть буду говорить о том, как игра решает, что нужно отрисовать в текущем кадре, а не о том, как работают спрайты на NES). Также я постараюсь добавить любые крупицы информации об играх, которые мне покажутся интересными, например, неочевидное с точки зрения игрока поведение или примеры багов в логике игры.
Читать полностью »
Прокачиваем NES Classic Mini
2017-02-03 в 12:59, admin, рубрики: dendy, Famicom, linux, Nes, NES Classic, nes classic mini, nes mini, open source, реверс-инжиниринг, эмуляцияНа geektimes.ru недавно была статья о том, что «умельцы» взломали NES Classic Mini. Однако, там даже не упомянули о том, что это сделали русские. Нет, не я, а человек под ником madmonkey. Я же сразу решил написать приложение под Windows с дружелюбным интерфейсом, чтобы это можно было делать в пару кликов. В этой статье я хочу рассказать более детально о сути «взлома», о том, как в NES Mini всё устроено, и о трудностях, с которыми пришлось столкнуться.
И да, я опять предлагаю своё изложение в двух вариантах: видео и традиционная текстовая статья. Кому как больше нравится.
Читать полностью »
Спидран Legend of Zelda путём манипуляций памятью игры
2016-10-15 в 9:31, admin, рубрики: dendy, legend of zelda, Nes, speedrun, баги, Игровые приставки, игры, старое железо, метки: legend of zelda, speedrun
Первая часть Legend of Zelda — бессмертная классика. Обычному игроку требуется на её прохождение пара дней, а для самых опытных спидраннеров это вопрос получаса. Однако очень запутанный и сложный баг, открытый Sockfolder, позволяет пользователю исполнять произвольный код прямо из игры, чтобы пройти игру меньше чем за три минуты.
Вкратце это происходит так:
- Вводим код на экране ввода имени.
- Входим во второе подземелье, берём свисток.
- Переходим на кладбище, вызываем десять призраков.
- Дожидаемся нужных условий, ставим игру на паузу, когда создания находятся в определённых местах.
- Снимаем паузу, нажимаем одновременно A и B, и всё!
Да, это потрясающе. Теперь давайте рассмотрим подробнее, что же происходит в игре, и как выполняется этот удивительный баг Legend of Zelda.
Читать полностью »
Как работает баг с миром −1 в Super Mario Bros
2016-10-02 в 16:01, admin, рубрики: dendy, Nes, super mario bros, баги, Игровые приставки, игры, мир минус один, старое железо, метки: super mario bros
Мир -1 в оригинальной Super Mario Bros. — один из самых известных багов на NES. Если в зону перехода (Warp Zone) зайти специальным образом, игра глючит, и при входе в трубу вы попадаете в странный мир.
Попасть в мир -1 можно, почти пройдя уровень 1-2 и встав на трубу, ведущую на поверхность земли, к флагштоку и концу уровня. Затем нужно передвинуться к левому краю трубы, пригнуться и подпрыгнуть вправо, чтобы опускаясь Марио находился почти под потолком. Может потребоваться несколько попыток, но в результате он попадёт в нужную точку и автоматически пройдёт сквозь трубу, а затем через стену в комнату с зоной перехода. Если не будет виден хотя бы один пиксель трубы, Марио окажется в ловушке и игроку придётся ждать, пока не закончится время.
Ещё один способ попадания в мир -1: разбить два кирпичных блока на потолке, оставив самый правый. Потом нужно подойти к левому концу трубы и подпрыгнуть вправо. Пригибаться в этом случае не обязательно, потому что Марио может попытаться ударить (на самом деле не разрушая его). При этом в игре произойдёт сбой, и Марио сможет пройти сквозь трубу и стену. Но этот способ более сложен и долог. Если всё сделано правильно, игрок увидит перед собой три трубы зоны перехода. Если залезть в левую или правую трубу, Марио попадёт в мир -1. Если же опуститься в среднюю трубу, он перейдёт на уровень 5-1. В случае, если правая стена зоны перехода становится видимой, баг перестаёт действовать.
Но это не вся история о том, почему работает этот баг. Некоторые говорят, что так происходит, потому что на экране зоны перехода над трубой не отображается номер мира, когда вы заходите в неё. Но это неправда, и те, кто обладает пониманием механики игры, никогда не поверит в такое объяснение. Прочитав эту статью, вы сможете рассказать фантазёрам, что же происходит на самом деле. В этой статье мы подробно разберём и раскроем тайны возникновения бага «мира минус один».
Читать полностью »
Процессор Терминатора, Бендера, Денди и Apple 2: MOS 6502
2016-09-20 в 7:25, admin, рубрики: dendy, денди, Железо, Игровые приставки, история, История ИТ, научная фантастика, Научно-популярное, Процессоры, старое железо, терминаторЧто общего у Денди и Терминатора? И игровая приставка, и злодей-робот из первого фильма серии работали на одном и том же процессоре — 6502 от MOS Technology.