Ringo Render 64x48

UPD(20.12.2022): Исходники оптимизированного рендера доступны на GitHub

Всем привет!

Сегодня я немного расскажу про то как устроен рендер в нашей совсем недавно вышедшей игре Ringo.
Если вдруг пропустили то посмотреть/поиграть можно здесь

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


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

Ещё раз про DOWN_HL.

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

Как быстро настроить среду разработки на ZX: Visual Studio Code + Z80MacroAsm boilerplate

В этой статье я расскажу, как начать пользоваться Visual Studio Code для разработки под ZX Spectrum, почему (если вы ещё не знаете) деббагер в Unreal Speccy такой крутой; и, возможно, в конце, в качестве бонуса: зачем вообще это нужно делать, даже если вас устраивает ваш Sublime Text/UltraEdit/Notepad++/Far/Vim/Microsoft Word.



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

Making of Hara Mamba,Scene!

hmslogo
Привет народ!

Недавно мы выпустили нашу новую демку под названием Hara Mamba, Scene! которая заняла аж 3-е место на CAFeDemoparty 2019. И я решил немного рассказать про то как там всё сделано и как оно вообще делалось. Возможно кому-то будет интересно! Погнали!

CODING PART DISCLAMER:

Я абсолютно не претендую на крутость кода и почти уверен что можно сделать лучше и красивее. Зачастую я использую тактику кучи дупов вместо цикла, брутфорса, быстрокода и суперсекретный метод под названием «пофикси Артёмка». Поэтому не трачу времени на оптимизации если ясно что всё и так работает и хорошо пакуется!


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

Борьба с клешингом в С64

Сразу за релизом С= распишу, как реализован режим мультиколора для С64.

Смотреть/скачать демо

Это стандартный режим видеоконтроллера комодора, и один из любимых на демосцене.

Итак, задача — сконвертировать оригинальный формат экрана С64 в режиме мультиколор для вывода в видеопамять zx enhanced (ts config).
Напомню, что результатом должна быть линейная адресация с тетрадой бит на пиксел, указывающих на цвет точки.
Сразу скажу, что разбирал я стандартный формат, для которого нашлось приличное количество качественной графики в оригинальном формате.

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

Sonic - from SMS to TS Config

У меня никогда не было приставок.


После выпуска РасМаn я начал искать – что ещё есть из аркад, которые были бы очень популярны, и подходили под мои требования для переноса – z80, интересная игра, хотя-бы минимальное техническое описание для разбора кода. Заодно поиск шёл не только по аркадным кабинетам.
Метался я много – смотрел в сторону РС8000, оценивал код игр под 8080, да много чего перебрал.
Оказалось, что «всё не так просто» ;) По аркадам – дичайший зоопарк по оборудованию.
Да, часто линейка игр использует свой стандартный набор оборудования. Но при этом часто это однотипные игры.
В аркадах часто используются по несколько процессоров, и довольно часто — разных типов. Например – 68000 и z80, либо же z80 и z80, один 6502 и т.д. и т.п. Точно так-же – народ не лимитирует себя и в звуке. Использовать несколько АУ, комбинировать АУ и ФМ чипы – это нормально. Использовать второй процессор сугубо для генерации звука – это тоже нормально :) Некоторые аркады используют больше двух процессоров.
Довольно интересно и не привычно – многопроцессорные 8бит системы? Неожиданно!

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

Мультиколор будет побеждён

Первая половина статьи была опубликована в последнем номере замечательного журнала ЗаРулём, а вторая написана по следам свежего релиза нашей новой игры GLUF. Но т.к. они дополняют друг друга я решил их объединить в одну. В ней нет ничего нового для мастеров кода и гуру из 90-х годов, это скорее поток мыслей на тему мультиколора, скрола и попытки их объединения который может быть будет кому-то интересен :)

После того как вышла наша новая игрушка Old Tower мне почти сразу же посыпались просьбы рассказать, как же удалось добиться такой плавной и яркой картинки на нашем старичке Speccy. Ну что же, берите чай и печенки и вперёд!



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

Технический разбор Illusion от X-Trade

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



Ну и поскольку мне нужно с чего-то начать, я хочу начать с Illusion от X-Trade. Мне это демо всегда было симпатично.
Читать дальше →

"Unhinged" trackmo engine

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

В этом топике я опубликую двиг, разработанный для «Unhinged», и использованный позже как обслуживающий в «Марио».

Зачем это? Дело в том, что пресловутое flow требует от дизайн-мейкера постоянно вводить как новые эффекты, так и их развитие в процессе своего течения.
Соответственно, код демо должен быть настраиваемым — предоставьте себе контролы, которые позволят вам менять внешний вид того же эффекта, который уже на экране. И применяйте их в течении демо именно в тот момент, когда они будут иметь максимальное воздействие на зрителя.

ДАО ГОВОРИТ :)
Главная цель движка трекмо — это Контроль выполнения демо.
Контроль должен быть реализован изменением состояния кода демо в процессе её выполнения (показа), путём изменения значений памяти в её подпрограммах в нужный нам момент, либо изменением вызываемой процедуры (что может быть переходом в следующую часть).

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

LiruS

Наконец-то достиг уровня когда я смог реализовать на спектруме игру, которую мы придумали с пацанами 17 лет назад. В далеком 1998 году :) Но лучше поздно, чем никогда!



Музыка в ролике n1k-o , в игре музыки нет (намёк №1)
Загрузочной картинки тоже нет (намёк №2)

Карамба!