Hvilken 2D-spilmotor skal du bruge til dit næste spil

For et par uger siden skrev jeg om min erfaring med at forsøge at lave en prototype i en masse forskellige 2D-spilmotorer / rammer for at lære, hvad der får dem til at kryds.

Hvis du er på udkig efter en motor til dit næste 2D-spil, vil denne artikel give nogle ting at overveje, der kan hjælpe i din dømmekraft.

Bemærk, at jeg ikke forsøger at dække hver 2D-spilmotor derude; ej heller placerer jeg en motor eller ramme over en anden. Disse anbefalinger er fra min personlige erfaring med forskellige motorer og rammer til prototyping.

Og hvis du foretrækker at se i stedet for at læse, har jeg oprettet en videoversion af dette indlæg (26 minutters overvågning):

Reagere

Ved første øjekast tænker du måske: "React er en frontend-ramme til oprettelse af interaktive websteder. Det er ikke en spilmotor!" Og du ville være mest korrekt.

React giver ikke indbygget understøttelse af spiludvikling basics, ligesom for eksempel 2D fysik, men det gør håndtag tilstand særdeles godt. Hvis du allerede er JavaScript-udvikler og villig til at parre React med noget som boardgame.io for at lave et simpelt 2D-spil, kan du muligvis få en prototype i gang temmelig hurtigt.

For alle andre typer 2D-spil skal du kigge andre steder.

Enhed

Enhed har gjort sig allestedsnærværende i 2D- og 3D-spiludviklingsrum. Jeg ville placere det som en fremragende 3D-spilmotor og en brugbar 2D-en.

Unity-editoren er ret kompleks med mange indlejrede menuer, der tager lidt tid at pakke hovedet rundt (tjek denne artikel for en rundvisning i dens 2D-funktioner). Hvis du ikke allerede har en baggrund i C #, som Unity bruger til scripting, vil du gerne børste det op inden du lærer Unity, da det vil gøre din samlede læringskurve lettere.

Enhed gør også mange ting på den "hårde måde", når det kommer til 2D-spiludvikling, som ikke føles indfødt i forhold til andre spilmotorer. At oprette en 2D-spilverden i Unity føles for eksempel som om du skovhorner et 2D-plan i et stort 3D-rum, og ting som animation og pixelperfektion er mere klodset end i andre 2D-specifikke motorer.

Du kan lave enhver type 2D-spil med Unity, hvis du er villig til at kæmpe med redaktøren og de underliggende 3D-idiosynkrasier. Det har omfattende samfundsstøtte, og du vil opdage, at det er en fornøjelse at arbejde med C #. Derudover har Unity's Asset Store al slags kunst og skabeloner, som du kan downloade og købe, men køber pas på: du bruger muligvis så meget tid på at omskrive en andens kode, så den passer til dit projekt, som du lige ville starte fra bunden.

Enhed er generelt gratis at bruge, men prisfastsættelse bliver mere kompleks, hvis du vil bruge alt, hvad den har at tilbyde (se denne side for flere detaljer).

Godot

Godot er en gratis og open source 2D- og 3D-spilmotor, der understøtter GDScript, C # og endda C ++ og Python, hvis du er villig til at gøre en masse tunge løft for at få dem til at fungere. Det understøtter en arbejdsgang i node-stil og er super let.

Hvis du er) villig til at investere i at lære GDScript eller b) allerede er super god til C #, C ++ eller Python, vil du sandsynligvis have det godt i Godot, især hvis du kan lide at arbejde med open source-software. Hvis ikke, kan du blive let frustreret, da der ikke er nær så meget support til C # eller andre sprog som der er til GDScript. Godot er stadig en behagelig motor, som man kan arbejde med, og selvom den måske ikke har den samme stamtavle og samfundsstøtte som noget som Unity, hvis du er en selvstarter, kan du føle dig godt hjemme.

Konstruktion 3

Hvis du bare vil lave 2D-spil og ikke er ligeglad med programmeringssprog eller abonnementsgebyrer, finder du Construct 3 for at have alt hvad du behøver for at få en demo i gang og hurtigt. Alt dit arbejde udføres i en browser ved hjælp af træk-og-slip-værktøjer (og tilpasset JavaScript-support, hvis du har brug for det).

Forvent ikke at have en meningsfuld produktiv oplevelse med Construct 3 dog gratis. Der er en simpel demo, som du kan prøve, men effektiv spiludvikling med Construct 3 er låst bag en betalingsvæg og et abonnement derpå.

Game Maker Studio 2

Game Maker Studio 2 har en brugervenlig editor, der understøtter et proprietært sprog kaldet passende Game Maker Language (GML) sammen med visuel scripting. Det har også mange tutorials, god community support og en aktivbutik (som kommer med de samme advarsler som Unity's ovenfor).

Den generelle arbejdsgang i Game Maker Studio 2 og gør ting som animering af sprites, opsætning af din spilverden osv. Er ligetil og intuitiv. GML er muligvis ikke din kop te, hvis du kommer fra et andet, mere udbredt programmeringssprog, og jeg vil ikke anbefale det som din første introduktion til at lære at kode. Det anvender nogle af de grundlæggende begreber ved programmering, men ikke vigtige detaljer såsom kodning af bedste praksis eller hvordan man skriver ren kode.

Derudover kan du prøve Game Maker Studio 2 med en gratis 30-dages prøveperiode, men du skal betale for at fortsætte med at bruge det efter det tidspunkt.

Phaser 3

Hvis du vil kode alt og lære meget om JavaScript-økosystemet, mens du gør det, skal du tjekke Phaser 3 (eller vente på Phaser 4, som er på vej).

Phaser er en let og stærk JavaScript-ramme til fremstilling af 2D-spil. Mens Phaser 2 var ekstremt veldokumenteret og havde fremragende samfundsstøtte, er Phaser 3 tværtimod det modsatte. Der er god officiel dokumentation og en masse eksempler (uden meget sammenhæng omkring dem skal det siges) og en frygtelig lille mængde tutorials.

Forvent at bygge alt selv, men hvis du leder efter ES6- eller TypeScript-support, eller hvis du virkelig vil polere dine evner som JavaScript-udvikler, vil du være i stand til at gå langt med Phaser 3.

Af hensyn til retfærdighed skal jeg nævne to andre 2D-spilmotorer, der er blevet anbefalet til mig siden jeg begyndte at skrive om emnet: LÖVE 2D, der bruger Lua, og MonoGame, som understøtter C #. Jeg har ikke brugt nogen af ​​dem (eller andre, såsom PyGame) og kan ikke tale om deres anvendelighed, men de kan være værd at tjekke ud.

Lad mig vide, hvilken 2D-spilmotor du ender med at bruge, og hvorfor!

Hvis du kunne lide denne artikel, kan du overveje at tjekke mine spil og bøger, abonnere på min YouTube-kanal eller deltage i Entromancy Discord.

MS Farzan, Ph.D. har skrevet og arbejdet for højt profilerede videospilvirksomheder og redaktionelle websteder som Electronic Arts, Perfect World Entertainment, Modus Games og MMORPG.com og har fungeret som Community Manager for spil som Dungeons & Dragons Neverwinter og Mass Effect: Andromeda . Han er Creative Director og Lead Game Designer af Entromancy: A Cyberpunk Fantasy RPG og forfatter af The Nightpath Trilogy . Find MS Farzan på Twitter @sominator.