Real Time Integrated Tools for Video Game Development – a Usability Study
Total Page:16
File Type:pdf, Size:1020Kb
Linköping University | Department of Computer and Information Science Master’s thesis, 30 ECTS | Datateknik 2020 | LIU-IDA/LITH-EX-A--20/050--SE Real Time Integrated Tools for Video Game Development – a usability study Integrerade verktyg för utveckling av datorspel Björn Detterfelt Samuel Blomqvist Supervisor : Fredrik Präntare Examiner : Erik Berglund Linköpings universitet SE–581 83 Linköping +46 13 28 10 00 , www.liu.se Upphovsrätt Detta dokument hålls tillgängligt på Internet - eller dess framtida ersättare - under 25 år från publicer- ingsdatum under förutsättning att inga extraordinära omständigheter uppstår. Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka ko- pior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervis- ning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säker- heten och tillgängligheten finns lösningar av teknisk och administrativ art. Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsman- nens litterära eller konstnärliga anseende eller egenart. För ytterligare information om Linköping University Electronic Press se förlagets hemsida http://www.ep.liu.se/. Copyright The publishers will keep this document online on the Internet - or its possible replacement - for a period of 25 years starting from the date of publication barring exceptional circumstances. The online availability of the document implies permanent permission for anyone to read, to down- load, or to print out single copies for his/hers own use and to use it unchanged for non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional upon the consent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility. According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement. For additional information about the Linköping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its www home page: http://www.ep.liu.se/. Björn Detterfelt © Samuel Blomqvist Abstract The video game industry can be ruthless. As a developer, you usually find yourself working in the popular third-party development tools of the time. These tools however might not provide the best usability and quality of life one desires. This can lead to a lot of frustration for the developer, especially when the development enters a crunch pe- riod of long and hard work. We believe some of the frustration can be avoided, and we believe this can be done by creating effective, functional and user-friendly integrated de- velopment tools specialized for the development environment. In this master’s thesis we investigated just that, how integrated game development tools can be designed to be usable in terms of effectiveness and learnability. The investigation was performed by designing and implementing an integrated game development tool. The development of the tool was performed iteratively with user testing between every iteration to find usability defects, allowing the tool to be refined and improved throughout the development process. To fin- ish off the development process, there was a final user test where professional video game developers tried out the tool and then answered a System Usability Scale questionnaire. The System Usability Scale score and task completion rate showed that the final state of the tool can be considered highly usable in terms of effectiveness and averagely usable in terms of learnability. This suggests that involving user testing in the development process is vital for ensuring good usability in the end product. Acknowledgments We have had a great time working on this master’s thesis. For this, we would first like to thank our examiner Erik Berglund and supervisor Fredrik Präntare at Linköping University for supporting us and answering our questions throughout the project. There has been so much experience gained and so much useful development done. A big deal of this, was also because we have been working this entire time in the office of a game development incubator. The incubator is called East Sweden Game, and we would like to aim a big thank you both to everyone there in the office and also the heads of the operation, Thomas Ahlström and Alexander Milton. Also, before we had an office at the incubator, we were able to perform a really satisfying pre-study with a huge thanks to Fredrik Landberg at Sylog Öst lending us support and an office so that we could work efficiently. A huge special thanks to all of the amazing people who took time out of their lives to come help us test and answer questions about our software. We would also like to thank our Bulgarian friend Bilian for providing us with emotional support from time to time over Discord. Björn Detterfelt Samuel Blomqvist June 2020 iv Contents Abstract iii Acknowledgments iv Contents v List of Figures viii List of Tables ix Glossary x 1 Introduction 1 1.1 Motivation . 1 1.1.1 Game World Editing . 2 1.1.2 Creating Game Objects . 2 1.2 Aim............................................ 2 1.3 Research Questions . 2 1.4 Delimitations . 3 2 Background 4 2.1 Game Engine . 4 2.2 Initial Problem Description . 4 2.3 Game Objects, Doodads and Entities . 5 3 Theory 8 3.1 Related Work . 8 3.2 Usability . 9 3.2.1 Knowability (Learnability) . 9 3.2.2 Efficiency . 9 3.2.3 Operability (Effectiveness) . 9 3.2.4 Task Completion Time . 9 3.2.5 System Usability Scale . 10 3.2.6 Measuring Effectiveness . 10 3.2.7 Measuring Learnability (Knowability) . 11 3.2.8 Designing User Test Tasks . 11 3.3 Software Development Methodology . 12 3.3.1 Plan Driven Software Development . 12 3.3.2 Agile Software Development . 13 3.3.3 Scrum . 13 3.3.4 Extreme Programming . 15 3.4 Requirements Engineering . 15 3.4.1 Stakeholder Analysis . 16 v 3.4.2 The Volere Requirements Process . 18 3.4.3 Use Cases . 18 3.4.4 Scenarios . 20 3.4.5 The Volere Requirements Specification . 21 3.4.6 Volatile Requirements . 26 3.4.7 Derived Requirements . 26 3.4.8 Alternative Classification of Requirements . 26 3.4.9 Prototyping for Requirements . 27 3.5 Windows Presentation Foundation . 27 3.6 Model–View–* . 27 4 Method 30 4.1 Prestudy . 30 4.1.1 Research Methodology . 30 4.1.2 State-of-the-Art Study . 31 4.1.3 Stakeholder Analysis . 31 4.1.4 Requirements Elicitation . 31 4.1.5 Areas in the Domain of User Actions . 32 4.1.6 Requirements Specification . 33 4.2 Implementation . 33 4.3 Evaluation . 34 4.4 Tools Used . 35 4.4.1 Visual Studio 2019 . 35 4.4.2 Git and GitHub . 35 4.4.3 Trello . 35 4.4.4 Google Forms . 35 5 Results 36 5.1 Prestudy . 36 5.1.1 Stakeholders . 36 5.1.2 Study of Existing Tools and Editors . 36 5.1.3 Prototype . 38 5.1.4 Use Cases . 39 5.1.5 Scenarios . 39 5.1.6 Initial Requirements and Project Constraints . 44 5.2 Sprint 1 . 47 5.2.1 Evaluation . 52 5.3 Sprint 2 . 53 5.3.1 Evaluation . 56 5.4 Sprint 3 . 59 5.4.1 Evaluation . 59 5.5 Unfinished Requirements . 60 6 Discussion 65 6.1 Results . 65 6.1.1 Prestudy . 65 6.1.2 Sprint 1 . 66 6.1.3 Sprint 2 . 66 6.1.4 Sprint 3 . 67 6.1.5 Evaluation . 68 6.2 Method . 68 6.2.1 Software Development Methodology . 68 6.2.2 User Testing Process . 69 vi 6.2.3 System Usability Scale . 69 6.2.4 Stakeholder Analysis . 70 6.2.5 Requirements Elicitation . 70 6.3 Source Criticism.