Mikä on Unity?

Unity on vuonna 2005 lanseerattu, alustariippumaton pelimoottori ja integroitu kehitysympäristö.

Unity on peli- ja ohjelmistokehityksen työkalu. Se on sekä aloittelevien koodareiden, että ammatikseen pelejä kehittävien tekijöiden suosima työkalu. Unity on tehokas, helppokäyttöinen ja ilmainen siihen asti kunnes tekijä tai yritys alkaa tekemään liikevaihtoa yli tietyn rajan.

Unity-pelimoottorilla voidaan toteuttaa niin kaksiulotteisia kuin kolmiulotteisiakin pelejä ja muita sisältöjä, kuten simulaattoreita. Lisäksi pelimoottori soveltuu virtuaalitodellisuuden ratkaisuihin, kuten VR ja AR. Unity-kehitystyötä on alettu soveltamaan myös pelialan ulkopuolisilla toimialoilla, kuten elokuva-alalla, autonvalmistuksessa, rakennusalalla ja arkkitehtuurin piirissä.

Pelimoottori


Seuraavassa kappaleessa puramme lyhyesti mitä tämä tarkoittaa pelien kehityksen kannalta.

Pelimoottorina Unity tarjoaa suurimman osan kaikista pelien tekemisen tärkeimmistä toiminnoista. Näihin toimintoihin sisältyvät muun muassa toiminnot kuten fysiikat, 3D-renderöinti ja törmäyksentunnistus. Pelinkehittäjälle tämä tarkoittaa käytännössä sitä ettei hänen itse tarvitse aloittaa kehitystyötä tyhjästä. Ilman Unityn kaltaista pelimoottoria kehittäjän tulisi luoda oma pelimoottori alusta alkaen, näin ollen joutuen muun muassa luomaan uudet moottorin sisäiset fysiikan lainalaisuudet, uudet materiaalit, valon käyttäytymiselle säännöt sekä lukuisia muita vaikuttavia tekijöitä.

Valmiiden toimintojen ja pelimoottorin lisäksi Unityn suurimpina vahvuuksina on sen tarjoama “Asset Store”. Asset Store on käytännössä paikka, johon kehittäjät voivat ladata omia luomuksiaan tehden ne saataviksi koko kehitysyhteisön käyttöön.

Asset Store mahdollistaa sen, ettei kehittäjä joudu tekemään jokaista haluamaansa elementtiä itse alustan alkaen. Esimerkiksi peliympäristön assetteja kuten puita, pensaita ja rakennuksia on helppo ladata Asset Storesta, sen sijaan että tekisi jokaisen niistä erikseen itse. Tämä kaikki mahdollistaa sen, että kehittäjä voi keskittyä olennaisimpaan; eli uniikin ja hauskan pelikokemuksen suunnittelemiseen.

Kuva havainnollistaa Unityn käyttöliittymän ulkonäköä
Näkymä Unityn käyttöliittymästä

Kehitysympäristö (IDE)

Unity ei ole vain pätevä pelimoottori, mutta sen lisäksi se on integroitu kehitysympäristö (IDE). Integroidulla kehitysympäristöllä tarkoitetaan liittymää, joka antaa kaikki työkalut yhdessä paikassa muun muassa sovelluskehitykseen. Unityssa on visuaalinen editori, jossa käyttäjä voi raahata ja pudottaa elementtejä pelinäkymään (scene) ja sen jälkeen muunnella niiden ominaisuuksia.

Unityn muita hyödyllisiä ominaisuuksia ja työkaluja ovat muuan muassa mahdollisuudet navigoida projektin eri kansioiden läpi, sekä esimerkiksi animoinnin toteuttaminen aikajanatyökalua apuna käyttäen.

Koodaamista varten puolestaan Unity tarjoaa käyttöön käyttäjän valitseman koodieditorin. Suosittu ja toimivaksi todettu Visual Studio integroituu Unityn kanssa lähes vaivattomasti.

Unity ja C#

Unity-kehittäjä käyttää C#-kieltä pelilogiikan ja yksittäisten skriptien ohjelmoimiseen. Tässä onnistuakseen on hyvä tuntea ja opetella Unityn tarjoaman ohjelmointirajapinnan mahdollisuudet ja rajoitukset. Opettelun tarpeesta huolimatta, Unityllä pystyy tekemään myös paljon ilman mittavaa koodin hallitsemista. Ohjelmoinnin ymmärtäminen kuitenkin avaa lisää mahdollisuuksia toteuttaa omaa visiotaan, sillä Unity antaa käyttäjälle mahdollisuuden muuttaa lähes kaikkea.

Vaikka C# ei olisikaan tuttu aikaisemmin, on se yksi aloittelijalle ystävällisimmistä ohjelmointikielistä. C#-kielen opettelu on myös hyödyllistä, koska sillä on paljon yhtäläisyyksiä muiden suosittujen ohjelmointikielien kanssa kuten C ja JavaScript. Tämän lisäksi C# on peli- ja ohjelmistoalalla yleisessä käytössä, minkä vuoksi alalle pyrkiville sen hallitseminen on lähes välttämätön taito.

Unity ja muut pelimoottorit

Kuva havainnollistaa vastakkainasettelua, jossa toisella puolella Unity-pelimoottori ja toisella Unreal Engine-pelimoottori.

Unity ei luonnollisesti ole ainoa markkinoilla oleva käyttövalmis pelimoottori. Unityn kilpailijoina ovat muun muassa Unreal Engine ja Godot. Miten siis Unity pärjää kilpailijoitaan vastaan?

Unityn selkeä vahvuus on mobiilikehittämisen tuessa. Se on pätevä sekä 3D- ja 2D-työkaluna, mikä luo mahdollisuuksia varsinkin mobiilipelikehityksessä. Lisäksi Unityn tapa käsitellä grafiikkaa tekee mahdolliseksi sovellusten ja pelien porttauksen jopa alemman tason laitteistolle. Näistä syistä se onkin monen Google Playssa esiintyvän sovelluksen luontityökalu.

Unity on myös alustariippumaton, minkä vuoksi pelien kehittäjien on mahdollista tehdä pelejä mobiilialustojen lisäksi tietokoneille, pelikonsoleille ja jopa verkkosivuille. Lisäksi Unityyn sisältyy VR-sovellusten tekemiseen oivalliset työkalut, jolloin sekä VR-pelit ja erilaiset teolliset simulaatiot ovat mahdollisia.

Kuitenkin Unityn kilpailijoilla kuten Unreal Enginellä on etulyöntiasema esimerkiksi grafiikoiden korkean tason puolesta. Unityn grafiikan taso on kuitenkin alkanut kaventamaan graafista eroa. Lisäksi Unreal Engine on ainoastaan käytössä pelien tekemisessä ja sen oppimiskäyrä on uudelle käyttäjälle jyrkempi kuin Unityssa.

Pelimoottorien valinnassa on pääasiallisesti kyse oikeiden työkalujen valitsemisesta omiin tarkoituksiin nähden. Mikäli tavoitteena on toteuttaa kolmen A:n (AAA) konsolipeli parhailla mahdollisilla grafiikoilla on Unreal Engine mahdollisesti parhain työkalu. Kuitenkin jos tähtäät mobiilikehityksen pariin, on Unity ehdoton ykkösvalinta.

Niko Ollikka

  • Junior Marketing Specialist
  • Työkalut: Hootsuite, G Suite, LinkedIn, Leadfeeder, Vainu
  • Diggaa: Narratiiviset ja visuaaliset pelit, kamppailulajit ja amerikkalainen jalkapallo

Kysyttävää? Soita Herkolle!