L'industria dei giochi utilizza test automatici per parti visive di giochi / rendering? Come?

10

Alcune parti di un gioco sono facili da testare in modo automatico (logica, matematica, gestione degli input); ma c'è anche molto di ciò che è puramente visivo e non facilmente testabile.

Sarei sorpreso se l'industria dei giochi lasciasse tutto questo ai test manuali; ci sono abbastanza soldi per indovinare che lo sforzo è stato messo in grado di testare la regressione almeno alcuni aspetti visivi dei giochi.

È vero? In tal caso, quali sono i possibili modi in cui è possibile testare il rendering dei giochi? Catturare l'output e confrontare le immagini (può essere affidabile?)? Intercettare i dati dalla scheda grafica a un livello basso? Catturare informazioni sui vertici (ecc.) Sulla sua strada verso la scheda grafica? Sembra che ci siano molte possibilità; ma non riesco a trovare alcuna informazione su questo: (

Nota: questa domanda è stata contrassegnata come un duplicato di questo , ma non sto chiedendo informazioni su specifiche tecniche / framework / strumenti su come farlo, ma più in generale le idee su questa pratica, e quali sono le reali l'industria dei giochi fa (se lo fa a tutti).

    
posta Danny Tuppeny 28.09.2014 - 21:34
fonte

1 risposta

1

Qualsiasi azienda farà in modi diversi, anche i diversi giochi saranno testati in modo diverso.

  • Forse la mancanza di informazioni sulla grafica è dovuta al fatto che il rendering è davvero piuttosto "ripetitivo" (non riesco a pensare una parola migliore, mi dispiace) e in una tipica scena complessa ci saranno abbastanza combinazioni primitive, quindi la maggior parte delle persone può vedere facilmente la maggior parte i glitch (ad eccezione degli shader meno usati, ma è possibile utilizzare un livello speciale / demo di stress-shader). Ricorda che gli umani erano cacciatori per migliaia di anni :) quindi probabilmente siamo progettati per vedere i difetti.
  • Anche la libertà di movimento presente nella maggior parte dei giochi e la casualizzazione di altri elementi in un tipico gioco che li fa sentire più "realistici" di solito sono un incubo per l'applicazione di test automatici puri: infatti un tester umano troverà di più rapidamente e più errori di qualsiasi test automatico. Puoi codificare una logica per i tempi di registrazione, le statistiche e le posizioni / angoli / altre variabili ogni volta che un tester sta giocando ... quindi anche su test non automatizzati avrai feedback come test automatici. Di solito è utile essere in grado di riprodurre una sessione registrata con beta tester (e di solito è anche una buona funzionalità per il gioco finale).
  • Informazioni sulle statistiche di rendering, ad esempio puoi ottenere: le statistiche di conteggio delle call draw per ognuno degli shader (dato che farai le chiamate, è sufficiente mantenere alcuni contatori), il conteggio dei caricamenti (lo stesso, tu controllerà quando i buffer gpu vengono aggiornati), i tempi (non solo i fps, anche gli intervalli tra ogni chiamata), ecc. Se necessario (ma credo che non sia raccomandato tranne quando si ricerca un errore specifico) è possibile ottenere statistiche dal scheda grafica stessa (ad esempio puoi ottenere i tassi di riempimento e altri utilizzando le query di occlusione).
  • Infine, altri motivi per utilizzare i beta tester sono che le diverse schede grafiche avranno probabilmente comportamenti diversi ... potrebbe essere necessario avere una farm di macchine di prova o_O. Gli amati beta tester umani si preoccuperanno di tutto quel casino.

Spero che sia d'aiuto!

Dichiarazione di non responsabilità: non sono un betonester, sono uno sviluppatore XDDD.

    
risposta data 23.10.2014 - 02:53
fonte

Leggi altre domande sui tag