A Game Engine for the Blind
Total Page:16
File Type:pdf, Size:1020Kb
Bachelor in Computer Science and Engineering 2016/2017 Bachelor Thesis Designing User Experiences: a Game Engine for the Blind Álvaro Cáceres Muñoz Tutor/s: Teresa Onorati Thesis defense date: July 3rd, 2017 This work is subject to the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. Abstract Video games experience an ever-increasing interest by society since their incep- tion on the 70’s. This form of computer entertainment may let the player have a great time with family and friends, or it may as well provide immersion into a story full of details and emotional content. Prior to the end user playing a video game, a huge effort is performed in lots of disciplines: screenwriting, scenery design, graphical design, programming, opti- mization or marketing are but a few examples. This work is done by game studios, where teams of professionals from different backgrounds join forces in the inception of the video game. From the perspective of Human-Computer Interaction, which studies how people interact with computers to complete tasks [9], a game developer can be regarded as a user whose task is to create the logic of a video game using a computer. One of the main foundations of HCI1. is that an in-depth understanding of the user’s needs and preferences is vital for creating a usable piece of technology. This point is important as a single piece of technology (in this case, the set of tools used by a game developer) may – and should have been designed to – be used on the same team by users with different knowledge, abilities and capabilities. Embracing this diversity of users functional capabilities is the core foundation of accessibility, which is tightly related to and studied from the discipline of HCI. The driving force behind this research is a question that came after considering game developers: Could someone develop a video game being fully or partially blind? Would it be possible for these users to be part of a game development team? What should be taken into account to cover their particular needs and preferences so that they could perform this task being comfortable and productive? The goal of this work is to propose a possible solution that can assure inclusion of fully or partially blind users in the context of computer game development. To do this, a Used Centered Design methodology has been followed. This approach is ideal in this case as it starts including people you’re designing for and ends with new solutions that are tailor made to suit their needs [106]. First, previously designed solutions for this problem and related works have been analyzed. Secondly, an exploratory study has been performed to know how should the target user be able to interact with a computer when developing games, and design insights are drawn from both the state of the art analysis and the study results. Next, a solution has been proposed based on the design insights, and a prototype has been implemented. The solution has been evaluated with accessibility guidelines. It has been finally concluded that the proposed solution is accessible for visually impaired users. Keywords Human-Computer Interaction, User Centered Design, Accessibility, C++, Game development, Unity3D, Godot Engine, Unreal Engine 1Acronym. Stands for Human-Computer Interaction 1 Acknowledgements If someone asks about the author of this thesis, it may seem reasonable to answer with Álvaro Cáceres. However, this thesis would have never seen success (and much less to do so before the established deadline) if it had not been for the help of lots of people who helped, taught and motivated me through the whole process of writing the thesis. I thought it was appropriate to mention them here, so that the reader is aware of the fact that any piece of human knowledge is available to us nowadays thanks to friendship and teamwork. First of all, I want to thank my bachelor thesis supervisor, Teresa Onorati. She has been extremely comprehensive, patient, supportive and willing to help. I know that it is easier to tell bachelor students to choose a research topic already defined by professors, however she has defended my ambitious ideas since the beginning. I am doubly thankful for all the wise pieces of advice she has given me during these months, not only about the thesis, but about the life of a researcher and lots of topics about life in general. Finally, I also have to thank her for praising my abilities and potential beyond my personal circumstances. During the whole bachelors degree, I have been splitting my time between two different studies, and I know from other professors how puzzling it is to listen to a student who has so many crazy projects in mind and so little time to keep up with everything. Lots of people have also given me advice and solved serious problems that have arisen over the creation of this thesis. I firstly have to thank professors from Universidad Carlos III de Madrid. Telmo Zarraonandia perfectly explained the state of development of GREP, which has been essential to consider different alternatives for the design of the solution. José Antonio Iglesias gave me an extensive tutoring lesson about my university’s bachelor thesis criteria, and it was extremely helpful. Ángel García also deserves my gratitude, as he told me about an accessibility project, GoAll, that was being developed at my university by the time I was writing the thesis. Secondly, I thank all people who had never heard of me and still helped me. Here I would include Francisco Monzón from ONCE, who despite of being so busy devoted his time to search for participants for the exploratory study. He also wanted to know about other projects and ideas I have, and he was extremely supportive for those. Aleksander Morgado made me not fear the DBus protocol anymore, and he was enthusiastic about my project as both the two of us defend Free Software principles. Alejandro Piñeiro also offered me extensive help regarding the ATK library; I can say I was even more scared of ATK than DBus, so his help has been greatly appreciated. Thirdly, I would like to thank people from Pinto Association for People with Disabilities, who made me save time redirecting me to the ONCE offices that were relevant for my thesis. Both family and friends have also had a big impact in this thesis. My family have always supported me, and made me think that my project was close to receiving an award for saving humanity. My friends were equally enthusiastic, especially those who, as I do, love the Linux and Free Software world; they were excited of thinking that thanks to me, Godot Engine was not only going to be the first successful Open Source game engine, but also the first one that was fully accessible. I also wanted to mention Jorge Hidalgo, both for his support and for all his help about laws and user consents; he is amazingly skilled and good-hearted, and I know for sure that a great future awaits him, 2 both professionally and personally. I have to especially thank Carmen López for all the affection and encouragement she has given me, not only for this thesis but for all my goals and projects in my life. When I first devised this project (around two years before starting the bachelor thesis), I thought that the design of the solution was going to be a game engine built from scratch by me; I wanted to name the program Carmen, and for a good reason (”Carmen V2.35 stable”. it definitely sounds exotic). Last but not least, I want to appreciate all the people that have participated in the exploratory study. As I have already said, I was absolutely unaware about all the things I was going to learn prior to starting writing my bachelor thesis, and most of the things I have learned come from their personal experiences, which have been priceless for me. Their encouraging messages have touched me several times. It feels great to know that this project is much more than a bachelor thesis for me, but it feels even better to know that people out there think that my project is going to help so many people. I sincerely hope this project goes much beyond a bachelor thesis, and that it actually gives way to accessible game development. 3 Contents 1 Introduction 8 1.1 Motivation . .8 1.2 Socioeconomic environment . .9 1.3 Research method . .9 1.4 Proposed solution . 12 1.4.1 Input and output design . 12 1.4.2 Solution implementation . 12 1.5 Outline . 13 2 State of the art 14 2.1 Definitions . 14 2.1.1 Visual impairment . 14 2.1.2 Functional diversity . 15 2.1.3 Accessibility . 16 2.1.4 Assistive technology . 16 2.2 Assistive technologies for visually impaired users . 17 2.3 User interfaces for visually impaired users . 17 2.3.1 3D views . 17 2.3.2 3D audio games . 18 2.3.3 Cognitive mental models of 3D views . 19 2.4 Accessible software development tools for visually impaired users . 19 2.5 Game development tools for visually impaired users . 20 3 Design insights 22 3.1 Exploratory study . 22 3.2 Participants . 23 3.2.1 Participant profile . 23 3.2.2 Searching for participants . 24 3.2.3 Demographics . 24 3.3 Interviews . 26 3.4 Design insights . 33 4 Design of the solution 36 4.1 Chosen technology . 36 4.1.1 Available technologies comparison . 36 4.1.2 Godot Engine user interface analysis .