Milyen 2D játékmotort használjon a következő játékához

Néhány hete közzétettem tapasztalataimat arról, hogy megpróbáltam prototípust készíteni egy csomó különféle 2D-s játékmotorban / keretrendszerben, hogy megtudjam, mi készteti őket.

Ha a következő 2D-s játék motorja után vásárol, ez a cikk néhány megfontolandó dolgot tartalmaz, amelyek segíthetnek a felismerési folyamatban.

Ne feledje, hogy nem próbálok minden 2D-s játékmotort lefedni odakinn; egyik motort vagy keretet sem helyezem el a másik felett. Ezek az ajánlások személyes tapasztalataimból származnak, különféle motorok és keretek prototípus készítéséhez.

És ha inkább nézni, mint olvasni szeretne, létrehoztam ennek a bejegyzésnek a videó változatát (26 perces nézés):

Reagál

Első ránézésre azt gondolhatja: "A React egy interaktív weboldalak készítésének kezelőfelülete. Ez nem játékmotor!" És többnyire igazad lenne.

Reagálni nem natív módon támogatja játékfejlesztés alapjait, mint például a 2D fizika, de ez nem nyél állam nagyon jól. Ha Ön már egy JavaScript-fejlesztő, és hajlandó párosítani a React-et például a boardgame.io-val, hogy egy egyszerű 2D-s játékot készítsen, akkor egy prototípust meglehetősen gyorsan fel lehet használni és futtatni.

A 2D-s játékok minden más típusához érdemes máshova keresni.

Egység

A Unity mindenütt jelen van a 2D és 3D játékfejlesztő terekben. Kiváló 3D-s játékmotorként és egy működőképes 2D-ként helyezném el.

A Unity szerkesztő meglehetősen összetett, rengeteg beágyazott menüvel rendelkezik, amelyek eltartanak egy ideig, amíg a fejed köré fonódik (nézd meg ezt a cikket a 2D funkcióinak bemutatásához). Ha még nem rendelkezik a C # háttérrel, amelyet a Unity használ a szkriptek készítéséhez, akkor azt érdemes felkészítenie a Unity megtanulása előtt, mivel ez megkönnyíti az általános tanulási görbét.

A Unity sok mindent "kemény úton" is elvégez a 2D-s játékfejlesztés terén, amely nem érzi magát natívnak a többi játékmotorhoz képest. Például a 2D játékvilág létrehozása a Unity-ben úgy érzi, mintha egy 2D-s repülőgépet nagy 3D-s térbe ültetne, és az olyan dolgok, mint az animáció és a pixelek tökéletessége, nehezebbek, mint más 2D-specifikus motoroknál.

Bármilyen típusú 2D-s játékot készíthet a Unity-vel, ha hajlandó birkózni a szerkesztővel és a mögöttes 3D-s sajátosságokkal. Kiterjedt közösségi támogatással rendelkezik, és rájössz, hogy a C # -val való együttműködés öröm. Ezenkívül a Unity Asset Store-ban mindenféle művészet és sablon megtalálható, amelyekkel letöltheti és megvásárolhatja, de a vevő vigyázzon: annyi időt tölthet el, amikor valaki más kódját átírja a projektjéhez, mint amennyit csak a nulláról kezdene.

A Unity általában szabadon használható, de az árképzés bonyolultabbá válik, ha mindent fel akar használni a kínálatában (további részletekért lásd ezt az oldalt).

Godot

A Godot egy ingyenes és nyílt forráskódú 2D és 3D játékmotor, amely támogatja a GDScript, a C #, sőt a C ++ és a Python programokat is, ha hajlandó sokat megtenni a nehéz emelés érdekében, hogy működjenek. Támogatja a csomópont stílusú munkafolyamatot, és rendkívül könnyű.

Ha a) hajlandó befektetni a GDScript elsajátításába, vagy b) már nagyon jó a C #, a C ++ vagy a Python nyelven, akkor valószínűleg jól fog állni a Godot-ban, különösen, ha szívesen dolgozik nyílt forráskódú szoftverekkel. Ha nem, akkor könnyen elkeseredhet, mivel közel sem akkora a C # vagy más nyelvek támogatása, mint a GDScript számára. Mégis, Godot kellemes motor, amellyel működhet, és bár lehet, hogy nem ugyanaz a törzskönyve és közösségi támogatottsága, mint a Unity-nek, ha önindító vagy, akkor otthon érezheted magad.

