Код, коты и карандаш
Closed channel
285
Subscribers
-124 hours
No data7 days
No data30 days
Posts Archive
Repost from xecut
По следам субботних докладов про NES публикуем записи докладов в хорошем качестве.
NES Dev 2026 от @Yuliosity:
https://www.youtube.com/watch?v=FxMQlwXFSAw
Рассказ про консоли SUP от @smoluks:
https://www.youtube.com/watch?v=aepsFAASEjg
Repost from xecut
В эту субботу, 2 мая 14:00
NES Dev 2026
NES, более известная у нас как Денди, — поистине народная приставка, на которой вышли десятки культовых и любимых с нами детства игр, и даже спустя 40+ лет продолжают выходить новые. Если вам тоже было интересно, как устроена приставка и как разработать свою собственную игру для неё, Юлия @Yuliosity в эту субботу расскажет:
- про возможности и ограничения восьмибитного железа
- какие трюки применяли игры, чтобы их преодолевать
- какие средства разработки использовать в 2026 году
Ждём всех желающих! Вход бесплатный, донаты спейсу приветствуются.
Как нас найти?
Трудности рабочего класса перевода в документации по F#. (в оригинале discriminated unions, размеченные объединения)
#код #лингво
Давеча подумалось, что Тейяр де Шарден был прав, и создание ASI* — это второе пришествие Божье, с которым настанет апокалипсис, а потом рай на Земле.
*как AI только Super
Попробую всё-таки сделать пост про то, как в современных условиях сделать свою игру для #nes, более известной в России как Денди, давшей много тёплых детских воспоминаний миллениалам.
Я очень люблю эту приставку и игры для неё, и очень давно мечтала сделать свою собственную, или хотя бы технодемку. Ретроигры в восьмибитной стилистике — это круто, но дополнительный интересный вызов в том, чтобы уложиться в технические ограничения железа из 80-х. А они весьма жёсткие:
⚙️ Процессор: архитектура MOS 6502, три 8-битных регистра, 16-битная адресация, минимальный набор команд, в которых нет даже целочисленного умножения.
💾 Память: 2 КБ RAM (из которых, за вычетом системных нужд разработчику остаётся 1280 байт) в приставку, 16 КБ ROM на код и 32 на графику — в картридже. Может быть больше (при помощи чипов-мапперов), но придётся организовывать переключение банков.
📺 Графика: разрешение 256х240, один слой тайлов 8х8 пикселей, до 64 спрайтов 8х8 или 8х16 пикселей. Для тайлов и спрайтов есть по четыре палитры, позволяющие выбрать по три цвета из 52 возможных (четвёртый всегда прозрачный). Ах да — на каждой линии отрисовывается только первые 8 спрайтов, что приводит к знаменитому мерцанию. Зато есть плавная прокрутка слоя тайлов в обоих направлениях, чего не было у множества конкурентов той эпохи (Commodore 64, MSX, ZX Spectrum).
В силу этого, естественно, нельзя просто взять и воткнуть в игру произвольную картинку, нарисованную в условном MS Paint. Нужно использовать утилиты вроде YY-CHR и NEXXT, созданные с учётом этих ограничений.
🔉 Звук: отдельный чип, выводящий пять специализированных каналов — два квадрата, треугольник, шум и DPCM. Последний позволял проигрывать цифровые сэмплы (в том числе голос), но это требовало много памяти и процессорного времени, поэтому применялось в небольшом числе игр (особенно этим славилась фирма SunSoft).
Тут есть стандарт де-факто — отличные музыкальные редакторы FamiTracker и FamiStudio.
📄 #код: в силу пунктов ⚙️ м 💾, писать под это дело на чём-то современном и высокоуровневом попросту невозможно. Тогдашние игры разрабатывались в большинстве своём на ассемблере, но это повеситься, особенно с моим СДВ. Естественно, у каждой фирмы с историей были свои переиспользуемые наработки — например, диснеевские игры от Capcom (Duck Tales, Chip'n'Dale, Darkwing Duck) были сделаны на том же движке, что и серия Mega Man. Но у меня их нет.
Большинство современного homebrew делается на C с помощью компилятора CC65 и специализированных библиотек. Этот подход развивал в том числе широко известный в узких кругах энтузиаст восьмибитной демосцены Shiru, сделавший, помимо прочего, шедевральный порт игры "Jim Powers" (очень рекомендую эту статью, да и весь его канал). Но я однажды попробовала, и не очень-то зашло — почему, расскажу в следующий раз.
👾 В общем, непросто.
Как же бесит линукс, который во время жирной сборки начинает хрипеть звуком и перестаёт откликаться на клавомышь ._. И даже прибить её в итоге нельзя, нужно неопределённо долго ждать, пока расклинит.
Может (даже наверняка), это где-то настраивается и регулируется, но пойнт в том, что у меня лапки, я не хочу ничего конфигурять, и в других осях этого не понадобилось.
#код #нате
Available now! Telegram Research 2025 — the year's key insights 
