Miért van szükség egy már meglévő motorra, miért nem írunk nulláról valamit?
Az engine (esetünkben magyarra fordítva talán a játékmotor a megfelelő szó) egy olyan komplex, mindenre kiterjedő szoftverrendszer, ami megfelelő alapot ad egy játék számára, megadva a szabadságot, hogy a fejlesztők a kreativitásukat szabadjára engedve, magával a történettel, játékmenettel és a megjelenő grafikával, zenével tudjanak foglalkozni. Az engine magában foglalja a grafikát megjelenítő rendszert, a bejövő-kimenő adatok kezelését, a hangokat, a bemenetek vezérlését, és tartalmaz legalább valamilyen szkriptelőrendszert, ami segítségével végül a fejlesztők megírják a játékot. Ez gyakorlatilag olyan mint egy programnyelv.
Természetesen ez hatalmas háttérmunkától kímél meg egy fejlesztőcsapatot, hiszen nem kell a fenti alap dolgokkal foglalkozni, gyakorlatilag a fejlesztés valóban a játék készítéséről tud szólni.
A fentieken kívül nagyon sok esetben egyéb szolgáltatásokat is nyújt egy játékmotor, amiknek megléte feltétlenül szükséges bizonyos speciális játéktípusokhoz. Egy MMO, mint a Magic to Master is ilyen speciális játék, hiszen alaposan átgondolt, gondosan tesztelt hálózati rendszert igényel, amlyek biztosítja, hogy a játékosok a lehető leggyorsabban és lehetőleg akadálymentesen kommunikálhassanak egyazon játékvilágban, így amikor engine-t kerestünk, az igényeink eléggé speciálisak voltak.
A kérdésre, hogy miért kell külső engine, a válasz a fenti sorokban rejlik: engine-t írni nehéz és hosszú folyamat, rengeteg rendszerből áll össze, és a neheze csak az alaprendszerek elkészítése után jön, ugyanis a kódot optimalizálni kell, biztosítani, hogy a lehető legtöbb különféle számítógépen a lehető legjobban fusson.
Sok hiba csak hosszadalmas teszteléssel deríthető ki, ami egy játék feljesztését évekig nyújthatja, ráadásul ha elkészül egy alapmotor, azt finomhangolni is nagyon munka- és erőforrásigényes. Ilyen jellegű, rengeteg ideig húzódó játékmotor-fejlesztést kevesen engedhetnek meg maguknak, mi sem tehettük. Éppen az ilyen esetekre vannak a professzionális, már jelentős ideje fejlesztett engine-ek a piacon, amik ezt a terhet átveszik és a teszteket megcsinálják, a rendszert finomhangolják, csak és kizárólag az alapmotorra fókuszálva.
Ezeket az engine-eket a fejlesztőik eladják, ezáltal a munka egy részét kiválthatjuk, és a játékra magára koncentrálhatunk, drasztikusan lecsökkentve ezzel a fejlesztés terheit, és elérhetővé téve, hogy egy ilyen kis csapat, mint a miénk, igazi MMORPG-t fejleszthessen.
Az engine választás nehézségei
A Magic to Master megfelelő játékmotorjának keresése 2012 folyamán volt, és a kiválasztott engine vásárlása 2012 végén meg is történt. A jól ismert nagy engine-ek Unreal (Tera Online), CryEngine (Aion), vagy az akkor éppen feltörekvő Unity azért nem feleltek meg nekünk, mert viszonylag kicsi, vagy semmilyen támogatást nem nyújtottak kefejezetten MMO fejlesztéshez, ezt magunknak hozzáfejleszteni pedig túl hosszadalmas és drága feladatnak tűnt.
Az olyan hatalmas stúdiók, mint például az NCSoft komoly befektetést tudnak eszközölni, hogy egy speciális mellékmotort fejlesszenek egy megvásárolt alaprendszerhez. De ott van például a Tera-t fejlesztő nemzetközi összefogás, ahol a rengeteg önkéntes fejlesztő hatalmas munkaerővel bír, így sokkal gyorsabban haladhat egy-egy kitűzött munkával, mint egy olyan pár főből álló csapat, mint mi. Olyan engine-t kerestünk hát, amelyet eleve MMO-kra terveztek, és tartalmaznak egy jól átgondolt és tesztelt kommunikációs framework-öt, hogy a lehető legjobban illeszkedjen az igényeinkhez.