3. konstrukció

Ha csak 2D-s játékokat szeretne készíteni, és nem érdekli a programozási nyelv vagy az előfizetési díjak, akkor a Construct 3 mindent megtalál, amire szüksége van a bemutató elindításához és futtatásához, és gyorsan. Minden munkáját egy böngészőben végzi el, a fogd és vidd eszközökkel (és szükség esetén egyedi JavaScript támogatással).

Ne számítson azonban arra, hogy érdemben produktív élményben lesz része a Construct 3-mal ingyenesen. Van egy egyszerű bemutató, amelyet kipróbálhat, de a Construct 3 alkalmazással a hatékony játékfejlesztés egy fizetőfal mögé van zárva, és ehhez előfizetés.

Game Maker Studio 2

A Game Maker Studio 2 rendelkezik egy felhasználóbarát szerkesztővel, amely támogatja a saját, Game Maker Language (GML) nevű saját nyelvet és a vizuális szkripteket. Sok oktatóanyaggal, nagyszerű közösségi támogatással és eszközraktárral rendelkezik (amely ugyanazokkal a figyelmeztetésekkel jár, mint a fenti Unity).

A Game Maker Studio 2 általános munkafolyamata és olyan dolgok végrehajtása, mint a sprite animálása, a játék világának beállítása stb., Egyszerű és intuitív. Előfordulhat, hogy a GML nem az Ön csésze teája, ha egy másik, szélesebb körben használt programozási nyelvből származik, és nem javasolnám első bevezetésként a kódolás elsajátításához. A programozás néhány alapfogalmát alkalmazza, de nem tartalmaz olyan fontos részleteket, mint például a bevált gyakorlatok kódolása vagy a tiszta kód írása.

Ezenkívül kipróbálhatja a Game Maker Studio 2-t egy ingyenes 30 napos próbaverzióval, de fizetnie kell, hogy továbbra is használhassa azt az idő után.

Phaser 3

Ha mindent kódolni akar , és közben sokat megtud a JavaScript ökoszisztémáról, akkor nézze meg a Phaser 3-at (vagy várjon a Phaser 4-re, amely éppen úton van).

A Phaser egy könnyű és hatékony JavaScript-keret 2D-s játékok készítéséhez. Míg a Phaser 2 rendkívül jól dokumentált és kiváló közösségi támogatást kapott, a Phaser 3 épp ellenkezőleg. Van egy jó hivatalos dokumentáció és egy csomó példa (különösebb kontextus nélkül, azt kell mondani), és rettenetesen kevés oktatóanyag.

Arra számíthat, hogy mindent maga épít, de ha ES6 vagy TypeScript támogatást keres, vagy ha valóban fejleszteni szeretné JavaScript-fejlesztői készségeit, akkor hosszú utat tehet meg a Phaser 3-mal.

A méltányosság érdekében meg kell említenem egy másik két 2D-s játékmotort, amelyeket nekem ajánlottak, mióta elkezdtem írni a témát: a LÖVE 2D-t, amely a Lua-t használja, és a MonoGame-et, amely támogatja a C # -ot. Nem használtam egyiket sem (vagy másokat, például a PyGame-et), és nem tudok beszélni a hasznosságukról, de érdemes megnézni őket.

Mondja meg, melyik 2D-s játékmotort használja, és miért!

Ha tetszett ez a cikk, kérjük, fontolja meg a játékaim és könyveim megtekintését, a YouTube-csatornámra való feliratkozást vagy a csatlakozást az Entromancy Discord-hoz.

Farzan MS, Ph.D. írt és dolgozott olyan nagy horderejű videojáték-társaságoknál és szerkesztőségi weboldalakon, mint az Electronic Arts, a Perfect World Entertainment, a Modus Games és az MMORPG.com, valamint közösségi vezetőként dolgozott olyan játékoknál, mint a Dungeons & Dragons Neverwinter és a Mass Effect: Andromeda . Az Entromancy: A Cyberpunk Fantasy RPG kreatív igazgatója és vezető játéktervezője,valamint a The Nightpath Trilogy szerzője. Keresse meg MS Farzant a Twitteren @sominator.