Wiem, że większość gier przechowuje tekst dialogowy w plikach, ale widziałem też, że kilka gier tekstowych faktycznie programuje zawartość (mapę, opcje, możliwe polecenia gracza, tekst fabuły) do kodu gry.
Mogę wymyślić kilka powodów, ale jaki jest główny powód, dla którego nawet gry tekstowe przechowują wszystko w plikach poza programem?
Szczegóły implementacji niewiele różnią się między trzymaniem zawartości w czymś takim, jak popularny format XML, analizowaniem go, a następnie renderowaniem map / wyświetlaniem tekstu na podstawie zmiennych utworzonych z pliku XML, a po prostu rezygnacją z pliku XML. Oba kończą się łańcuchami, które wysyłają na ekran. Czy różnica nie jest tylko zapisem?
Niektóre gry zawierają nawet grafikę (ASCII art?) Wewnątrz kodu. Wiem, że to nie jest właściwe i mogę odgadnąć kilka powodów, dla których jest to złe, ale nie znam też głównego powodu.
Bardzo popularne jest to, że większość treści znajduje się poza programem. Nawet Dwarf Fortress nie używa rzeczywistych znaków ASCII, ale obrazy znaków ASCII załadowane do pamięci.
Pytam przede wszystkim, ponieważ tworzenie, analizowanie i praca z plikami XML to trochę PITA. Wiesz ... w porównaniu do leniwej alternatywy polegającej na tym, że każdy unikalny loch (treść) ma swoją klasę.
just making every unique dungeon (content) its own class.
To tylko sprawiło, że zadrżałem. Oddzielenie danych od logiki jest dla mnie tak fundamentalną zasadą, że jestem zaskoczony, że programiści wciąż ją łamią.