API usability of game development toolkits

No Thumbnail Available

URL

Journal Title

Journal ISSN

Volume Title

School of Science | Master's thesis
Checking the digitized thesis and permission for publishing
Instructions for the author

Date

2013

Major/Subject

Vuorovaikutteinen digitaalinen media

Mcode

T-111

Degree programme

Language

en

Pages

[7] + 92

Series

Abstract

In this master's thesis I am examining API usability of game development toolkits as well as other factors that affect choosing a game development toolkit. For the thesis I conducted an Internet survey which was completed by 38 game programmers who have experience in Unity, Flash or PlayN. I created the survey using Martin P. Robillard's similar API usability survey, Steven Clarke's twelve cognitive dimensions, and Joshua Bloch's presentation "How to design a good API and why it matters" as a basis. The goal of the survey was to gather and share information about the experiences the developers have had with these toolkits. Since the selected toolkits differ a lot from each other, it is impossible to evaluate which toolkit is the best. Instead, the reader gets a better understanding about the benefits, suitability areas, and drawbacks of each toolkit. Most of the respondents were happy with these toolkits in general. All three toolkits were praised for their multi-platform support and iteration speeds. To mention some of the results of the survey, Flash had the best API resources while documentation of PlayN and Unity was considered somewhat lacking. Unity programmers praised the graphical tools and ready-made functionality in general but noted that there is still room for improvements as well. Unity is at the moment the only toolkit of the three toolkits which supports making both 3D and 2D games, while PlayN and Flash support only 2D games. On the other hand, PlayN and Flash were considered better choices for making web games than Unity. Especially PlayN was considered a very good option for HTML development. All in all, each of these toolkits has their points and one needs to evaluate themselves which is the best option for their needs. The game type, the targeted platforms, and the development team all have an influence on which toolkit is the best option for a particular case.

Tässä diplomityössä tarkastellaan pelinkehitystyökalujen API-käytettävyyttä. ja työkalujen valintaan vaikuttavia tekijöitä. Työtäni varten teetin Internet-kyselyn, johon vastasi 38 peliohjelmoijaa, joilla on kokemusta Unity-, Flash- tai PlayN työkaluista. Kysely on laadittu Martin P. Robillardin vastaavanlaisen API käytettävyyskyselyn ideoita, Steven Clarken kognitiivisia dimensioita ja Joshua Blochin esitelmää, "How to design a good API and why it matters", apuna käyttäen. Kyselyn tarkoituksena oli kerätä pelinkehittäjien kokemuksia näistä pelinkehitystyökaluista. Koska vertailtavat työkalut eroavat toisistaan paljon ja soveltuvat erilaisiin käyttötarkoituksiin, ei voida arvioida, mikä vertailtavista työkaluista on paras. Sen sijaan lukija saa käsityksen kunkin työkalun vahvuuksista, soveltuvuusalueista ja heikkouksista. Lähes kaikki vastaajat olivat keskimäärin tyytyväisiä näihin pelinkehitystyökaluihin ja niiden API:in. Kaikki työkalut saivat kehuja alustatuestaan ja iteroinnin nopeudesta. Flashin API-resurssit olivat vertailussa parhaat, kun taas PlayN:n ja Unityn dokumentaatiosta löytyi puutteita. Unity-ohjelmoijat pääsääntöisesti kehuivat Unityn graafisia työkaluja ja ominaisuuksia, mutta näkivät niissä toisaalta myös kehittämisen varaa. Unity on työkaluista tällä hetkellä ainoa, joka soveltuu sekä 3D- että 2D-pelien tekemiseen, kun taas PlayN ja Flash soveltuvat parhaiten 2D-pelien tekemiseen. PlayN ja Flash puolestaan olivat vastaajien mielestä parempia selainpelien tekemiseen kuin Unity. Erityisesti PlayN:aa pidettiin hyvänä työkaluna HTML5-pelinkehityksessä. Jokaisessa työkalussa siis on puolensa ja kehittäjät joutuvat itse arvioimaan tapauskohtaisesti, mikä työkalu soveltuu parhaiten heidän tarpeisiinsa. Työkalujen valintaan vaikuttavat pelin tyyppi, tuettavat alustat ja henkilöt, jotka työkalua tulevat käyttämään.

Description

Supervisor

Hämäläinen, Perttu

Keywords

API usability, API-käytettävyys, game programming, peliohjelmointi, game development toolkits, pelinkehitystökalut, game engines, pelimoottorit, usability, käytettävyys, game libraries, pelikirjastot

Other note

Citation