Интерфейс ТОМа достаточно далеко ушел от консольного способа вывода информации. Есть различные области интерфейса: location, text. Есть команды, управляющие потоком текста: pause, clear. После появления веб-интерфейса возможность разнообразить внешний вид игры выросла еще больше.
Следующим этапом должны быть произвольные именованные каналы вывода текста.
Суть в следующем:
Разработчик игры описывает набор необходимых ему каналов и далее при выводе текста в игре использует свои собственные каналы наряду со стандартными.
На стороне интерфейса в файле .htm разработчик добавляет свои java скрипты, обрабатывающие дополнительные каналы.
Способы использования такой возможности бесконечны. Приведу самые очевидные:
- отдельная область для вывода содержания инвентаря;
- отдельная область для вывода отладочных сообщений;
- команды для смены цвета фона, или любых других эффектов, реализуемых через js.
Технически, веб-интерфейс работает по технологии Ajax раз в секунду получая от сервера данные в формате JSON. При добавлении каналов в объекте JSON появятся новые элементы, имена которых будут соответствовать именам новых каналов. Как их будет использовать разработчик игры зависит только от него.
Что необходимо обдумать:
Синтаксис создания и описания канала. Канал должен иметь уникальное имя и набор управляющих флагов.
Синтаксис использования каналов при выводе текста. Сейчас используется формат html-тегов, можно конечно, оставить и так как есть.
Если есть какие-нибудь идеи или соображения - пишите! Обсудим =)
P.S. Задачка стратегическая для обдумывания. Обмен между движком и интерфейсом всё равно нужно будет переделывать когда-нибудь.