Sammanfattning och resultat – Block 1

Inledning

Tanken med min fördjupning under block ett var att se hur ett informationsinsamlings verktyg förändrar arbetet med att hantera buggar i ett Unreal Engine 3 Multiplayer Spel.

Metoden jag har valt att använda mig av för att svara på frågan är komparativ, alltså att jag ser hur processen med bugghantering fungerade innan och sedan jämför och ser vilka delar som har underlättats eller försvårats med hjälp utav verktyget som jag själv skulle utforma och testa.

Min motivation till att försöka utforma ett verktyg och beskriva dess inverkan på mitt arbete kommer sig utav att jag spenderar mycket tid med den här delen utav spelutveckling och vill förbättra processen och kunna hjälpa någon annan att göra det samma.

Min frågeställning lyder:

Hur kommer ett informationsinsamlingsverktyg förändra arbetet med att hantera tekniska problem i ett Unreal Engine 3 Online Multiplayer spel?

Bugghanterings processen

Under arbetets gång har jag beskrivit processen jag använder för att ta hand om tekniska problem och buggar under utvecklingen utav ett spelprojekt jag är involverad i.

Processen kan beskrivas som följande.

Jag utformar programkod för att utföra en speciell funktion som ska framkalla ett önskat beteende.

Om det önskade beteendet inte uppstår så här tidigt i processen så brukar det vara en bra idé att se över lösningen som utformats och se vad som kan ha gått fel. Eller att börja om och hitta en annan lösning.

Efter att det önskade beteendet kan påvisas måste det testas i sin helhet med andra funktioner som kan påverka det önskade beteendet för att se så att beteendet förändras på rätt sätt och inte framkallar oönskade beteenden.

Efter att funktionaliteten har blivit testad utav mig så kan den delas med resten utav utvecklingsteamet som också testar funktionens beteende under interna speltest för att antingen konfirmera att funktionen framkallar det önskade beteendet eller att något har gått fel och då måste felet beskrivas så hoppas utförligt att jag kan få en ledtråd om var felet befinner sig i funktionaliteten och vad som kan behöva åtgärdas.

Efter att en funktion har blivit testad av oss kan vi låta vår spelarbas testa och rapportera problem med funktionens beteende.

Om ett oönskat beteende uppvisas i det här steget är det tydligt att funktionen kan behöva testas utav större mängder människor för att kunna lösa felet.

Efter att jag försökt åtgärda felet måste funktionen testas igen för att se så att ett önskat beteende uppstår, detta kan ta lång tid med vissa typer utav buggar som behöver testas utav många användare under en längre tid och det kan vara svårt att veta om felet faktiskt är åtgärdat eller om det bara uppstår väldigt sällan.

Verktygets utformning

Min första tanke med verktyget var att det skulle kunna hitta buggar automatiskt och kunna komplettera communityns input. Den tanken förändrades ganska snabbt då jag skulle se över verktygets funktionalitet. Att bygga ett bugg letnings program som utför en människas jobb skulle behöva en massa artificiell intelligens som skulle ta mer tid att skriva än vad att bara fixa alla buggar utan det skulle ta. Jag vet inte ens hur jag kom på den första tanken men jag gick tillbaka till att kolla vart i bugghanterings processen man kunde göra arbetet lättare.

Det sista steget i att faktiskt se om en bugg har blivit löst är ett ypperligt steg att applicera en informations insamlare av anledningen att eftersom jag redan försökt lösa felet vet jag hur felet uttrycker sig och då kan jag detektera det och skicka information om att problemet fortfarande uppstår och få statistik på hur ofta problemet uppstår.

Det var vid detta tillfälle jag började kunna utforma en hypotes om hur verktyget kommer kunna hjälpa mig.

Jag har beskrivit de mer tekniska hindren i min text nedanför men här är en bild utav hur verktyget slutligen fungerade.

verktyg

Resultat

Verktyget sattes i bruk fredagen 09-27 och började där sin informations insamling. Under dess nu ca en väckas långa användning har den samlat in statistik på en rad olika saker men det mest intressanta är de ganska stora siffrorna som beskriver hur spelare misslyckas med att gå in på spelservrar och inte får fram några resultat i server listan.

rawinfo

Den första spalten är Flaggans namn, den andra är datumet då det sist inträffade och den tredje är antalet gånger problemet inträffat.

Dessa två rödmarkerade buggarna hade jag inte förväntat mig vara ett så stort problem och är bevisligen inte åtgärdade och behöver åtgärdas fortast möjligt.

”JoinGameFailed” uppstod när en klient fick fel information ifrån spelservrarna om vilken adress spelaren skulle skickas till detta kunde åtgärdas igenom att om spelservrarna skickade felaktig data och misslyckades så kopplades spelaren direkt in på en spelserver istället för att gå igenom master servrarna och nu inväntar jag mer statistik som förhoppningsvis kan konfirmera att problemet är löst.

Jag upptäckte också en intressant bugg i informations flödet där flaggan ”GameStarted” egentligen är hur många gånger användarna varit i menyn vilket ger en missvisande bild utav hur många som spelar spelet.

Slutsats

Verktyget förbättrade slutsteget i vilket information om felets fortsatta existens kunde levereras direkt till mitt skrivbord och klargöra i vilken utsträckning felet fortfarande uppstår.

För att sedan underlätta bedömningen av felets utsträckning och bestämma om felet måste åtgärdas direkt eller om det kan ingå i en prioriterings process.

Något negativt med det hela är att informationen ifrån verktyget kräver ett visst underhåll för att kunna presentera relevant information vilket kräver markant mer tid.

På det hela taget skulle jag säga att verktyget höjer kvalitén på spelet och kan göra det tydligt så fort en större mängd användare upplever oönskade beteenden och har analytiska fördelar.

Block 2

Jag återkommer.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s