Нет ничего лучше, чем процедура настройки переменной, компиляция кода, которая занимает несколько минут, выполнение кода, понимание того, что ваша настройка была в неверном направлении, и повторение процесса снова и снова.
Я хотел бы начать взаимодействовать с моей игровой логикой во время сеанса. Как вы справляетесь с этим?
Я был бы открыт, чтобы услышать решения для iOS, C / C ++ и C # / XNA.
источник
В C / C ++ простой трюк состоит в том, чтобы поместить вашу настройку в статическую переменную, вызвать точку останова, изменить статическую в отладчике, и она остается постоянной до выхода.
источник
HTTP Logging - это огромная помощь, и его не сложно запустить и запустить. Вы даже можете использовать движок Google App как быстрый способ запустить это. Данные всегда полезны.
Скрипты и XML могут быть перезагружены на лету и не требуют перезагрузки. Позвольте им потерпеть неудачу, не останавливая игру. Это дает много власти художникам, тестировщикам и дизайнерам.
Игровое меню отладки Простое игровое меню отладки, которое вы можете вызвать в детстве и заморозить игру, используя как движки движка, так и ползунки игры. Позволяет вам настраивать номера клавиш во время выполнения и, возможно, выполнять одну или две функции отладки или информационные дампы.
Я также люблю сокеты ASYNC, как упомянуто в ответе Дэвида
Простота использования Ваша игровая команда должна иметь возможность добавлять эти инструменты и использовать их очень легко, иначе они просто не привыкнут.
источник
Я знаю, что Шон Джеймс уже сказал это . А если серьезно, Visual Studio (в частности, инструменты отладки) является потрясающим для этого.
Я не очень часто использую C ++ в эти дни, поэтому я не уверен, насколько хорошо они там применяются. Но для C # (в том числе в C # Express) у вас есть:
И это может взорвать ваш разум (он взорвал мой, когда я узнал об этом):
Немедленное окно на самом деле довольно сложно найти (оно находится в меню Debug / Windows).
Единственный существенный недостаток использования отладчика Visual C # заключается в том, что он не любит изменение
const
значений. Поэтому я обычно делаю свои игровые ценности,static
пока я их настраиваю.(Также: очень помогает наличие двух мониторов.)
Теперь я должен признать, что приведенный выше метод включает в себя приостановку вашего приложения - что может быть неудовлетворительно медленным для некоторых особенно неприятных вещей.
В этих редких случаях я делаю (в XNA) просто взлом небольшого кода (возможно, используя Edit и Continue, как описано выше), чтобы захватить
Keyboard.GetState().IsKeyDown()
(на самом деле у меня есть для этого более простой в использовании упаковщик) и настроить значение по нажатию клавиш. Все более сложное не стоит усилий.На практике гораздо важнее то, что я могу визуализировать (а не изменять) значения в режиме реального времени. Для этого у меня есть хороший маленький класс, который может буферизовать строки и текст, который должен быть нарисован в конце фрейма. Это также полезно для быстрого создания прототипов.
(И еще раз, приятно иметь возможность «Редактировать и продолжить» эти визуализации во время выполнения.)
(источник: andrewrussell.net )
( отсюда )
Боюсь, у меня нет «хорошего» источника для публикации в данный момент (возможно, позже). Но это в основном просто список строк (для этой библиотеки круглых строк ) и строк (для встроенного в XNA SpriteBatch). Просто сделайте это
public static
где-нибудь и нарисуйте все с соответствующим преобразованием, чтобы все появилось в «мировом пространстве» (а затем очистите списки для следующего кадра).источник
Написание простой системы отражения для C / C ++ довольно тривиально. Таким образом, вы можете просмотреть все свои переменные в игре (будь то с помощью сетевого инструмента, клавиатуры или джойстика) и изменить их в соответствии с вашим сердцем. Это работает для меня, но все приведенные выше ответы одинаково действительны.
Отредактировано, чтобы добавить: Этот поток теперь о настройке, а не отладке согласно заголовку потока.
источник
Одним из решений, которое я видел в нескольких студиях, является внешнее приложение для отладки, которое подключается к вашей программе через сеть. Это приложение показывает конкретные открытые переменные и позволяет редактировать их в режиме реального времени. Добавление новых переменных - это вопрос добавления некоторых макросов в код игры.
Первоначальная настройка макросов на стороне игры, протокола сервер / клиент (решения, которые я видел, только сериализуют XML и обратно) и написание клиента, велика. Однако это чрезвычайно полезно, тем более что использование сети для связи означает, что вы можете работать на любой платформе.
источник
Загрузите и прочитайте переменную в текстовый файл и запустите ее, используя специальную привязку клавиш или команду из консоли.
источник