Хотите знать, есть ли возможность запустить игру XNA, не отображая ничего?
У меня есть рабочая игра, которая работает в настройке клиент-сервера, где один игрок является хостом, а другие люди могут подключиться к его игре.
Теперь я хочу иметь возможность запускать игру в качестве хоста на назначенном сервере без видеокарты, в основном я вообще не хочу запускать логику Draw ().
Мне действительно нужно пройти всю игру и удалить все ссылки на XNA?
Как люди сделали это?
РЕДАКТИРОВАТЬ : Причина, по которой я хочу это сделать, заключается в том, что у меня в игре настроен рабочий клиент-сервер, и я не хочу создавать отдельную «безголовую» серверную программу.
Draw
какif (headless) { return; }
?Ответы:
Просто создайте обычный проект на C # и включите двоичные файлы XNA. Это даст вам доступ к типам данных XNA и методам каркаса. Моя игра делает это и работает без нареканий.
источник
Ответ: не делай этого. Если вам не нужно делать игру - т.е. вы не хотите воспользоваться преимуществами того, что предлагает XNA, зачем это делать? Вы действительно должны заняться разработкой пользовательского программного обеспечения, которое может успешно имитировать игру, в которую вы хотите играть - обычно это какая-то консольная система. Если вы дадите более подробную информацию, я обновлю свой ответ менее общим ответом.
источник
Хорошо, если вы просто хотите устранить вызовы на ничью, вы пытались использовать это: Подавить ничью
источник
Чтобы основываться на предложении без названия, вы можете просто включить ссылки на библиотеки DLL и использовать их без использования каких-либо игровых циклов по умолчанию. Примеры этого вы можете посмотреть в серии учебных пособий по winforms в клубе авторов: http://xbox.create.msdn.com/en-us/education/catalog/sample/winforms_series_2
Также, если вы хотите стать еще более навороченным, вы можете заменить весь игровой цикл XNA своим собственным и контролировать весь процесс. Для получения дополнительной информации об этом посмотрите /programming/6361691/custom-xna-game-loop-in-windows
источник
Если вы измените Тип вывода проекта XNA на «Консольное приложение», приложение просто откроет пустую консоль при запуске, даже не открывая фактическое окно игры. Это может быть полезно для того, что вы пытаетесь выполнить, поскольку вы хотите выполнять тесты, и вы можете очень легко использовать консоль в качестве окна отладки.
источник
Вы также можете переопределить обновление и перевести вызовы и просто вернуться.
Кроме того, не вызывайте графическое устройство в ваших основных игровых классах, что должно помешать экземпляру окна xna в игре, действующей в качестве вашего сервера.
источник