Изменения

Перейти к навигации Перейти к поиску
№5 Пишите, помня об отладке.
Inform 7 отлично подходит для клепания игр с минимальным знанием о программировании. Но не так хорош в поощрении использования проверенных временем полезных навыков (например, "не использовать глобальные переменные"), что становится все большей проблемой с увеличением проекта. Вдобавок, он скрывает процесс компиляции и выполнения за ширмой дружелюбного интерфейса, и это усложняет понимание причин возникающих проблем.
Так как в I7 отсутствуют функции, присущие универсальным языкам, такие как пошаговое отслеживание исполнение или !profiling tools to help optimize for speed!профайлер, отладка становится проблематичной. Нет консоли для сообщений об ошибках, и вы не сможете проверить или изменить значения переменных на лету.
И при этом, вдвойне важно задумываться о предстоящей отладке, пока вы создаете дизайн и программируете. Напишите себе побольше вспомогательных глаголов, которые позволят изменять важные игровые переменные, быстро перемещаться во времени и пространстве, начинать и останавливать специальные события, менять внтуреннюю работу NPC. Воспользуйтесь существующими отладочными расширениями, такими как великолепный "Simple Debugger" от Майкла Хилборна, который позволяет вам создавать внутриигровые объекты в качестве !debugging foci!"точек отладки", а потом просто включать и выключать вывод отладочной информации, связанной с этими объектами.
Для Glulx-игр вы можете использовать расширение "Flexible Windows" от Йона Ингольда для создания тестирующих команд, которые открывают окна с беспрерывно выводящейся отладочной информацией. В Blue Lacuna у меня была команда для отслеживания главного NPC, которая открывала пятистрочное окно вверху экрана, показывающее несколько дюжин переменных, связанных с его состоянием, местонахождением, внутренними переменными, с участием в диалогах и со всем остальным, что мне могло понадобиться. Позже я создал "god mode", в котором через внутриигровое меню мог менять большинство из этих переменных.

Навигация