Сначала немного предыстории:
Я делаю то, что может быть " roguelike ", так что я могу использовать некоторые интересные идеи, которые всплывают у меня в голове. Геймплей не будет проходить в подземелье, но в любом случае показ будет происходить в том же стиле, с простыми символами ascii.
Поскольку это самообучение, Я стараюсь сам кодировать большинство из них .
В конце концов, мне бы хотелось, чтобы игра работала в сколь угодно больших игровых мирах. (до такой степени, что я предполагаю, что игра будет подключена к сети и охватит множество мониторов в компьютерной лаборатории).
Сейчас у меня есть некоторый код, который может читать и писать в произвольные разделы текстовой консоли, и простая система разбиения, настроенная так, чтобы я мог эффективно находить пути.
А теперь вопрос:
Я провел несколько тестов, и самое большое узкое место - перерисовка текстовых консолей.
Наличие такого большого игрового мира потребует интеллектуального обновления дисплея. Я не хочу повторять каждый мой буфер игры каждый кадр ... Мне нужно несколько указателей о том, как его настроить, чтобы он обновлял только те части игры, которые были обновлены. (а не только отдельные персонажи, как у меня сейчас)
Я манипулировал консолью Windows с помощью windows.h, но мне также было бы интересно, чтобы она работала на машинах Linux через клиента puTTY, подключенного к серверу.
Я пытался адаптировать некоторые подпрограммы обработки видео, так как между пикселем и символом почти соотношение 1: 1, но мне не повезло.
Действительно, я хочу простое объяснение некоторых принципов, стоящих за ним. Но некоторый пример (псевдо) кода тоже подойдет.