Ero sivun ”2D peliohjelmointi” versioiden välillä
Siirry navigaatioon
Siirry hakuun
päivitystä |
|||
| Rivi 81: | Rivi 81: | ||
== Yleisimmät avoimen lähdekoodin 2D-pelimoottorit == | == Yleisimmät avoimen lähdekoodin 2D-pelimoottorit == | ||
Pelimoottorin (Game Engine) ja pelikehyksen (Game Framework) ero on keskeinen pelinkehityksen termistössä, ja se liittyy ensisijaisesti siihen, kuinka paljon esivalmisteltua toiminnallisuutta ne tarjoavat ja kuinka paljon kontrollia ne jättävät kehittäjälle. | |||
{| class="wikitable" | |||
|+ | |||
|- | |||
! Ominaisuus !! Selitys | |||
|- | |||
| Integroitu editori || Sisältää graafisen käyttöliittymän, jossa voit sijoittaa objekteja, säätää valaistusta, luoda animaatioita ja koota tasoja koodia kirjoittamatta. | |||
|- | |||
| Kattava toiminnallisuus || Sisältää valmiiksi renderöintimoottorin, fysiikkamoottorin, äänenhallinnan, käyttöliittymäjärjestelmän (UI) ja usein oman komentosarjakielen. | |||
|- | |||
| Abstraktio || Abstrahoi suurimman osan matalan tason (low-level) koodauksesta. Sinun ei tarvitse tietää, miten grafiikkapiiri piirtää pikseleitä ruudulle. | |||
|- | |||
| Kehityksen nopeus || Kehitysprosessi on yleensä nopeampi, koska suurin osa perustoiminnoista on valmiina. | |||
|- | |||
| Esimerkkejä || [[Godot]], [[Unity3D|Unity]], [[Unreal Engine]], [[GameMaker Studio]]. | |||
|} | |||
Pelimoottori on kuin valmis omakotitalon runko, jossa on jo putket, sähköt ja keittiön peruskalusteet asennettuna. Sinun tehtäväsi on sisustaa ja muokata sitä tarpeidesi mukaan. | |||
=== Godot Engine (Suosituin) === | === Godot Engine (Suosituin) === | ||
| Rivi 90: | Rivi 108: | ||
=== MonoGame / FNA (C#-kehittäjille) === | === MonoGame / FNA (C#-kehittäjille) === | ||
MonoGame ja FNA eivät ole varsinaisia pelimoottoreita, vaan pelikehyskirjastoja (frameworks). Ne ovat avoimen lähdekoodin toteutuksia Microsoftin vanhasta XNA-kehitysympäristöstä. Se Tarjoaa täyden kontrollin koodiin. Se on kevyt ja soveltuu hyvin retrotyylisiin ja yksinkertaisiin peleihin. | [[MonoGame]] ja [[FNA]] eivät ole varsinaisia pelimoottoreita, vaan pelikehyskirjastoja (frameworks). Ne ovat avoimen lähdekoodin toteutuksia Microsoftin vanhasta XNA-kehitysympäristöstä. Se Tarjoaa täyden kontrollin koodiin. Se on kevyt ja soveltuu hyvin retrotyylisiin ja yksinkertaisiin peleihin. | ||
* Lisenssi: Microsoft Public License (Ms-PL) / MIT-lisenssi (FNA). | * Lisenssi: Microsoft Public License (Ms-PL) / MIT-lisenssi (FNA). | ||
* Vahvuudet: Soveltuu erinomaisesti C#-kielellä koodaaville kehittäjille, jotka haluavat täyden kontrollin pelin toiminnasta. Se on valinta monille retrotyylisille peleille. | * Vahvuudet: Soveltuu erinomaisesti C#-kielellä koodaaville kehittäjille, jotka haluavat täyden kontrollin pelin toiminnasta. Se on valinta monille retrotyylisille peleille. | ||
| Rivi 96: | Rivi 114: | ||
=== LibGDX (Java-kehittäjille) === | === LibGDX (Java-kehittäjille) === | ||
LibGDX on Java-pohjainen, avoimen lähdekoodin kehyskirjasto, joka keskittyy monialustaisuuteen (Android, iOS, selain, työpöytä). Se on nopea ja tehokas, hyödyntää Java-ekosysteemiä. Vaatii enemmän koodausta. | [[LibGDX]] on Java-pohjainen, avoimen lähdekoodin kehyskirjasto, joka keskittyy monialustaisuuteen (Android, iOS, selain, työpöytä). Se on nopea ja tehokas, hyödyntää Java-ekosysteemiä. Vaatii enemmän koodausta. | ||
* Lisenssi: Apache 2.0 -lisenssi. | * Lisenssi: Apache 2.0 -lisenssi. | ||
* Vahvuudet: Erittäin joustava ja kevyt, sopii kehittäjille, jotka ovat tottuneet Javaan ja haluavat luoda pelejä, jotka toimivat laajalla laitekirjolla. Vaatii hieman enemmän itse rakentamista kuin Godot. | * Vahvuudet: Erittäin joustava ja kevyt, sopii kehittäjille, jotka ovat tottuneet Javaan ja haluavat luoda pelejä, jotka toimivat laajalla laitekirjolla. Vaatii hieman enemmän itse rakentamista kuin Godot. | ||
=== Defold Engine === | |||
[[Defold]] on erittäin tehokas, kevyt ja monialustainen pelimoottori. Vaikka sen kehitys alkoi suljetulla lähdekoodilla, se siirtyi myöhemmin täysin avoimeen lähdekoodiin ja on nykyään ruotsalaisen säätiön ylläpitämä. | |||
* Pääkieli: Lua. | |||
* Vahvuudet: Soveltuu erinomaisesti mobiilipeleihin ja HTML5-peleihin. Se on tunnettu nopeasta suorituskyvystä ja kevyestä paketista. Se käyttää komponenttipohjaista arkkitehtuuria. | |||
* Lisenssi: Käyttäjäystävällinen lisenssi, joka mahdollistaa kaupallisen käytön. | |||
=== LÖVE (2D Game Framework) === | |||
[[LÖVE]] (tai Love2D) on erittäin suosittu valinta niille, jotka haluavat täyden kontrollin ja nauttivat koodaamisesta. Se ei ole täysi moottori vaan enemmänkin kehys. | |||
* Pääkieli: Lua. | |||
* Vahvuudet: Erittäin kevyt, nopea prototyyppien tekemiseen ja sopii aloittelijoille, jotka haluavat oppia ohjelmoimaan pelejä alusta asti. Se tarjoaa vain grafiikan, äänen ja syötteen toiminnot, ja käyttäjän on koodattava fysiikka ja pelilogiikka itse (tai integroitava siihen ulkoisia kirjastoja). | |||
=== Ren'Py (Visual Novels) === | |||
[[Ren'Py]] on hyvin erikoistunut avoimen lähdekoodin moottori, joka on suunniteltu nimenomaan visuaalisten novellien (Visual Novels) ja simulaatiopelien luomiseen. | |||
* Pääkieli: [[Python]] (erityisellä, yksinkertaistetulla komentosarjakielellä). | |||
* Vahvuudet: Maailman johtava työkalu visuaalisten novellien luomiseen. Jos 2D-pelisi painopiste on tarinankerronnassa, hahmokuvissa ja teksteissä, Ren'Py on paras valinta. | |||
=== GDevelop === | |||
[[GDevelop]] on ilmainen, avoimen lähdekoodin ja tapahtumapohjainen pelimoottori, joka on suunniteltu erityisesti ilman koodia (no-code) työskenteleville käyttäjille. | |||
* Ohjelmointi: Käyttää visuaalista tapahtumajärjestelmää koodaamisen sijaan. | |||
* Vahvuudet: Erinomainen aloittelijoille tai opettamiseen. Pystyy julkaisemaan pelejä HTML5:lle, Androidille ja työpöydälle. | |||
== Pelikehys (Game Framework) == | |||
== Muita avoimen lähdekoodin työkaluja == | == Muita avoimen lähdekoodin työkaluja == | ||