Пока близится очередной релиз с кучкой мелких изменений, в голову лезут более глобальные мысли.
С усложнением локаций становится понятно, что прописать все необходимые свойства в блокноте конечно можно, но потребует это занятие недюженного педантизма и самоконтроля. При количестве локаций больше трёх, уже хочется какой-то формы с подсказками в виде обязательных для заполнения полей.
С другой стороны, делать полноценный редактор, как у Александра, с деревом объектов и всем прочим, ну реально уже лень. Я не потяну параллельно еще и этот проект.
Но то что в любом случае нужно делать в движке - это сохранение состояния игры.
Сохранение - это текстовый файл с кодом на том же языке TOML. В начале файла идёт include файла игры, ниже - изменения в объектах, которые игрок успел сделать в процессе игры. Технически, файл сохранения отличается от игры только расширением.
Движок хранит древовидную структуру объектов и текст, из которого каждый объект был сформирован. При этом у каждого объекта, свойства и функции есть служебный флаг, указывающий на его происхождение. Возможны варианты: получен из текста игры, получен из библиотеки, изменён/создан в процессе игры.
Последний вид объектов как раз необходим для формирования сохранения.
НО! практически тот же механизм можно использовать для записи изменений в файл самой игры.
Допустим, находясь в игре, определенной командой вызывается окно редактора для текущей локации или объекта, делаются изменения исходного текста, которые сразу же применяются. После чего игра сохраняется. И получается, что игра пишется в процессе игры в саму себя...
В голове пока не совсем уложилось, но мысль кажется интересной...