Analysis of a Distributed User In- Terface Framework – Through Development of a Map Based Multiplayer Game
Total Page:16
File Type:pdf, Size:1020Kb
Linköping University | Department of Computer and Information Science Master’s thesis, 30 ECTS | Computer Science 2020 | LIU-IDA/LITH-EX-A--20/077--SE Analysis of a Distributed User In- terface Framework – through development of a map based multiplayer game Analys av ett ramverk för distibuerade användargränsnitt - genom utveckling av ett kartbaserat multiplayer-spel Ermin Pitarevic Supervisor : Anders Fröberg 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/. © Ermin Pitarevic Abstract A variety of user interfaces have provided different solutions and possibilities, highlight- ing the importance of them in our interaction with computers. As our interaction with computers have been reaching different levels, the importance of the designing and devel- opment of user interfaces have become more obvious. The aim is to focus on the relatively new field within Human Computer Interaction, Distributed User Interfaces. Moreover, the work should focus on the provided Distributed User Interface framework, Marve, and further analyze and evaluate it through the imple- mentation of a larger web application, a map based multiplayer game. Given the result, shortcomings and related requirements were introduced, which are not only applicable for Marve, but for web focused Distributed User Interface frameworks in general. The work has brought up the importance of understanding the contribution of a framework as Marve, and how this can be used to facilitate the development of a web application. Ad- ditionally, the work demonstrates where Marve contributes to facilitated development of the map based multiplayer game. Furthermore, it highlights important issues, which have to be managed by Marve in order to being a complete Distributed User Interface frame- work for web development. Several shortcomings have been brought up and discussed, setting up additional requirements for further development and improvements. Acknowledgments All the years here at Linköping University have been tough but memorable, an experienced journey to say the least. There have been a lot of challenges, which have been putting me to the test. A great experience which has helped me develop a lot! I would like to thank Erik Berglund and Anders Fröberg for patiently helping me throughout this work with constant availability. Great guidance, useful advices and encouraging words that I appreciate. Another thank you to others that have been part of this journey. And last but definitely not least, a special thank you to the ones who have supported me and continuously do. You know who you are. iv Contents Abstract iii Acknowledgments iv Contents v List of Figures vii List of Tables viii 1 Introduction 1 1.1 Motivation . 1 1.2 Aim............................................ 3 1.3 Research questions . 3 1.4 Delimitations . 3 2 Theory 4 2.1 Human Computer Interaction . 4 2.2 Intelligent User Interfaces . 5 2.3 Human Computer Interaction and Usability . 5 2.4 Distributed User Interfaces . 6 2.5 Challenges with Distributed User Interfaces . 6 2.6 The Marve Framework . 7 2.7 Related Work . 9 3 Method 10 3.1 Description of the Game . 10 3.2 Technical Description of the Platform . 11 3.3 OpenStreetMap . 11 3.4 Leaflet . 11 3.5 Turf.js . 12 3.6 Flask . 12 3.7 The Marve Framework and its Contribution . 13 3.8 Development of the Game . 16 3.9 Shortcomings and Requirements . 21 4 Results 22 4.1 DUIHammer . 22 4.2 Distribution with Marve and Shortcomings . 26 4.3 Requirements Based on the Shortcomings . 28 5 Discussion 29 5.1 Results . 29 v 5.2 Method . 33 5.3 Source Criticism . 35 5.4 The work in a wider context . 35 6 Conclusion 36 6.1 Future Work . 37 Bibliography 38 vi List of Figures 3.1 Initial sketch of the layout/structure of the game. 11 3.2 Simple device and room handling example, where device 1 and 2 requested to join and joined room 1, while device 3 did the same for room 2. 14 3.3 The reference to a node element is set for the receiving device, and the distributed object will be placed there. 16 3.4 The two classes included for the database. 21 4.1 The game lobby, with options to enter room number and the team to join. 22 4.2 Request to start the game was made by one of the team-leaders, and both team- leaders have to confirm the start. 23 4.3 The game panel in different phases, with relevant information and actions to be made. 23 4.4 The action section, with actions for a soldier to the left and healer to the right. 24 4.5 The path calculated to a destination for a selected character. 24 4.6 The path time difference between two different surfaces, asphalt and grass. 25 4.7 The shooting action, the sight line is shown and then the bullet is fired. 25 vii List of Tables 2.1 Component presentation . 8 4.1 Requirements for the Marve Framework based on the presented shortcomings . 28 viii 1 Introduction In the last decades, our interaction with computers has fundamentally changed. With the technology continuously evolving, we now have access to powerful machines with enor- mous functionalities and capabilities. [16, 5] The shift from having big computers in secure rooms used by professionals, to smaller personal computers in homes and offices, was the factor that created the need for the Human Computer Interaction field [16]. With a vari- ety of platforms, the restriction of performing tasks on a specific device is no longer a concern. Likewise, as the Web is rapidly evolving, many challenges and issues are remaining, while new ones are arriving. This has an impact on the development and designing of the User Interfaces, related systems and applications, while also affecting the functionality of the Web. [16, 5] Designing the systems is very dependent on the Human Computer Interaction field, which is the area that establishes the actual communication platform between the users and the computers. The challenge that arises is to achieve the perfect interaction, which in turn creates the ideal coherence. Additionally, the focus also lies on how this can be applicable in today’s digital world. [5] 1.1 Motivation The development within the Human Computer Interaction field involves the understanding of the user needs, in order to contribute innovatively and meaningfully. More intelligent, interactive, and beneficial designs have become applicable, providing many new challenges for the developers and designers of the interfaces and systems. 1 1.1. Motivation Initially, this modern interaction between computers and users was done using a Command Line Interface (CLI), which is still popular today. Another well-known User Interface which got introduced after the CLI is the Graphical User Interface (GUI), which have been used for a long time, and still is. The shift from the CLI to the GUI opened up for many possibilities and emphasized the importance and relevance of the User Interfaces. Several other User Interfaces were introduced with different contribution to the field, with more focus on the social and natural interaction, as well as the body movement. However, none of them really reached the groundbreaking level as the GUI. Ubiquitous computing, with several devices being connected and interacting, changes the availability of devices, and eliminates the direct dependency to a specific device. This requires innovative and different interface models which could facilitate the development of dynamic applications, as well as support these new capabilities and modifications. Having devices working together, several separate GUIs are required to support every new configuration, mainly due to the complex interaction structures and mechanisms. This is not always optimal as programmers have to put significant time and effort to develop these, which can result in big costs for software projects.