Com o desenvolvimento sozinho, tenho apenas recursos limitados à minha disposição, ou seja, um PC com o qual desenvolvo e testo o jogo. então eu só sei ao certo que meu jogo funciona com essa configuração.
Que opções tenho para testar o jogo nas diversas combinações diferentes de hardware / sistema operacional? É um jogo de desktop do Windows.
hardware
requirements
testing
Crippeoblade
fonte
fonte
Respostas:
De cabeça para baixo, sugiro tentar rodar o jogo em alguns outros PCs de amigos ou parentes. Depois disso, você pode considerar uma forma de teste beta, ou seja, publicar uma demonstração ou algo assim para obter feedback da comunidade.
fonte
Uma das minhas maneiras favoritas de encontrar essas informações é usar máquinas virtuais.
Como você pode configurar o hardware e a memória aos quais a VM é permitida, você pode testar uma ampla variedade de configurações no seu próprio PC. Isso também permite que você teste em vários sistemas operacionais.
fonte
Você deve ter uma idéia aproximada do minspec apenas desenvolvendo seu jogo - por exemplo, se você fez uma escolha explícita para usar o D3D10 +, obviamente está selecionando máquinas XP. Então esse é um lugar para começar.
Encontre uma maneira de testar o maior número possível de máquinas, idealmente após implementar alguma maneira de reunir métricas de desempenho automaticamente (pois os usuários podem não ser confiáveis), além de informações não identificáveis sobre a máquina em que o jogo está sendo executado (processador (es), contagem de núcleos, tipo de GPU, RAM, SO, etc. - veja o tipo de dados que a Pesquisa de hardware e software do Steam coleta ). Uma das melhores maneiras de fazer isso é dar o seu jogo a amigos e familiares, como já foi sugerido várias vezes. Outra maneira pode ser abordar uma comunidade de desenvolvedores de jogos de hobby e verificar se eles estão interessados em testar seu jogo. Não tenho certeza se isso seria uma pergunta apropriada aqui no GDSE, mas você provavelmente encontrará algumas pessoas na área de 'bate-papo' e também poderá procurar / postar em sites como:
Todos esses sites têm fóruns ou sub-fóruns dedicados de alguma maneira a exibir jogos e, portanto, você pode obter uma resposta razoavelmente boa deles. Certifico-me de divulgar antecipadamente as estatísticas que seu jogo coleta e / ou envia, e por que você as coleta. As pessoas podem ficar irritadas com isso se descobrirem depois do fato.
Observe que a pesquisa Steam também é uma ferramenta útil para medir o que um minspec deve ser - pode ajudá-lo a ver qual a relação custo / benefício de oferecer suporte a um recurso ou classe de hardware específico.
fonte
Verifique:
- Quanta RAM ele usa
- Quanta textura + memória GPGPU ele usa
- Taxa mínima de quadros / taxa de quadros atual * Velocidade da CPU * SpeedUpFactorOf (número mínimo de núcleos que você pode usar)
- Equação semelhante para unidades de cálculo de GPU
- qual nível de opengl / directx / cuda que seu mecanismo de jogo requer do adaptador gráfico
- quanto espaço em disco a instalação + informações do usuário levam ...
Teste também em várias configurações de hardware.
fonte
Basicamente, você deseja testar em tantas outras máquinas quanto possível - do equipamento de jogos de núcleo duro do seu amigo à máquina apenas para e-mail e internet da sua gran. Especialmente a máquina somente para e-mail e internet da sua avó, porque provavelmente está carregada com cruftware e outras coisas que interferem e tornam o jogo lento.
O teste de compatibilidade com PC é uma grande e desagradável lata de worms, e há uma razão pela qual o teste profissional é caro. Então, você deseja testar o maior número possível de cenários ímpares.
Acho que o teste beta é o caminho a seguir, tanto com amigos e familiares quanto com um círculo mais amplo na sua comunidade de fãs. O principal: não confie em relatórios anedóticos. Seus amigos podem confiar, na verdade, para responder, mas a comunidade em geral não, a menos que você facilite para eles.
Crie o logon no seu aplicativo para fornecer informações concretas sobre o FPS, o tempo de inicialização, etc. Dê ao usuário um questionário fácil, idealmente incorporado ao jogo, onde ele poderá informar se achou ou não bom. E tenha essas estatísticas e o registro facilmente por e-mail / transmissíveis para você, para que você possa estudar mais tarde. Quanto mais estatísticas você recuperar, melhor será a sensação de que seu título é a) funcionando em outros sistemas eb) funcionando bem em outros sistemas.
fonte
Teste no maior número possível de PCs (isso também ajudará a detectar todos os erros específicos). Como desenvolvedor, você deve conhecer seus principais gargalos - concentre-se em enfatizá-los. Você pode perguntar a seus amigos, colegas de trabalho, namorada, pais, muitas pessoas nos fóruns.
PS Apenas para referência:
fonte
Para requisitos, eu assumiria o mínimo necessário para executar o seu jogo. Vai depender de quais tecnologias você usa para desenvolver seus jogos.
Por exemplo, se você usar APIs específicas, como D3D9 ou OpenGL 3.0, será necessário especificar isso, porque determinadas APIs não são compatíveis com versões anteriores.
Se você criar com o Windows com estrutura .net, também precisará especificar isso também.
Para requisitos de desempenho, experimentar máquinas diferentes é praticamente o melhor caminho a seguir, embora você possa medir o desempenho relacionado por cálculo.
por exemplo, se sua placa de vídeo atual for executada a 60 qps e outro computador com a configuração semelhante, exceto que a placa de vídeo tenha metade da sua velocidade, deverá executar aproximadamente a metade da velocidade da sua máquina. Novamente, isso é apenas uma estimativa, muitas outras propriedades terão um desempenho diferente, mas você pode usar essas informações básicas para testar seu jogo em dispositivos segmentados.
Espero que ajude, e qualquer um pode me corrigir por qualquer motivo.
fonte
Dependendo do seu mercado-alvo (presumo que não seja 3D de ponta, ou seja, são necessárias placas gráficas caras), gostaria de escolher uma seleção de placas gráficas antigas de algum lugar como o EBay, para que você possa testar tanto na NVidia quanto na ATi cartões.
fonte
É sempre perfeito obter feedback da comunidade, conforme mencionado. Mas onde conseguir comunidade e pessoas que tentarão testá-lo? A publicação em alguns fóruns de jogos independentes ajudará, mas o problema será obter feedback real.
Apenas uma pequena porcentagem das pessoas que testarão um jogo escreverá a você sua configuração exata e os problemas que ocorreram. As pessoas simplesmente não fazem isso. Uma maneira muito melhor é habilitar algum tipo de referência na leitura da configuração do sistema dos usuários. Peça ao usuário para executar algum benchmark de um botão. Ofereça alguns números e horários (sim, as pessoas gostam :-)) e deixe-o comparar com outros usuários (com o envio de dados) ... Isso ajudará.
E então você tem um banco de dados cheio de configurações, resolução de tela, tempos de renderização e recursos com falha ...
Se você estiver no Windows, ligar para o DXdiag o ajudará a ler a configuração dos usuários. Mas existem alguns programas que você pode usar em outros sistemas.
fonte
Como mencionado por outros, a melhor maneira é disponibilizar a versão beta e coletar feedback da comunidade para obter resultados confiáveis.
Eu também gostaria de sugerir o uso do ESXi. É uma solução de máquina virtual da VMWare. Não desanime porque é uma solução de VM. ESX é muito mais baixo nível.
Isso provavelmente seria ideal para você, pois você tem uma máquina. Você pode testar diferentes sistemas operacionais, configurações de hardware (exceto o hardware gráfico, o ESXi usaria o que você instalou em sua máquina).
É basicamente o seu próprio sistema operacional muito reduzido que você pode instalar outros sistemas operacionais. Nós o usamos no trabalho para compatibilidade entre muitos SOs. É muito rápido e confiável, quase tão sensível quanto uma máquina de baunilha.
Eu sei que os requisitos de hardware é o que você está procurando e o ESXi possui um recurso muito bom, onde você pode limitar a quantidade de RAM, CPU ou espaço em disco usado pelo sistema operacional e potencialmente simular como o seu jogo funcionaria com algo baixo. CPU final ou pouca memória, CPU de ponta ou uso de memória (limitado pelo seu hardware real).
Portanto, se você tivesse um PC com especificações muito altas, poderia instalar o ESXi nele, instalar os sistemas operacionais que você quisesse e brincar com o uso da CPU e da memória (acredito que você pode até modificar o número de núcleos que o sistema operacional também usa!)
Aqui está um link para ele: http://www.vmware.com/products/vsphere-hypervisor/index.html
Melhor coisa sobre isso? É 100% grátis!
fonte
A execução de algum tipo de ferramenta de criação de perfil seria uma maneira. Para programas Java, você pode usar o VisualVM ( https://visualvm.github.io/ ). A Wikipedia lista alguns outros. Veja: https://en.wikipedia.org/wiki/List_of_performance_analysis_tools . O mesmo vale para a memória de depuração. Veja: https://en.wikipedia.org/wiki/Memory_debugger
Basicamente, isso significa verificar a memória e o uso da CPU em algum intervalo regular durante a execução do programa / jogo. Então você calcula um intervalo médio e é disso que precisa na maioria das vezes. Idealmente, isso seria automatizado (por consistência e precisão) e você desejaria excluir as quantidades desses recursos consumidos, compartilhados ou usados por outros processos. Não pode haver algumas questões prioritárias escondendo o fato de que seu programa pode usar mais memória se ele estava disponível. Ou seja, se o sistema operacional estava super ocupado, seu programa pode fundar um pouco por não ter memória suficiente.
Por fim, você precisa testar / fazer benchmark / perfil e depois analisar esses testes. É bom ter uma métrica de desempenho predefinida para comparar. Por exemplo, em um FPS, você pode querer mais de 30 FPS para jogos jogáveis / agradáveis. Com base nisso, você definiria a barra mínima em / acima das especificações de hardware necessárias para atender a mais de 30 FPS em alguma porcentagem do tempo (sempre é possível que o usuário execute muito de uma vez e cause travamentos e travamentos).
Como já foi dito, você realmente precisa de outras pessoas para testá-lo em uma variedade de hardwares diferentes. Em um mundo ideal, você teria vários grupos com hardware semelhante dentro de um grupo e conduziria algum tipo de controle versus testes experimentais para ver se mais / menos memória, CPU, GPU importava quando os outros fatores eram mantidos constantes.
fonte