Динамическое освещение текстовых символов в ретро игре

В моей игре ASCIIDENT, сделанной с помощью текстовых символов, изображение формируется посимвольно. Это не сохраненные спрайты, на которых заранее нарисованы буквы и знаки. Это текстовые спрайты, заданные как строчки в JSON файле.

Цвет каждого символа формируется на основе исходного значения и полноэкранного Lightmap. Некоторые символы могут быть источником света определенного размера, формы и цвета. На каждом кадре сначала просчитываются суммарные параметры освещенности для каждой текстовой ячейки экрана (80х25) на основе всех источников света, которые до этих ячеек дотягиваются. Затем уже отображаются символы с откорректированным цветом.

Такой способ позволяет делать атмосферные места. Вот такой персонаж, например, сидит у костра в труднодоступном месте игры. Чтобы туда добраться нужно раздобыть фонарик и еще оружие по-лучше бы иметь. Но оно того стоит - у этого отшельника есть карта доступа, открывающая проход к монорельсу в космопорт. Как вам?

Игра сейчас на Стиме вот тут.

Вместе с игрой теперь можно закачать и дополнительный контент (DLC) - мою книжку, во вселенной которой происходят действия игры.

Спасибо!

269
51 комментарий