Я знаю, что большинство игр хранят текст диалога в файлах, но я также видел несколько текстовых игр, которые фактически программируют контент (карту, варианты, возможные команды игрока, текст истории) в коде игры.
Я могу придумать несколько причин, но какова основная причина, почему даже текстовые игры хранят все в файлах вне программы?
Детали реализации мало отличаются между хранением контента в чем-то вроде популярного формата XML, его анализом, затем рендерингом карт / отображением текста на основе переменных, созданных из файла XML, и простым отказом от файла XML полностью. Они оба заканчиваются строками, которые выводятся на экран. Разве это не просто запись?
Некоторые игры даже содержат графику (ASCII art?) Внутри кода. Я знаю, что это неправильно, и я могу догадаться о нескольких причинах, почему это плохо, но также не знаю, почему это так.
Очень популярно иметь большую часть контента вне программы. Даже Dwarf Fortress не использует реальные символы ASCII, но изображения символов ASCII загружаются в память.
Я в первую очередь спрашиваю, потому что это немного PITA для создания, анализа и работы с файлами XML. Вы знаете ... по сравнению с ленивой альтернативой простого превращения каждого уникального подземелья (контента) в свой класс.
just making every unique dungeon (content) its own class.
Это только заставило меня дрожать. Отделение данных от логики является для меня настолько фундаментальным принципом, что я удивлен, что разработчики все еще нарушают его.