Opinnäytetyön Mallipohja
Total Page:16
File Type:pdf, Size:1020Kb
Tuomas Suokko Pelimoottorin kehittämisen kannattavuus Insinööri (AMK) Tieto- ja viestintätekniikka Kevät 2020 Tiivistelmä Tekijä: Suokko Tuomas Työn nimi: Pelimoottorin kehittämisen kannattavuus Tutkintonimike: Insinööri (AMK), tieto- ja viestintätekniikka Asiasanat: Pelimoottori, kannattavuus, ohjelmistokehitys, yritystoiminta Tämän tutkimuksen tavoitteena oli selvittää, onko peliyritykselle kannattavaa kehittää oma pelimoottori, kun ilmaisia kaupallisia pelimoottoreita on markkinoilla. Tutkimuksen toimeksiantajana toimi Linna Games Oy, joka toivoi selvitettäväksi pelimoottorin kehityksen aika-arvion ja kustannukset. Linna Games Oy:n työ- harjoittelussa kehitettyyn prototyyppi 2D-pelimoottoriin ja sen kehityskokemuksiin viitattiin tutkimuk- sessa. Tutkimuksessa myös hyödynnettiin neljän eri pelialan ammattilaisten mielipiteitä ja kokemuksia pelimoottorikehityksen suhteen. Ensin kaupallisia pelimoottoreita vertailtiin toisiinsa erityisesti niiden lisenssimaksujen suhteen. Seuraa- vaksi käsiteltiin pelimoottorin kehityksen menetelmät, hyödyt ja haitat. Tämän jälkeen omakehitteisen pelimoottorin kehityksen kustannuksia vertailtiin kaupallisten pelimoottoreiden lisenssimaksuihin. Lisens- simaksujen laskelmissa käytettiin kahta kuvitteellista peliä, joiden menestystason perusteella laskettiin käy- tettyjen pelimoottorien osuus esimerkkiyrityksen kokonaiskustannuksista. Vaikka oman pelimoottorin kehityksen voisi nähdä eduksi sen rajattomien kehitysmahdollisuuksien nimissä, tämän suuret kustannukset ja aika-arviot eivät puoltaneet tätä kannattavampana vaihtoehtona verrattuna kaupallisiin pelimoottoreihin. Pelimoottorin kehityksen pystyisi näkemään kannattavana, jos pelimoottorin skaala olisi tarpeeksi pieni tai yrityksellä löytyisi tarpeeksi resursseja kehittääkseen erityisominaisuuksia vaativia pelejä. Toimeksiantajan kannalta pelimoottorin kehitystä ei voida nähdä erityisen kannattavana vaihtoehtona, mutta jos tämän haluavat kehittää, 2D-pelimoottoria suurempaa projektia ei suositella. Toimeksiantajalle suositeltiin Godot-pelimoottorin käyttöä tämän MIT-lisenssin vuoksi. Pelimoottorin kehittäminen on haastava ja ajallisesti vaativa työ, jota peliyrityksen tulisi harkita omia resursseja vasten. Monet peliyritykset ovat siirtymässä pois omien pelimoottorien käytöstä kohti kaupallisia pelimoottoreita. Pelimoottorit kuten Unreal Engine ja CryEngine tarjoavat isoille yrityksille kaiken tarpeellisen laadukkaiden pelien kehitykseen ilman, että näiden kustannukset olisivat merkittäviä. Unity- ja Godot pelimoottorit tarjoavat samalla laadukkaan ja kustannustehokkaan vaihtoehdon pienimmille yrityksille ja näiden käyttämät lisenssit ovat entistä edullisempia. Abstract Author: Suokko Tuomas Title of the Publication: The Profitability of Creating a Game Engine Degree Title: Bachelor of Engineering, Information Systems Keywords: Game engine, profitability, software development, business operations The purpose of this Bachelor’s thesis was to determine, whether it would be profitable for a company to develop their own game engine, when there are many commercial game engines on the market with free licenses. The client of this research is Linna Games Oy, who wished to find out the needed time estimate and costs for game engine development. The author’s personal experiences in developing a prototype 2D-game engine for Linna Games Oy during his internship were used as reference. Four game industry professionals were also interviewed for their experience and opinions regarding game engine develop- ment. First, the commercial game engines were compared to each other, especially regarding their license fees. After that, the process of developing a game engine was analyzed. With all the needed data, the total costs of using commercial game engines and developing a new game engine could be compared. To calculate the license costs of the different commercial game engines, two different games with differing success rates were compared. The costs of using the commercial game engines were calculated from the total expenditures of an example company. While creating a game engine can be seen beneficial due to giving the creators unlimited creative possibilities, due to the expenses and time needed for development, it cannot be a more profitable solution, compared to using a commercial game engine. However, if a company has enough resources or the scale of the game engine is low enough, or the tools of commercial game engines do not meet the needs of the game being created, only then game engine development is a viable solution. For Linna Games Oy, creating a game engine cannot be seen as a viable option, but if inclined to develop one, it is not suggested to create anything larger in scope than a 2D-game engine. Godot was suggested to the client for its MIT-license. Game engine development is a challenging and time-consuming process that game companies should only consider while taking into account their own resources. Many game companies have moved on, from updating their in-house game engines, into using commercial ones. Game engines such as Unreal Engine and CryEngine give large companies all the needed tools to create massive games without the costs having major impact. Meanwhile, game engines such as Unity and Godot give smaller companies a more cost efficient alternative. Sisällys 1 Johdanto ................................................................................................................................ 2 2 Pelimoottorit ......................................................................................................................... 4 2.1 Käyttötarkoitus ja historia ........................................................................................... 4 2.2 Pelimoottorien ansaintamallit ..................................................................................... 5 2.2.1 Unity ................................................................................................................ 6 2.2.2 Unreal Engine .................................................................................................. 7 2.2.3 Game Maker Studio ........................................................................................ 8 2.2.4 Godot ............................................................................................................... 9 2.2.5 CryEngine......................................................................................................... 9 3 Pelimoottorin kehitys .......................................................................................................... 10 3.1 Pelimoottorin kehityshuomiot .................................................................................. 10 3.2 Linna Games Oy:n pelimoottorin kehitys .................................................................. 12 3.3 Pelimoottorin kehittämisen hyödyt ja haitat ............................................................ 14 3.4 Pelimoottorin kehityksen kannattavuus ................................................................... 15 4 Kaupallisen pelimoottorin valitseminen .............................................................................. 17 4.1 Kaupallisen pelimoottorin valinta pelinkehityksen kannalta .................................... 17 4.2 Kaupallisen pelimoottorin valinta taloudelliselta näkökulmalta............................... 21 5 Kokemuksia pelialan kehittäjiltä .......................................................................................... 23 5.1 Ari Arnbjörnsson (Housemarque) ............................................................................. 23 5.2 Zach Laster (Critical Charm) ...................................................................................... 24 5.3 David Barr (javidx9 Youtube-kanava) ........................................................................ 25 5.4 Mathilde Nord (Avalanche Studios) .......................................................................... 27 6 Pohdinta .............................................................................................................................. 28 7 Yhteenveto .......................................................................................................................... 31 Lähteet ........................................................................................................................................... 32 Liitteet 1 Sanastoluettelo 2D-peli: Peli, jonka visuaalinen tyyli muodostuu kaksiulotteisesta grafiikasta. 3D-peli Peli, jonka visuaalinen tyyli muodostuu pääosin kolmiulotteisesta grafiikasta. API: Application Programming Interface. Ohjelmointirajapinta. Joukko funktioita ja menettelytapoja, jotka mahdollistavat sovellusten kehityksen, joilla on pääsy käyttöjärjestelmän ominaisuuksiin tai tietoihin. Asset: Kaikki mitä voi kuulua peliin, mukaan lukien grafiikka, äänet, koodi ja työkalut pelinkehitykseen. Avoin lähdekoodi: Koodi, joka on vapaasti saatavilla ilman käyttörajoituksia. Graafinen käyttöliittymä: Tietokoneohjelmiston interaktiivinen visuaalinen esitystapa. Indie: Itsenäinen pelinkehittäjä, joka ei kehitä pelejä suurelle peliyritykselle. Refaktorointi: Ohjelmistokoodin uudelleenjärjestäminen tai -kirjoittaminen. Renderöinti: Graafisen kuvan toteuttaminen tietokoneen näytölle. Skriptikieli: Ohjelmointikieli, jonka kirjoitetusta ohjelmasta käännettyä koodia tulkitaan ajon aikana, sen sijaan että koodia täytyisi kääntää konekielelle ennen ajoa. Sprite-arkki: Kuvatiedosto, joka sisältää useita pienempiä kuvia laatoitetussa ristikkojärjestyksessä.