Online Multiplayer on Mobile Game

Total Page:16

File Type:pdf, Size:1020Kb

Online Multiplayer on Mobile Game Bachelor’s thesis Information and Communications Technology | Game Development 2019 Mika Anttonen ONLINE MULTIPLAYER ON MOBILE GAME BACHELOR’S THESIS | ABSTRACT TURKU UNIVERSITY OF APPLIED SCIENCES Information and Communications Technology | Game Development 2019 | number of pages: 55, number of pages in appendices: 3 Supervisor: Principal Lecturer Mika Luimula, Adj.Prof Mika Anttonen ONLINE MULTIPLAYER ON MOBILE GAME In the present gaming world, multiplayer games are the rulers in business. The greatest gaming companies make more money from selling services inside online games than from selling new games ever. Unity’s decision to completely overhaul their game engine’s network functions will bring a significant change on how smaller developers will be able to develop their games. The goal of the thesis was to compare different approaches towards developing multiplayer games and to use one of those approaches add online multiplayer functions on a mobile game. The game is an updated and ported version of an unpublished 2D space shooter made by Markus Leinonen and Iisko Lappalainen and it is called X-Craft. The original version was created as a computer game using the Pascal programming language. Developing multiplayer functions depends greatly on which game engine is used. After researching different options, Unity was chosen as the game engine for X-Craft. In August 2018, Unity announced they will renew the engine’s networking tools. Due to the announcement, Photon Unity Networking was chosen to be used for developing multiplayer functions. The thesis discusses planning a multiplayer game followed by comparisons between a few popular game engines. It also delves into the future of developing a multiplayer game with Unity based on blogs and articles available during the time of the writing of the thesis. The asset used in the development of X-Craft is called Photon Unity Networking is introduced on the level it has been used. The updated version was made using Unity and C# programming language. The development of the game was the responsibility of the author with the clients being part of planning and testing of the game. The results are going to be a part of the final version of X-Craft. The game was tested in different locations and with different devices. Even though the results on playability were not ideal, the results on the multiplayer functionalities exceeded expectations and gave a good direction on how the development of X-Craft should continue. The development will continue according to the plans made based on the result of testing. KEYWORDS: multiplayer, Unity, C#, mobile game, game development, Photon Unity Networking OPINNÄYTETYÖ (AMK) | TIIVISTELMÄ TURUN AMMATTIKORKEAKOULU Tieto- ja viestintätekniikka | Peliteknologia 2019 | 55 sivua, 3 liitesivua Ohjaaja: yliopettaja Mika Luimula, dosentti Mika Anttonen VERKKOMONINPELI MOBIILIPELISSÄ Click here to enter text. Nykyisessä videopelien maailmassa moninpeli on markkinoiden johtavassa asemassa. Suuret peliyhtiöt saavat enemmän rahaa verkkopelien sisällä myytävistä palveluista kuin ne ovat saaneet uusien pelien myynnistä koskaan. Unityn päätös tehdä pelimoottorinsa verkkotoiminnot kokonaan uudestaan tuovat mukanaan suuren muutoksen siihen miten pienemmät pelien kehittäjät voivat kehittää pelinsä. Opinnäytetyön tarkoituksena oli tutkia eri lähestymistapoja moninpelin kehittämisessä ja lisätä verkkomoninpeliin tarvittavat funktiot mobiilipeliin jollain kyseisistä lähestymistavoista. Peli on päivitetty versio ennen julkaisemattomasta tietokoneelle tehdystä 2D space shooterista nimeltä X-Craft. Alkuperäisen version tekivät Markus Leinonen ja Iisko Lappalainen. Alkuperäisen version koodi on kirjoitettu Pascal-ohjelmointikielellä. Pelimoottori vaikuttaa suuresti moninpelin toteutukseen. Eri vaihtoehtojen tutkimisen jälkeen X- Craftin pelimoottoriksi valittiin Unity. Unity ilmoitti elokuussa 2018 pelimoottorin verkkotyökalujen uudistuksesta. Ilmoituksen johdosta, moninpelin kehittämiseen päätettiin käyttää Photon Unity Networking nimistä työkalua. Päivitetty versio tehdään Unityllä ja C# -ohjelmointikielellä. Toimeksiantajat ovat olleet mukana pelin suunnittelussa ja testauksessa. Tulokset tulevat olemaan osa X-Craftin lopullista versiota. Peliä testattiin eri alueilla ja erilaisilla laitteilla. Vaikka pelattavuuden kannalta tulokset eivät näyttäneet ideaalisilta, moninpelin tulokset ylittivät vähimmäisodotukset ja antoivat hyvin suuntaa millä tavalla X-Craftin kehitystä kannattaa jatkaa. Pelin kehitys tulee jatkumaan tulevaisuudessa testien pohjalta tehtyjen suunnitelmia myötäillen. ASIASANAT: moninpeli, Unity, C#, mobiilipeli, pelinkehitys, Photon Unity Networking CONTENTS LIST OF ABBREVIATIONS (OR) SYMBOLS 5 1 INTRODUCTION 0 2 ONLINE MULTIPLAYER 2 2.1 Planning an online multiplayer game in general 2 2.2 Differences between game engines 4 3 UNITY NETWORKING 2019 AND FORWARD 7 3.1 Schedule of the new multiplayer solution 7 3.2 Connected Games 8 3.3 Change the topic 9 4 PHOTON UNITY NETWORKING 11 4.1 Using PUN and differences to UNet – Editor 11 4.2 PUN in programming 14 5 X-CRAFT 17 6 MATCHMAKING 20 6.1 Requirements and planning 20 6.2 Lobby 21 6.3 Inside a room 27 7 DURING A MATCH 31 7.1 Requirements and planning 31 7.2 Development 32 7.2.1 Gameplay in Unity Editor 32 7.2.2 Gameplay scripts 33 8 TESTING 42 8.1 Planning 42 8.2 Execution 43 8.3 Results 44 9 CONCLUSION 46 REFERENCES 48 APPENDICES Appendix 1. Feedback form in testing. FIGURES Figure 1. Schedule of Unity's new multiplayer features. 8 Figure 2. Player's Photon View. 12 Figure 3. Photon Transform View. 13 Figure 4. Photon Rigidbody 2D View. 14 Figure 5. Sharing shooter of projectile in Damage script. 16 Figure 6. Original menu for selecting maps. 17 Figure 7. Screenshot of the original version. 18 Figure 8. Player settings. 21 Figure 9. Main lobby. 22 Figure 10. View inside a room. 27 TABLES Table 1. Deciding factors on choosing game engine. 6 LIST OF ABBREVIATIONS (OR) SYMBOLS API Application Programming Interface CCU Concurrent Users CPU Central Processing Unit EA Electronic Arts ECS Entity Component System FPS First Person Shooter GEQ Game Experience Questionnaire HLAPI High Level Application Programming Interface ID Identifier IP Internet Protocol LAN Local Area Network LLAPI Low Level Application Programming Interface LTS Long Term Support MMORPG Massively Multiplayer Online Role-Playing Game OS Operating System PC Personal Computer PUN Photon Unity Networking, might refer to the asset or the service in general PVP Player Versus Player RPC Remote Procedure Call VR Virtual Reality UNet Unity Networking 0 1 INTRODUCTION Playing with friends has become an essential part of gaming. It has become so important that EA’s Chief Financial Officer Blake Jorgensen told that one reason behind cancelling the anticipated Star Wars game from Visceral Games was that it “continued to look like a much more linear game [which] people don’t like as much today as they did five years ago or ten years ago”(Jorgensen 2017). Many saw this as a statement on EA focusing on multiplayer games in the future. The trend can also be seen on streaming site twitch.tv where most streams on the front page show people playing multiplayer games such as Fortnite or PlayerUnknown's Battlegrounds. This thesis focuses on bringing that possibility on a mobile game(VG24/7.2017). X-Craft is an unpublished game made originally by Markus Leinonen and Iisko Lappalainen, who were also the clients of this thesis, during 1990s. X-Craft is a 2D dungeon shooter where the player flies a spaceship and tries to destroy enemies’ spaceships while surviving themselves. This thesis discusses the process of making the necessary functions for making this an online multiplayer game using Unity. The clients had shown interest in working with the author after previous experiences with him. After considering a few options, developing multiplayer functionalities on mobile devices was picked as the topic of the thesis as multiplayer mode will be one of the main components of X-Craft. Other options would have required a lot more progress before development on them before they could start. Multiplayer functions were, however, something that was supposed to be worked on soon. At the end of the thesis, X-Craft would have working gameplay over network, simple matchmaking, two game modes and scoreboard that the players could check during a match. If time allowed, work on some sort of league or prestige system would be implemented. This thesis is divided roughly in two parts. The first few chapters concentrate on the theoretical part. Chapter 1 discusses online multiplayer games in general. The chapter starts with the definition of online multiplaying followed by how multiplayer functionality in games is designed. Finally, the chapter compares different game engines and how they approach developing multiplayer games. 1 Chapter 2 focuses on Unity. Unity is currently renewing their networking solution. This chapter discusses the new solution based on information that has been published on official websites and forums. Chapter 3introduces an asset called Photon Unity Networking. Basics of the asset are discussed, and comparisons are made between Photon and Unity’s old solution, UNet. Some of the components will be discussed with examples from X-Craft. Chapter 4 discusses the differences between the original version and the new updated version of X-Craft. It also introduces the game more, so the reader understands better what is needed during the development. After Chapter 4, come
Recommended publications
  • Silver Lake Announces Strategic Investment in Unity Technologies Joins Current Investors Including Sequoia Capital in the World
    Silver Lake Announces Strategic Investment in Unity Technologies Joins Current Investors Including Sequoia Capital in the World’s Leading Game Development Platform Company Poised for Continued Rapid Growth in Core Game Engine and Virtual and Augmented Reality Technology SAN FRANCISCO, Calif. — Unity Technologies, the largest global development platform for creating 2D, 3D, virtual and augmented reality games and experiences, announced today an investment by Silver Lake, the global leader in technology investing, of up to $400 million in the company. The primary use of new capital will be driving growth in Unity’s augmented and virtual reality capabilities and in its core engine. Silver Lake Managing Partner Egon Durban will join Unity’s board of directors. “Our mission to help game developers bring their disparate creative visions to life has enabled us to create a rapidly expanding global platform with enormous growth potential both within and beyond gaming,” said John Riccitiello, CEO of Unity. “We look forward to partnering with Silver Lake, with its proven technology industry expertise, to enhance Unity’s next stage of growth, allowing us to accelerate the advance of augmented and virtual reality in both gaming and non-gaming markets and continue to democratize development.” Unity is the leading provider of mission-critical infrastructure for gaming. Every month, developers using the Unity platform create more than 90,000 unique applications, which are downloaded over 1.7 billion times per month. Over the past two years, the company has leveraged its long history as a game engine provider to expand into new offerings, including a market-leading in-game mobile ad network and a widely deployed analytics tool using machine learning and data science.
    [Show full text]
  • Comparison of Unity and Unreal Engine
    Bachelor Project Czech Technical University in Prague Faculty of Electrical Engineering F3 Department of Computer Graphics and Interaction Comparison of Unity and Unreal Engine Antonín Šmíd Supervisor: doc. Ing. Jiří Bittner, Ph.D. Field of study: STM, Web and Multimedia May 2017 ii iv Acknowledgements Declaration I am grateful to Jiri Bittner, associate I hereby declare that I have completed professor, in the Department of Computer this thesis independently and that I have Graphics and Interaction. I am thankful listed all the literature and publications to him for sharing expertise, and sincere used. I have no objection to usage of guidance and encouragement extended to this work in compliance with the act §60 me. Zákon c. 121/2000Sb. (copyright law), and with the rights connected with the Copyright Act including the amendments to the act. In Prague, 25. May 2017 v Abstract Abstrakt Contemporary game engines are invalu- Současné herní engine jsou důležitými ná- able tools for game development. There stroji pro vývoj her. Na trhu je množ- are numerous engines available, each ství enginů a každý z nich vyniká v urči- of which excels in certain features. To tých vlastnostech. Abych srovnal výkon compare them I have developed a simple dvou z nich, vyvinul jsem jednoduchý ben- game engine benchmark using a scalable chmark za použití škálovatelné 3D reim- 3D reimplementation of the classical Pac- plementace klasické hry Pac-Man. Man game. Benchmark je navržený tak, aby The benchmark is designed to em- využil všechny důležité komponenty her- ploy all important game engine compo- ního enginu, jako je hledání cest, fyzika, nents such as path finding, physics, ani- animace, scriptování a různé zobrazovací mation, scripting, and various rendering funkce.
    [Show full text]
  • An Interactive Online Application for Active Learning Using Escape Rooms
    Sjalvst¨ andigt¨ arbete i informationsteknologi 13 juni 2021 An Interactive Online Application for Active Learning using Escape Rooms Andreas Bleichner Christoffer Nyberg Nils Hermansson Sebastian Fallman¨ Civilingenjorsprogrammet¨ i informationsteknologi Master Programme in Computer and Information Engineering Abstract Institutionen for¨ An Interactive Online Application for Active informationsteknologi Learning using Escape Rooms Besoksadress:¨ ITC, Polacksbacken Lagerhyddsv¨ agen¨ 2 Andreas Bleichner Christoffer Nyberg Postadress: Box 337 Nils Hermansson 751 05 Uppsala Sebastian Fallman¨ Hemsida: https://www.it.uu.se As the pandemic of 2020 broke out there was an increase in the use of virtual meeting rooms as a platform for holding online lectures. The use- fulness of being able to attend a lecture comfortably from home cannot be denied, however participants report feeling less engaged in lectures when studying remotely. By involving and engaging the participants in online lectures with the help of virtual Escape Rooms the partici- pants can feel more engaged and perform better in their schoolwork. The result is a prototype that showcases how virtual Escape Rooms can be used for educational purposes. The prototype consists of a room that connects to a group of Escape Rooms. The participants can interact with each other and objects as well as communicate through text and voice chat. Further work is necessary for the application to be an effective tool for education. Extern handledare: Matthew Davis Handledare: Mats Daniels, Anne Peters, Bjorn¨ Victor och Tina Vrieler Examinator: Bjorn¨ Victor Sammanfattning Nar¨ pandemin brot¨ ut 2020 okade¨ anvandningen¨ av virtuella motesrum¨ som en platt- form for¨ onlineforel¨ asningar.¨ Anvandbarheten¨ av att bekvamt¨ fran˚ hemmet kunna delta i forel¨ asningar¨ kan inte fornekas,¨ men undersokningar¨ visar pa˚ att deltagare i virtuella motesrum¨ kanner¨ sig mindre engagerade i forel¨ asningar¨ nar¨ de deltar pa˚ distans.
    [Show full text]
  • Ja Unreal Engine -Pelimoottoreilla Vertailu Kaksiulotteisen Pelin Kehittämisestä Unity- Ja Unreal Engine -Pelimoottoreilla
    Vesa Väisänen VERTAILU KAKSIULOTTEISEN PELIN KEHITTÄMISESTÄ UNITY- JA UNREAL ENGINE -PELIMOOTTOREILLA VERTAILU KAKSIULOTTEISEN PELIN KEHITTÄMISESTÄ UNITY- JA UNREAL ENGINE -PELIMOOTTOREILLA Vesa Väisänen Opinnäytetyö Kevät 2016 Tietotekniikan tutkinto-ohjelma Oulun ammattikorkeakoulu 2 TIIVISTELMÄ Oulun ammattikorkeakoulu Tietotekniikan tutkinto-ohjelma, ohjelmistokehityksen suuntautumisvaihtoehto Tekijä(t): Vesa Väisänen Opinnäytetyön nimi: Vertailu kaksiulotteisen pelin kehitämisestä Unity- ja Unreal Engine -pelimoottoreilla Työn ohjaaja: Veikko Tapaninen Työn valmistumislukukausi ja -vuosi: Kevät 2016 Sivumäärä: 48 Työn tavoiteena oli tutkia Unity- ja Unreal Engine -pelimoottoreiden eroavaisuuksia kaksiulotteisen pelin kehityksessä. Työn aihe on itse keksitty, toimeksiantajaa opinnäytetyössä ei ole. Opinnäytetyössä tehtiin eri pelimoottoreilla kaksi identtistä peliä PC-alustalle ja vertailtiin pelimoottoreiden ominaisuuksia. Pelimoottoreiden vertailusta on hyötyä esimerkiksi aloittelevalle peliohjelmoijalle, joka haluaa tietää minkä pelimoottorin opetteluun kannattaa keskittyä kaksiulotteisessa pelinkehityksessä. Pelimoottorin vertailussa keskitytään pelimoottorin käyttöön, ei niinkään teknisiin ominaisuuksiin. Vertailtavia ominaisuuksia ovat yhteensopivuus eri käyttöjärjestelmien kanssa, dokumentointi, käyttöliittymän käytettävyys, pelimoottorin lisenssin hinta, ohjelmointiominaisuudet, spritejen eli kuvien käsittely, törmäysten käsittely, animointi ja yhteensopivuus Subversion- versionhallintasovelluksen kanssa. Tekijällä on taustallaan
    [Show full text]
  • Chaos in Innovation and Ai
    CHAOS IN INNOVATION AND AI NEXT CHAPTER: THE AGE OF THE BOLD ONES Andreas Sjöström, CTO Digital Advisory Services Your innovation partner Next chapter: The bold ones The bold ones learn fearlessly 4 Children Sleeping Room @ #HACKFORSWEDEN Innovation is uncertainty Most are overweighted in horizon 1 From bell to shark fin: Threat and opportunity Open innovation. Open APIs. Ecosystems. Startups. Where’s the idea? What is it? Does it actually work? Chaos vs order GO Value Ideation Refinement/ Incubation Portfolio of selection future options Chaos vs order Operations Innovation Performance engine Dedicated team Efficient Unregulated Routines & rules Experiments Rational decisions Bold ideas Calculated results Unpredictable outcomes Aimed at guarding the status quo Constantly challenging the status quo Short-term goals Long-term goals Driven by the belief that current Driven by the belief that current operations keep the company alive operations will not fuel growth forever Managing fundamental tensions New types of tests Where to innovate: Design thinking and ecosystems Inspiration Book Airport Onboard Destination Platform eats product for breakfast Book flight Contextual baggage info Flight status Proactive notifications Boarding pass Seat reminder Chatbot @ SAS Biohacking Experimenting, Proof Test Smoke Test, Wow Test Two faces of AI: AI in testing. Testing AI. A human hiding behind the system “Does the system seem to be very reasonable? Does it almost seem like there’s a human hiding behind the system, interacting with me and making me feel comfortable? I get this sense that the system knows a lot about what I want and helps me get the thing that I want.
    [Show full text]
  • Unity Vr Samples Tutorial
    Unity Vr Samples Tutorial Lunisolar Hartwell dins or disparts some spital glacially, however pessimistic Weylin deep-freezing loads or distastes. Emmit stripping his intermixtures foreground sporadically, but pederastic Sherwynd never federate so cousin. How setaceous is Tallie when untameable and workless Bennet lifts some owl? Can you upload it somewhere? That project focuses on it, samples app running. The tutorial we create an rpg in. By a tutorial. Based on your sample below are at. This makes dealing with a sample scene with physics should now a cool, game can help some interactables along with vr landscape in your left blank. This is normal for things like visual novels or RPGs. These assets with permanent content goes out at Getting Started Guide. Unity until understand the bit more. Master that can take getting into vr samples app, separate game in annual revenue share many more information contained in this tutorial will be transferable to? Simple Unity VR Project DEV Community. Is C sharp easy to learn? This figure that even initial the quantization error at above sample be large. Unity tutorial is pretty neat visual fidelity game before posting! It was time policy make more changes. Leap motion can provide a gesture control function which is any lack in other VR hand. Vr headset is spatial audio designer from any new crosshair functionality that we can change your game ends up or judder. Where do the start? Java SE SDK installed on star system. At least in unity tutorials, samples games were constructed, we have come to show buttons or more records.
    [Show full text]
  • Applying Imitation and Reinforcement Learning to Sparse Reward Environments
    University of Arkansas, Fayetteville ScholarWorks@UARK Computer Science and Computer Engineering Undergraduate Honors Theses Computer Science and Computer Engineering 5-2020 Applying Imitation and Reinforcement Learning to Sparse Reward Environments Haven Brown Follow this and additional works at: https://scholarworks.uark.edu/csceuht Part of the Artificial Intelligence and Robotics Commons, Software Engineering Commons, and the Theory and Algorithms Commons Citation Brown, H. (2020). Applying Imitation and Reinforcement Learning to Sparse Reward Environments. Computer Science and Computer Engineering Undergraduate Honors Theses Retrieved from https://scholarworks.uark.edu/csceuht/79 This Thesis is brought to you for free and open access by the Computer Science and Computer Engineering at ScholarWorks@UARK. It has been accepted for inclusion in Computer Science and Computer Engineering Undergraduate Honors Theses by an authorized administrator of ScholarWorks@UARK. For more information, please contact [email protected]. Applying Imitation and Reinforcement Learning to Sparse Reward Environments An honors thesis submitted in partial fulfillment of the requirements for the degree of Bachelor of Science in Computer Science with Honors by Haven Brown University of Arkansas Candidate for Bachelors of Science in Computer Science, 2020 Candidate for Bachelors of Science in Mathematics, 2020 May 2020 University of Arkansas This honors thesis is approved for recommendation to the CSCE thesis defense committee. David Andrews, PhD Dissertation Director John Gauch, PhD Lora Streeter, PhD Committee Member Committee Member Abstract The focus of this project was to shorten the time it takes to train reinforcement learn- ing agents to perform better than humans in a sparse reward environment. Finding a general purpose solution to this problem is essential to creating agents in the future ca- pable of managing large systems or performing a series of tasks before receiving feedback.
    [Show full text]
  • Unity Introduction Kingsley Stephens, Monash University
    Unity Introduction Kingsley Stephens, Monash University Introduction 2 What is Unity? 2 Downloading and Installing Unity 3 Getting Familiar With the Editor 4 About the Editor 4 The Editor Interface 4 Controlling the Scene View Camera 5 Hello Unity! A First Program 6 Create a New Project 6 Add a Cube 7 Make the Cube Interesting 8 Some Further Things to Try 10 Unity Concepts 11 Game Objects and Components 11 Scene Hierarchy 11 Assets 11 Manipulating Game Objects 11 Prefabs 12 Scripting in C# 12 Building an Executable 12 Learning Resources 13 Introduction What is Unity? Unity1 is a game engine that has a generous free pricing tier. A game engine is a software library that provides the lower layers for games to be built on top of. A game engine typically provides components for rendering 3D graphics, playing audio, access to the file system, handling user input, physics simulation and many more services that go into making the complex software that is a game. Another popular game engine is the Unreal2 engine, while an up and coming one is the Amazon Lumberyard3 engine. Unity (as do the other engines) also provides an editor. The editor allows games creators to import art assets, build scenes, write scripts, coordinate game play, and deploy to the platform of their choice; be it console, PC/Mac, web, mobile, or VR. Figure 1. The Unity editor with a scene being edited The first version of Unity was released in 2005 by Unity Technologies. It is now on its sixth major version iteration. It has grown in popularity due to it targeting ‘indie’ developers - single developers or small teams with low budgets.
    [Show full text]
  • INSTRUCTIONS 1.0 Beta Welcome to the Open Source Section of Momar! Setting up Unity & Vuforia 1. Installing Unity 2. Startin
    INSTRUCTIONS 1.0 beta Welcome to the open source section of MoMAR! Our goal is to democratize physical exhibition spaces, museums, and the curation of art within them. If you like to create your own gallery or show your own work in any museum around the world – this will help you. All you need is: Unity https://store.unity.com/ Unity is a cross-platform game engine developed by Unity Technologies, which is primarily used to develop both three-dimensional and two-dimensional video games and simulations for computers, consoles, and mobile devices. It’s a simple – yet powerful – platform to create AR experiences. The personal plan is for free. Usually we don’t need more than that plan. Vuforia https://vuforia.com/ Vuforia is an Augmented Reality Software Development Kit (SDK) for mobile devices that enables the creation of Augmented Reality applications. It uses Computer Vision technology to recognize and track planar images (Image Targets) and simple 3D objects, such as boxes, in real-time. The free plan is guess what for free and also here we don’t need more. APPLE iOS or Android developer account https://developer.apple.com/ https://developer.android.com/ When you want to distribute your gallery or art to more people than you should create an app. We’ll show you how to create a simple app. For publishing you app you need a developer account. The Google Play store has a one-time fee of $25. The Apple fee is $99/year. Setting up Unity & Vuforia 1. Installing Unity Download and install the Unity Editor from the Unity download page.
    [Show full text]
  • Q4 2020 Form 10-K
    UNITED STATES SECURITIES AND EXCHANGE COMMISSION Washington, D.C. 20549 FORM 10-K (Mark One) ☒ ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934 For the fiscal year ended December 31, 2020 OR ☐ TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934 For the transition period from _______ to _______ Commission File Number: 001-39497 UNITY SOFTWARE INC. (Exact name of registrant as specified in its charter) Delaware 27-0334803 (State or other jurisdiction of (I.R.S. Employer incorporation or organization) Identification No.) 30 3rd Street San Francisco, California 94103‑3104 (Address, including zip code, of principal executive offices) (415) 539‑3162 (Registrant's telephone number, including area code) Securities registered pursuant to Section 12(b) of the Act: Title of each class Trading Symbol(s) Name of each exchange on which registered Common stock, $0.000005 par value U The New York Stock Exchange Securities registered pursuant to Section 12(g) of the Act: None Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Yes o No x Indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or 15(d) of the Act. Yes o No x Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.
    [Show full text]
  • Unity Playground
    Unity Playground Instructor: Prof Pisan [email protected] Overview Game Engine Architecture Unity's approach to creating a game engine Defining a game - components, criticism Role of Game Designer Unity Playground https://unity3d.com/learn/tutorials/s/unity-playground 2 HW1: Unity Basics Review answers Grading: #2 2pts #5 2pts #8 2pts Rest 4pts 3 Game Designer Advocate for the player See the world through the player's eyes Player experience Playtesters - providing feedback Game design as hosting a party - an interactive experience Communication - sell your game, good listener and compromiser Teamwork - personalities Process - games are fragile, prioritize goals Inspiration - world as challenges, structures and play. Money to relationships Beyond existing games Will Wright - ant colonies to SimAnt What parts of your life can be turned into games? 4 Fail and Fail Again https://officechai.com/startups/51-failed-games-rovio-created- angry-birds-now-going-public-1-billion-valuation/ Playcentric Design Process Keeping the player experience in mind and testing the gameplay with target players through every phase of development. Setting player experience goals Players have to cooperate to win, but structured so cannot trust each other Players will feel a sense of happiness and playfulness Prototyping and Playtesting Paper is easy to modify, software decisions harder to reverse Iteration Design → Test → Evaluate → Design → Test → …. 6 Game Development 1. Brainstorming 2. Physical prototype 3. Presentation (if you need $$s) 4. Software prototype 5. Design documentation - putting the notes together 6. Production 7. Quality assurance Approaches: Jump from concept to writing up design to coding. Works OK when the game is a variation of an existing game Game Jams: Tapping into community for ideas and prototypes Innovation: unique play mechniques, beyond existing genres, integrating into daily lives, taking on new business models, emotionally rich gameplay, ….
    [Show full text]
  • Download This PDF File
    Vol. 10, No. 1 (2019) http://www.eludamos.org Games and AI: Paths, Challenges, Critique Mathias Fuchs, Andreas Sudmann Eludamos. Journal for Computer Game Culture. 2019; 10 (1), pp. 1–7 Games and AI: Paths, Challenges, Critique MATHIAS FUCHS AND ANDREAS SUDMANN In 2006, the first-person shooter F.E.A.R. makes headlines in the gaming world. One feature in particular attracts much attention: the non-playable characters seem to behave intelligently to a degree yet unseen in computer games. From earlier productions like No One Lives Forever 1 & 2 (2000, 2002), players were already familiar with NPCs that are able to seek cover under fire and to leave it at random in order to shoot back at the player. In F.E.A.R. that happens too, but in a much more realistic manner. Computer-controlled enemies attack players in a coordinated way. If one member of the enemy team comes closer, he gets supportive fire by his team members. If the player attacks them, enemy forces remain in cover until they are immediately threatened. Ten years later, an AI system called AlphaGo beats the human world champion Kim Sung Yong in the ancient board game Go in five rounds—final score: 4-1. The global community of Go players is perplexed, almost shocked, even though the victory did not totally come out of the blue. Already in October 2015, an earlier version of AlphaGo was able to beat the European Go champion Fan Hui. However, Hui’s playing level was significantly lower than that of Kim Sung Yong (2-dan out of possible 9-dan levels).
    [Show full text]