
The Blockchain Based Daily Pixel Art Competition Bachelor Thesis Kees Fani Manuel Borba da Silva Falcão Ferreira Pavel Hoogland 25/06/2018 TU Coach: Dr. Ir. Rafael Bidarra Client adviser: MSc. Marco van Etten Coordinator: Dr. Ir. Otto Visser 1 Table of Contents Table of Contents 1 PREFACE 8 Summary 9 Introduction 10 Blockchain Developments 10 New possibilities 10 Client and Supervision 11 Structure 12 Problem Definition 13 Decentralized vs Centralized 13 Conflicts in Gaming 13 Creation of a Blockchain Game 14 Problem Analysis 15 Cost of Centralization 15 Persistent Games 15 Other Benefits of Decentralization 16 Challenges of the Problem 16 Blockchain 17 Bitcoin 17 Mining 18 Ethereum and Smart Contracts 18 Flaws and possible solutions 18 Mining pools 18 Bitcoin Scalability 19 Proof of Stake 19 Steem & EOS 20 Steem 20 Delegated Proof of Stake 20 EOS 21 Current Activity 22 2 Game Design Phase 24 Client Requirements 24 Search-Space Reduction 25 No fast-paced games 25 No games relying on asymmetric information 25 No games relying on randomness 25 Game must rely on a token 25 Casual gameplay 25 No Complex games 25 Search-Space Exploration 26 Deposit Based Play 26 Collaborative Content Creation 26 Deathmatch Free For All 26 Turn Based Strategy 26 Category Elimination 27 Deposit Based Play 27 Deathmatch Free For All 27 Turn based strategy 27 Collaborative Content Creation 27 Search-Space Exploitation 28 Collaborative Music Creation 28 Collaborative Sculpting 28 Collaborative Drawing 28 Our Preference 28 Refined Game Concept 29 Drawing Mechanism 29 Tokens 29 Colour Choices 30 Canvas Size 30 Collaboration & Competitiveness 30 Competition 31 Game Iterations 31 Voting Mechanism 31 Potential Problems 32 Bot Creation 32 Last Minute Destruction 32 Small Community 32 3 Hijacking Painting Rewards 32 Overlapping Voting Submissions 32 Increasing Wealth Inequality 33 Lack of Voting Incentive 33 Inappropriate Drawings 33 Software Overview 34 Smart Contract 34 Data structure 36 Canvas 37 Account 37 Submission 37 Vote 37 LeaderBoard 37 Support 38 Client 38 Frameworks 38 Game Engine 38 Web Frameworks 39 Blockchain API 39 Coding Style 40 Responsive Mobile Application 40 Development process 41 Work Environment 41 Scrum and User Stories 41 Code base and Version Control 41 Continuous Integration 41 Code Structuring Preparation 42 Development environment 42 Communication 42 Game Experience Testing 43 Testing phase one: Pixel Art Competition Prototype 43 Test Goals 43 Goal one: Gauge interest and engagement 43 Goal two: Test the choice of colors 43 Goal three: Test the Progressive Web Application Interface 43 Test Execution 44 4 Test Results 45 Survey results 45 Other feedback 47 Test conclusions 47 Testing phase two: Decentralized Blockchain Game Prototype 48 Test Goals 48 Goal one: Test relation between tokens and gameplay 48 Goal two: Test collaborative gameplay 48 Goal three: Test if the game feels like a regular game 48 Test Execution 48 Test Results 49 Other feedback 51 Test Conclusions 52 Software Improvement Group (SIG) Feedback 53 Feedback Week 5 53 Implementation Feedback Week 5 54 Delivered Prototype 55 Login screen 55 Painting Canvas with Color Palette 55 Submission Creation 56 Voting screen 56 Conclusion 57 Recommendations & Ethical Discussion 58 Recommendations 58 Private key handling 58 Experimental Software 58 Ethical Implications 58 Create Automated Software Tests for game components 59 Token Sale 59 Improve the User Interface/Experience 59 Improve Registration Process 59 Reflection 60 REFERENCES 61 APPENDIX 63 5 A. Pixel Placement Cooldown Calculations 63 B. Original Project Description 64 EOS Blockchain Space Domination Game 64 Project Description 64 Blockchain 64 Visualization 64 Game concept 64 Challenges 65 Potential research question 65 Company Description 65 Additional information 65 C. Research Report 66 Introduction 69 Client 69 Brief Project Description 69 Client Requirements 70 Blockchain Justification 70 Decentralized Application Logic 70 Resilience 71 End-Users are Beneficiaries 71 Scalability 72 Possible Drawbacks 72 EOS Blockchain 73 Development Process 73 Agile 73 SCRUM 73 BlockSpace Approach 74 Software Overview 75 EOS Environment 75 Game Interaction Solution 75 Quality & Testing 76 Code Quality 76 Unit Tests 77 Integration Tests 77 End To End Tests 78 6 Continuous Integration 78 Conclusion 78 References 79 D. Surveys 81 E. Game Design Document 82 Introduction 83 Game Overview 83 Target Audience 83 Technical Specifications 84 Main Mechanics 84 Paint Pixels 84 Select drawings 85 Vote on drawings 85 Tokens 85 Game Play Flow 86 First impression 86 Cooperation 86 Competitiveness 86 Contest 86 Controls 87 Visualization 87 F. Roadmap 88 Introduction 88 Phase 1 - Research - Week 1 & 2 88 Researching How, Why and What to build - Week 1 & 2 88 Writing Research document - Week 2 89 Phase 2 - Game Design - Week 3 89 Phase 3 - Development - Week 4 to 9 89 Blockchain development - Week 4 to 7 89 Mobile App/Web development - Week 6 to 9 89 Writing Thesis - Week 5 to 9 90 Phase 4 - Wrapping up - Week 10 & 11 90 7 Finishing up - Week 10 90 Presentation - Week 10 & 11 90 G. Infosheet 91 8 PREFACE We would like to use this section as an opportunity to thank those that supervised and helped us during the span of the project. First we would like to thank dr. ir. Rafael Bidarra for taking on this project and thus help make this project possible. We would also like to thank MSc. Marco van Etten for his involvement and guidance in the project. We also want to thank YX Impact Innovations for the fun time and the nice lunches we had, and for letting us use their office space to work from. We would also like to thank Camiel Kuiper for making some nice graphics for the game buttons, logo and infosheet. We would also like to thank Kees’ sister, Lana Fani MD for her help in shaping the thesis into a well thought out report. We would also like to thank Romke Bak for his help on some of the mathematical calculations of the token distribution within the game. We encountered many challenges and difficulties in the development of the software. Some of the more notable hurdles were setting up both the EOS test environment and the Progressive Web Application. The EOS environment was constantly being updated, and while setting everything up we had many errors that were not well documented. After a lot of trial and error, we were able to overcome most of these hurdles. It however did cost us time we would have preferred to have spent on actual development or software testing. This project has been a very informative and memorable experience. We are proud of what we made and we will gladly do more projects like this in the future. 9 Summary During the project the team aimed to make a decentralized web based game on the blockchain, that is fun to play and is indistinguishable from traditional centralized games. To accomplish this it was chosen to create the game on the EOS blockchain platform. The EOS blockchain platform features great improvements upon older more popular platforms such as Bitcoin and Ethereum. EOS brings improvements in transaction speed, scalability and control of user actions and data. Designing the game was done in a somewhat limited design space. This was caused mainly due to intricacies and limitations of blockchain technology. As such, the design was steered away from games such as fast paced actions games or games that rely heavily on randomness. This is due to the transaction times of the blockchain and the reliance on determinism of the blockchain respectively. The creation of the game consisted of two parts. One was the web based application client and the other is the EOS smart contract. The smart contract was the place where all the game logic was programmed in, while the web application is used as an interface that makes it easy for players to communicate with the blockchain smart contract. For the development a Scrum approach was used. Well thought out software development practices were used, such as the use of Github issues and pull requests and code reviews. The game was tested in two phases. The first phase was with an early prototype to test the pixel art drawing with competition element. The second phase was with a minimal viable product to test the overall blockchain gameplay experience and the collaborative experience. From the gameplay testing rounds we came to the conclusion that the game, that we have created, accomplished the goal of creating a fun and engaging decentralized application that is indistinguishable from traditional centralized games. 10 Introduction Cryptocurrencies have gained growing attention in the recent years by large increases in prices. Bitcoin, the most popular cryptocurrency, reached peak prices of $20.000 (D. Morris, 2017), taking along with it the whole cryptocurrency market. However, many of the people talking about cryptocurrencies only speak about price and speculation and fail to mention the technological aspects of it and the possibilities these provide. The technology behind these cryptocurrencies is blockchain. Aside from price and speculation, blockchain is now showing potential to change the way traditional online platforms work. As of now it is still the question whether Blockchain technology will revolutionize the internet and how fast this will happen. At the turn of the millenium, something similar to the current crypto craze happened with the Dot-com bubble (E. Ofek, 2003). Now, 20 years later, many of the survivors from this Dot-com craze, such as Amazon, Booking.com, Microsoft, have become some of the biggest companies in the world and are changing the way we live our lives. This may show that people should not be so fast to underestimate the blockchain craze as well. Blockchain Developments Recent developments (B.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages93 Page
-
File Size-