но так как в моём "рогалике в разработке" наступила
стадия достаточно рутинного набивания контента,
это меня сильно утомило.
В общем в виду очередной вспышки разработки 1k roguelike в r.g.r.d.
я решил слегка выпендриться и написать специально
для 1krl простенький скриптовый язычок и потом на нём написать rl

Правда в какой-то момент "Остапа понесло", и язычок
получился не такой уж и простенький, и заняло
это гораздо больше чем планировалось, но тем не
менее что-то работающее получилось

Преамбула такова: подконтрольный "герой" - вампир,
которого замуровали в пещере. Он находится
в состоянии "жажды крови", но вокруг только
мелкая живность, с которой крови как с поганой овцы шерсти.
Со временем здоровье уменьшается, и чем глубже,
тем быстрее. Смерть неминуема, вопрос в том, когда она наступит.
В 1к удалось впихнуть более-менее пристойный генератор
уровней, почти честное поле зрения и убегающих от героя мобов.
Файлики тут:
http://code.google.com/p/densescript/downloads/list
Последняя версия скриптового движка скомпилёного под винду: ds-0.11.exe,
рогалика rl1.1.ds - версия с комментариями
rl1.1-packed.ds - упакованная версия (1009 байт).
Если кто захочет под *никсом собрать:
надо зачекаутить проект и сделать:
g++ -o ds -O4 ds.cpp -lcurses
Пара слов про скриптовый язык: все идентификаторы только однобуквенные.
вместо ключевых слов - всякие символы. Терминатором выражения
может быть пробел, ; или перевод строки.
Там есть простенькая дока по языку.
Небольшой вывод сделанный мною: написать скриптовый язык не сложно.
Сложнее придумать консистентный дизайн языка.
Ну и по хорошему надо освоить какую-нибудь
технологию генераторов парсеров.
Писать парсер руками таки утомительно и чревато глюками.
Но чуток копнув в эту сторону я не нашел вменяемых
генераторов парсеров для С++. Для С и явы - много.
А для C++, что б не просто врапер вокруг С, а
полноценная реентерабельная потокобезопасная библиотека - фиг.
Странно.