Principais ferramentas e técnicas para criar jogos mais robustos para Windows
Um dos custos mais indesejáveis enfrentados pela produção de jogos são as chamadas de suporte. Cada vez que um usuário entra em contato com o suporte ao cliente, o lucro do jogo é reduzido. Embora algumas chamadas para o suporte ao cliente sejam inevitáveis, outras podem ser eliminadas ou reduzidas com o uso de boas práticas de desenvolvimento. Este artigo descreve ferramentas e técnicas que você pode usar para ajudar a reduzir o número de chamadas de suporte recebidas.
Todas as ferramentas descritas aqui são gratuitas e as técnicas são simples o suficiente para serem adicionadas à maioria dos métodos de desenvolvimento.
Ferramentas e técnicas:
- PREfast
- AppVerifier
- Kit de ferramentas de compatibilidade de aplicativos da Microsoft
- Teste de proteção de conta de usuário
- PIX para Windows
- Configuração de detecção
- Habilitar avisos completos do compilador
- Servidores de Símbolo Microsoft
- Relatório de Erros do Windows
- Ferramentas de ajuste de desempenho
- Resumo
PREfast
O PREfast for Drivers é uma ferramenta oferecida pela Microsoft que analisa caminhos de execução em C ou C++ compilado para ajudar a encontrar bugs em tempo de execução. O PREfast opera trabalhando em todos os caminhos de execução em todas as funções e avaliando cada caminho em busca de problemas. Embora essa ferramenta seja normalmente usada para desenvolver drivers e outros códigos do kernel, ela pode ajudar os desenvolvedores de jogos a economizar tempo, eliminando alguns bugs difíceis de encontrar ou que são ignorados pelo compilador. O uso do PREfast é uma excelente maneira de reduzir sua carga de trabalho após o lançamento e os custos de suporte.
O PREfast vem com o Visual Studio Team System e como parte do Kit de Driver do Windows. Para obter mais informações, consulte Compilador PREfast.
AppVerifier
O Microsoft Application Verifier, ou AppVerifier, é uma ferramenta que pode ajudar os testadores, fornecendo várias funções em uma única ferramenta. O AppVerifier foi desenvolvido para facilitar o teste de erros comuns de programação. O AppVerifier pode verificar os parâmetros que são passados em chamadas de API, injetar entrada incorreta para verificar a capacidade de tratamento de erros e registrar alterações no registro e no sistema de arquivos. O AppVerifier também pode detectar saturações de buffer no heap, verificar se uma ACL (lista de controle de acesso) foi definida corretamente e impor o uso seguro de APIs de soquetes.
Embora não seja exaustivo, o AppVerifier pode ser mais um componente da caixa de ferramentas de um testador para ajudar um estúdio de desenvolvimento a lançar um produto de qualidade e reduzir os possíveis custos após o lançamento.
Para obter mais informações sobre o Verificador de Aplicativos, consulte Verificador de aplicativo e Uso do verificador de aplicativo em seu ciclo de vida de desenvolvimento de software.
Uma ferramenta semelhante para drivers, o Driver Verifier, também está disponível. Para obter mais informações, consulte Usando o verificador de driver para identificar problemas com drivers do Windows para usuários avançados na Ajuda e Suporte da Microsoft.
Kit de ferramentas de compatibilidade de aplicativos da Microsoft
O Kit de ferramentas de compatibilidade de aplicativos da Microsoft é um conjunto de ferramentas gratuitas para ajudar os desenvolvedores a verificar rapidamente o desempenho de suas versões em service packs recentemente lançados para Microsoft Windows. Estando prontos para os novos service packs, os desenvolvedores podem evitar ou estar preparados para qualquer problema.
O Application Compatibility Toolkit e mais informações podem ser encontradas em Kit de ferramentas de compatibilidade de aplicativos (ACT).
Teste de proteção de conta de usuário
O Windows Vista e o Windows 7 têm dois tipos principais de contas de usuário: usuário padrão e administrador. As contas de usuário padrão são o tipo preferido para todos os usuários, pois reduzem o risco de danos ao sistema por aplicativos maliciosos. Como o Usuário Padrão tem restrições de acesso e como não poder gravar na pasta Arquivos de Programas ou no HKEY_LOCAL_MACHINE (HKLM) no registro, é importante que os jogos sejam projetados e testados para funcionar com uma conta de Usuário Padrão.
Mais informações sobre esse tópico podem ser encontradas nos artigos Aplicando patches ao software de jogos no Windows XP, Windows Vista e Windows 7 e Controle de conta de usuário para desenvolvedores de jogos.
PIX para Windows
O PIX é uma ferramenta para coletar e analisar informações de desempenho de um aplicativo em execução. O PIX pode reunir dados estatísticos sobre o motivo pelo qual alguns quadros são renderizados mais lentamente do que outros e pode identificar o uso inadequado da API. O PIX também pode ser automatizado para testar a compilação diária e sinalizar mudanças repentinas no desempenho do aplicativo. Ao usar o PIX em uma variedade de configurações de hardware, testadores e desenvolvedores podem ajudar a minimizar as chamadas de suporte relacionadas ao desempenho do jogo.
Configuração de detecção
Os recursos do dispositivo expostos pelos drivers nem sempre estão corretos. Uma solução é usar um sistema controlado por banco de dados para configuração de aplicativos, como o sistema demonstrado no exemplo ConfigSystem, que está incluído no SDK do DirectX. Um modelo de detecção semelhante ao sistema da amostra pode ajudar a identificar os recursos do dispositivo que estão prejudicando o desempenho do jogo e, assim, reduzir o número de chamadas de suporte sobre desempenho.
Habilitar avisos completos do compilador
É uma boa prática restaurar todos os avisos do compilador que foram desativados pelo #pragma warning quando um projeto se torna estável. Os desenvolvedores devem tentar eliminar todos os avisos antes de lançar um produto. Mesmo que um aviso não cause uma falha ou erro no sistema de um desenvolvedor, ele ainda pode causar um problema no sistema de um usuário. Se um aviso não puder ser eliminado, a equipe de teste precisará verificar se o aviso causará poucos ou nenhum erro no sistema de um usuário.
Servidores de Símbolo Microsoft
A Microsoft fornece um servidor acessível pela Internet que fornece arquivos de símbolo para os sistemas operacionais Microsoft Windows, bem como outros produtos da Microsoft. Os símbolos também estão disponíveis no servidor para betas atuais e candidatos a versão de produtos Windows, bem como hot fixes e service packs. Você pode configurar o depurador para baixar símbolos conforme necessário durante uma sessão de depuração, em vez de baixar arquivos de símbolo separadamente antes de uma sessão de depuração. Os símbolos são baixados para um local de diretório especificado e o depurador os carrega de lá.
Para obter mais informações sobre o servidor de símbolos da Microsoft, consulte Símbolos para depuração do Windows.
Relatório de Erros do Windows
O Relatório de Erros do Windows (WER) é um serviço fornecido pela Microsoft para ajudar os desenvolvedores a coletar informações de erro de aplicativos de maneira unificada e organizada. Embora seja totalmente voluntário, os desenvolvedores devem aproveitar esse serviço para ajudar a determinar quais bugs ocorrem com mais frequência. O uso do WER pode ajudar na depuração de problemas comumente relatados, o que ajudará a eliminar chamadas de suporte para os bugs mais comuns.
Para obter mais informações sobre o WER, consulte Análise de despejo de memória.
Ferramentas de ajuste de desempenho
Os desenvolvedores podem usar analisadores de desempenho para ajustar o desempenho de seus jogos. Além do PIX, há vários analisadores de desempenho populares para o Windows, como o Intel VTune Performance Analyzer e o AMD CodeAnalyst Performance Analyzer. Essas ferramentas ajudam a identificar gargalos e a decidir como melhorar o desempenho geral de um aplicativo. Melhorar os gargalos de desempenho antes do lançamento ajudará a reduzir os custos posteriores ao lançamento.
Resumo
Todos os envolvidos no design, desenvolvimento e teste precisam considerar como seu trabalho afetará o custo posterior ao lançamento de um produto. Ao usar as ferramentas e métodos mencionados no processo de produção, o volume de chamadas de suporte pode ser reduzido. Isso, por sua vez, aumentará os lucros, reduzindo os custos posteriores ao lançamento do desenvolvimento de jogos.