Как рисовать пиксель-арт на языке Си
Узнал, что Pac-man написан на языке С, но игра 8-битная, а на языке можно делать игры только с разноцветными ASCII символами. Как был сделан этот пиксель-арт?
Ответы (1 шт):
Сам язык C, да и в принципе любой ЯП никогда не давал возможность рисовать графику. Объясню кратко это на примере того же пак мена: Оригинальная игра изначально выходила на игровых автоматах. И игра имела возможность отрисовывать графику благодаря железу игрового автомата, а не наличия языка C, с тем же успехом могли использовать BASIC или Pascal. Я не знаю, как работало железо на том автомате, но могу сказать с уверенностью, что на языке программист си обращался к процессору ответственному за вывод изображения на дисплей в нужном виде. И там есть своя логика работы с банками памяти, ОЗУ, прерываниями и тд, которой Я не интересовался. А вот к примеру для NES(Денди) она абсолютно иная. Тоже самое для GameBoy, Sega и прочих консолей. Вот поэтому в те времена было мало мультиплатформенных игр. В основном портируют самые успешные проекты. Так что для разных устройств код приходилось писать с нуля, даже для одной и той же игры. Если интересуют тематика, как работали игровые консоли тех времён, можешь заценить ютуб канал кластера.
Если ты хочешь написать игру пакмен для твоего ПК(который скорее всего работает на винде) на языке С, то Я бы тебе порекомендовал использовать библиотеку SFML. Это оболочка для OpenGL. Думаю для новичка освоить сразу OpenGL будет сложно, да и не стоит, ведь эту библиотеку активно замещает Vulcan. А SFML хороший способ, чтобы понять нравиться тебе это или нет.
P.S. Прошу всех кто разбирается больше меня подправить или дополнить мой ответ.