Как мне добиться «8-битной графики»?

10

У меня сильный опыт программирования, но не в разработке игр. Я только сделал немного понга и змеи в средней школе, и я сделал немного OpenGL в колледже.

Я хочу сделать свой собственный игровой движок. Ничего особенного, только простой движок 2D игры. Но потому что я вроде старой школы и чувствую себя ретро. Я хочу, чтобы графика выглядела как старые 8-битные игры (Megaman, Contra, Super Mario, ...).

Так как же тогда делались старые игры? Я хочу самый простой подход. Они также использовали активы (изображения), как теперь делают новые движки? Как вы добиваетесь такого рода рендеринга с использованием OpenGL?

Иметь ввиду. Самое простое решение. Я хочу знать, как это было сделано тогда и как я могу повторить это. Даже не должен быть OpenGL. Я могу рисовать на оконном холсте. Я хочу сделать это с нуля в принципе.

Матяз Мухич
источник
6
8-битная графика - это вопрос активов, а не программирования, я полагаю, вы можете ограничить свою цветовую палитру в коде, но это звучит немного слишком просто для ощущения старой школы.
Люк Б.
Если вам нужна 8-битная графика, ограничьте цветовую палитру при создании художественных объектов и всегда используйте фильтрацию ближайших соседей для текстур.
Роберт Роухани
3
С чего начать и какие технологии использовать, вопросы не по теме для сайта. Смотрите FAQ, чтобы узнать, какие типы вопросов задавать здесь. Вы можете попробовать переписать свой вопрос, просто спросив о том, как визуализировать 8-битную графику, и удалить все, что нужно для создания игрового движка.
MichaelHouse
1
То, что сказал Байт56 - это мог бы быть большой и полезный вопрос, если вы переработали его, чтобы он был более конкретным для конкретной темы.
Максимус Минимус
Изменено. Надеюсь, теперь лучше.
Матяз Мухич

Ответы:

7

Так как же тогда делались старые игры?

Совершенно по-другому - больше похоже на то, что мы бы сейчас назвали «программированием встроенных систем». Графика, основанная на моде, от 8-битных приставок и аркадных блоков управлялась аппаратным обеспечением, а не программным обеспечением. Код игры (обычно сборка) ткнул специализированную память по расписанию инструкций (например, X инструкций на строку развертки).

Как вы добиваетесь такого рода рендеринга с использованием OpenGL?

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

Максимум
источник
«Атлас» активов? Что это обозначает?
Матиас Мухик
Вставка нескольких изображений в одно изображение текстуры и «выбор», который нужно показывать с помощью четырехъядерного UV. Так, например, все фоновые листы могут быть привязаны к одному листу текстуры, и тогда вам нужно только связать одну текстуру перед рендерингом фоновых слоев.
Макс
Ой. Что-то вроде спрайтов?
Матяз Мухич
@Matjaz: очень похоже на спрайты. Это слово означало что-то другое задолго до появления 3D графических ускорителей.
Илмари Каронен