Пишем для NES. Краткая версия.

Изложено в формате 'нет времени объяснять'. Подробное раскрытие каждого небольшого пункта потребует статьи большего объёма, чем этот обзор. Это будет сделано впоследствии, если у читателей обнаружатся конкретные интересы.

Хотите написать игру или демо для NES, Famicom, Денди?

Изучаем. Кладезь актуальной мудрости — NesDev Wiki. Вводные для начинающих — Nerdy Nights на английском, другая на русском. Помним, что старые описания неполны и неточны. Отдельно изучаем 6502. Книг и статей много, поиск начинаем отсюда.

Выбираем между ассемблером и C. Тысяча игр на ассемблере, десятки на C. Код на ассемблере в разы эффективнее, на C пишется в разы быстрее. С ассемлером проще получить помощь зала. Для отчаянных есть экзотика, от BASIC до минимальных Lisp и Python.

Выбираем ассемблер. Три популярных, десятки других. NESASM стар, имеет искусственные ограничения (пришёл с MS-DOS, перепилен с PCE/TG16) и мелкие глюки. Легко освоить, большинство старых уроков под него, выдержит средний проект. Современная альтернатива — ASM6, прост в освоении, но не так популярен. Выбор профессионала — CA65. Мощен и гибок, но сложен в освоении (линкер и конфигурация памяти).

Выбираем компилятор C — CC65. Для работы с железом есть библиотеки neslib и KNES, либо пишем свою. По скорости потолок чистого C — подобие Super Mario Bros. Можно писать частично на C, частично на ассемблере, переписывать фрагменты кода по ходу дела. Очень удобно для прототипирования.

Пишем код. Любимый текстовый редактор, bat или make файлы. Есть развитая IDE для CC65 — NESICIDE, но WIP и почти никем не используется.

Рисуем. Отдельные тайлы редактируем непосредственно в YY-CHR, NES Screen Tool, Tile Layer Pro и других, более сложные изображения импортируем из обычных форматов там же. Для сложных проектов может понадобиться свой велосипед. Без трюков NES не может отобразить полноценную картинку на весь экран, аналога Art Studio не ищите.

Музыка и звуки. Два основных трекера, но нужен проигрыватель, выбирается в зависимости от используемого ассемблера. Пишем в FamiTracker, играем FamiTone или Gradual Games Sound Engine. Пишем в Musetracker, играем MUSE. Штатного плеера FamiTracker хватит для простого демо, но не для игр. По желанию пишем свой плеер, оба трекера имеют текстовый экспорт. Для отчаянных есть древности и экзотика.

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

Для среднего или большого проекта наверняка понадобятся особые конвертеры и утилиты. Пишем на чём угодно, лишь бы работало. Обычно C++ или Python.

Отлаживаем в эмуляторах. Средства отладки развиты в FCEUX и NintendulatorDX. Высокая точность эмуляции в Nestopia и puNES, но отладчика в них нет. Даже самые точные эмуляторы не показывают всех глюков, проверяем во всех четырёх. Если пишем на C с готовой низкоуровневой библиотекой, на железе наверняка заработает. Выжимаем максимум на ассемблере — обязательно проверяем на железе при помощи Flash-картриджей (EverDrive N8, InviteNES, PowerPak — ищем в интернете) или самодельного картриджа и программатора ПЗУ.

Успехов!

C64: MultiColor graphics mode

Данная статья была написана в 2010 году для сайта www.c64.su, и надеюсь спустя столько времени ещё не утратила свою актуальность. Поскольку выше упомянутый ресурс более не поддерживается, то не хотелось бы, что бы статья канула в лету.


Сегодня мне бы хотелось рассказать вам об одном из графических режимов C64 — Mutlicolor (не путайте с одноимённым режимом на ZX Spectrum, ничего общего кроме названия у них нет), одном из стандартных режимов С64. MutliColor представляет собой 320x200 точек, причём по горизонтали точки сдвоенные 2x1 и по сути это режим 160x200.

Итак, что же там внутри?…

Review Graphics compo from Chaos Constructions Winter 2021

Всем привет! Продолжаем серию обзоров графических работ с прошедших демопати, в этот раз написал статью про все графические работы с зимнего CC'2021. Ни одного слова не напишу о том, как проходил сам фестиваль. Будет только обзор графики.



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

Super Mario Bros. COVID-19 Edition

Всем привет!

Сделал для вас игру на актуальную нынче тему :)

Скачать тут:
zxart.ee/rus/soft/game/arcade/platform/super-mario-bros-covid-19-edition/







Движок, который я показывал на CAFe 2019, продолжает развиваться.
За последние пару месяцев в комплекте к нему появился UI-редактор миров.
Именно в нём и сделаны уровни для игры.

Играйте, наслаждайтесь. :)
Баг-репорты присылайте в личку в телеграм.

Новый альбом Сергея Головина - Satellite

Один из ярчайших представителей современной отечественной тяжёлой инструментальной музыки, Сергей Головин, совсем скоро — 15 октября — выпускает свой новый альбом Satellite. Как и все предыдущие работы автора, он во многом вдохновлён вещами из прошлого и из нашего детства или юности — фильмами и видеоиграми 80-х и 90-х годов. Помимо явно узнаваемого налёта видеоигрового музыкального наследия, нынешняя работа включает звучание аналоговых синтезаторов, а также довольно трогательную историю про отца и ZX Spectrum, достойную упоминания на нашем тематически отдалённом от ревущих гитар ресурсе.

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



Mode 7 в SNES

По сравнению с 8–битной Famicom/NES/Денди в 16–битной Super Famicom/SNES графические возможности сильно расширились. Так, например, появились разные видеорежимы с возможностью отображения до четырёх независимо скроллящихся задних слоёв, просвечивающих друг сквозь друга. Однако единственный режим с четырьмя слоями обладал такой же как в Денди цветностью (4 цвета на тайл один из который — прозрачный), что было маловато для 16–битной консоли, так что чаще всего там использовались трёхслойные и двухслойные задние фоны. Однако подлинной вершиной двумерной графики в этой консоли стал однослойный видеорежим номер 7, так называемый Mode 7 (при этом он восьмой и последний по счёту — нумерация идёт с нуля) в котором единственный фон мог быть произвольно масштабирован и повёрнут.

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

Конкурсы на фесте VERVE 2017 (и немного лирики)



Публикуем финальный и полный список конкурсов. В каждом конкурсе разрешено удалённое участие.

events.retroscene.org/verve2017

Приём продлится с 7 августа по 3 сентября. Возможны сдвиги ;) Полные правила участия будут готовы к старту приёма работ.

Если кто еще не видел новость и (вдруг) собирается приехать, то у нас помещение в центре города. Подробности: vk.com/wall-119091400_15

А лирика под катом...

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

IRL environment of demosceners


Мне всегда было интересно, кто все эти люди и на чем они создают свои мастерписы…

Все мы немощны, ибо человецы суть, люди.

Так покажите же свои сычевальни комнаты народу!

Как образец для подражания выкладываю фото интерьера, в коем создавался Super Mega Hit

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

Понять Демосцену за 14 дней. День пятый. Основы кодинга. [перевод]




«День третий и четвертый. Основы графики и музыки» ← • → «День шестой. Инструменты и ресурсы»


Мы переводим и адаптируем гайд «Teach Yourself Demoscene in 14 Days» от Psenough. Остальные главы читайте по тегу #14days.
Мнение переводчиков может не совпадать с мнением автора.

День пятый. Основы кодинга.

Изучать программирование в наше время не так уж и сложно. Есть тонны книг и бесплатных курсов. Кто-то даже собрал все ссылки на одной странице.

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