Pensando se existe alguma maneira de executar um jogo XNA sem exibir nada.
Eu tenho um jogo de trabalho que roda em uma configuração de servidor do cliente em que um jogador é o host e outras pessoas podem se conectar ao seu jogo.
Agora eu quero poder rodar o jogo como um host em um servidor decicado sem placa gráfica, basicamente não quero executar nenhuma lógica Draw ().
Eu realmente preciso passar por todo o jogo e remover todas as referências ao XNA?
Como as pessoas fizeram isso?
Edição : A razão pela qual eu quero fazer isso é porque eu tenho uma configuração de servidor cliente em funcionamento no jogo e eu não quero fazer um programa de servidor "sem cabeça" separado.
Draw
comoif (headless) { return; }
?Respostas:
Basta criar um projeto C # normal e incluir os binários XNA. Isso dará acesso aos tipos de dados e métodos de estrutura do XNA. Meu jogo faz isso e funciona perfeitamente.
fonte
A resposta é: não faça isso. Se você não precisa fazer um jogo - ie; você não está procurando tirar proveito das coisas que o XNA oferece, por que fazê-lo? Você realmente deveria estar desenvolvendo um software personalizado que possa simular com sucesso o jogo que deseja jogar - normalmente um sistema de console de algum tipo. Se você fornecer mais detalhes, atualizarei minha resposta com uma resposta menos genérica.
fonte
Bem, se você simplesmente deseja eliminar as chamadas de draw, você tentou usar isso: Suprimir Draw
fonte
Para aproveitar a sugestão de sem título, você pode incluir apenas referências às DLLs e usá-las sem usar nenhum dos loops de jogo padrão. Para exemplos disso, você pode ver a série de tutoriais sobre formas de win win no clube de criadores: http://xbox.create.msdn.com/en-us/education/catalog/sample/winforms_series_2
Além disso, se você quiser ficar ainda mais sofisticado, poderá substituir todo o ciclo do jogo XNA pelo seu próprio costume e controlar todo o processo. Para obter mais informações sobre isso, consulte /programming/6361691/custom-xna-game-loop-in-windows
fonte
Se você alterar o Tipo de Saída de um Projeto XNA para "Aplicativo de Console", o aplicativo simplesmente abrirá um Console vazio na inicialização, sem abrir a janela do jogo. Isso pode ser útil para o que você está tentando realizar, já que deseja fazer testes e pode usar muito facilmente o console como uma janela de depuração.
fonte
Você também pode substituir a atualização e fazer chamadas e simplesmente retornar.
Além disso, não chame o dispositivo gráfico em suas principais classes de jogos, o que deve impedir que a janela xna seja instanciada no jogo, agindo como seu servidor.
fonte