Hvilken plattform å velge for ditt neste mobilspill?

I denne artikkelen undersøker vi flere spillmotorer og -rammer, og fremhever noen av de viktigste fordelene hver av dem tilbyr. Etter å ha lest denne artikkelen, vil du ha flere alternativer å velge mellom for å gjøre neste store treff. Merk at vi bare fokuserer på 2D-aspektene av disse plattformene. La oss komme i gang.

1. Cocos2D

Cocos2d er en fri, åpen kildekode ramme, kompatibel med både Swift og Objective-C. Den har støtte for iOS og OS X, og den støtter også Android gjennom SpriteBuilder Android-plugin forutsatt at koden er skrevet i Objective-C. Swift støtte for Android er i utvikling.

Prosjekter i Cocos2d er opprettet gjennom SpriteBuilder, et grafisk designmiljø som du kan bruke til raskt å prototype og bygge spill. Du er ikke pålagt å bruke SpriteBuilder til å bygge spillet ditt, men prosjektet må skje gjennom SpriteBuilder.

Scenehåndtering gjøres gjennom CCDirector klassen, som kan bruke mange overganger med CCTransition klasse. Det tilbyr animasjoner gjennom CCAnimation klasse og handlinger, for eksempel flytte, skala og rotere, med dens CCAction klasse. Cocos2d har støtte for partikkelsystemer med CCParticleSystem klasse og har støtte for flisekart med CCTiledMap klasse.

Cocos2d bruker også OpenGL som sin gjengivelsesmotor. Den bruker Chipmunk som sin fysikkmotor. Hvis du liker Objective-C eller Swift, og du vil utvikle for flere plattformer (iOS og Android), så er Cocos2d et rammeverk verdt å vurdere.

2. Cocos2d-x

Cocos2d-x er en C ++-port av Cocos2d som kan kompilere til mange andre plattformer. Cocos2d-x kan kompilere til iOS, Android, Windows Phone, OS X, Windows og Linux.

Cocos2d-x kommer ikke med SpriteBuilder. Det har imidlertid noen interessante prosjekter, som Cocos Creator, som gir rammen, scene redigering, feilsøking, forhåndsvisning av spill og publisering til flere plattformer.

3. Enhet

Unity er en mobil spillmotor som støtter C # og UnityScript, et språk designet spesielt for Unity og modellert etter JavaScript. Det er plattform og kan distribueres til mange plattformer, inkludert PlayStation og Xbox. Det finnes en gratis utgave og en profesjonell utgave som tilbyr flere funksjoner. Mer informasjon er tilgjengelig på Unity nettsiden.

Det er en innebygd sprite editor der du kan visuelt dele bildene dine og et animasjonsvindu som lar deg legge ut og organisere animasjoner og legge til nøkkelramme animasjoner for å sprites. Det er også mulig å visuelt utforme partikkelsystemer i Unity-editoren.

Unity bruker sin egen proprietære fysikkmotor. Enhet har et innebygd kamera som gjør det enkelt å navigere i spillverdenen. Du kan visuelt legge ut scener, og Unity har et brukergrensesnitt med komponenter, for eksempel knapper, skyveknapper og menyer. Det er også støtte for sprite-pakking i Unity-editoren.

Enhet er et kraftverk når det gjelder spillmotorer. Hvis du trenger en kryssplattformløsning som har muligheten til å velge et bredt spekter av enheter, og du foretrekker å programmere i enten C # eller UnityScript, er Unity et godt valg. En annen fin ting om Unity er eiendelbutikken der du kan finne eller kjøpe eiendeler du kan bruke i spillene dine.

4. SpriteKit

SpriteKit er Apples proprietære 2D-spillutviklingsramme. Det er bare tilgjengelig på iOS og OS X. SpriteKit støtter både Swift og Objective-C, en kombinasjon av de to.

Scenehåndtering er ferdig med SKView klasse og det er et bredt utvalg av overganger med SKTransition klasse. I hjertet av SpriteKit er handlinger, forekomster av SKAction klassen, som brukes til å flytte, rotere og skala spillobjekter. Handlinger kan også brukes til å spille av lyder og utføre tilpasset kode.

SpriteKit har en sceneditor der du kan visuelt utforme nivåene av spillet ditt. Også tilgjengelig er en partikkelredaktør der du kan visuelt utforme partikkelsystemer. En rekke forhåndsdefinerte partikkelsystemer er tilgjengelige, for eksempel brann og regn.

SpriteKit bruker Box2D til sin fysikkmotor. SpriteKit gir en vennlig wrapper rundt Box2D, noe som gjør det veldig enkelt å bruke. SpriteKit har også et innebygd kamera gjennom SKCameraNode klassen, som gjør det enkelt å navigere rundt spillverdenen.

Hvis du er bundet til Apple-økosystemet, er SpriteKit et veldig godt valg.

5. Titan

Titanium er et rammeverk som bruker JavaScript som sitt programmeringsspråk. Mens mer tradisjonelt pleide å bygge applikasjoner i stedet for spill, kan det være en levedyktig plattform for spillutvikling. Det er gratis å bruke under utvikling. Hvis du vil publisere spillet ditt, trenger du en lisens.

Titanium støtter mange innfødte kontroller fra iOS og Android. Dette gjør det enkelt å animere visninger og bilder. Jeg har bygget et Blackjack-spill, komplett med animasjoner og en fin kort-flippende effekt ved hjelp av Titanium.

En av de fine tingene om Titanium er markedet for nedlasting av tilpassede moduler. Det finnes for eksempel en Box2D-modul som du kan koble til appen din. Hvis du ikke trenger kompleksiteten til Box2D, kan du bruke et enkelt kollisjonssystem for avgrensningsboks, bare like bra.

Selv om Titanium ikke ville være ideelt for spill med mange bevegelige deler og partikkeleksplosjoner, bruker du det til enkle kortspill, trivia spill og spill med et begrenset antall bevegelige objekter, er mer enn et levedyktig alternativ.

6. PhoneGap

PhoneGap lar deg ta dine eksisterende HTML-, CSS- og JavaScript-ferdigheter og pakke dem opp som en mobilapp. Slik fungerer det, er ved å legge inn en webvisning i appen og laste inn dine eiendeler i den nettvisningen. Dette betyr at du kan bruke lerret-API for å lage spill.

PhoneGap gir tilgang til innfødte APIer, for eksempel enhetens kamera, mikrofon, og viktigst for spillutvikling, akselerometeret.

I kjernen er PhoneGap ganske grei. Den tar en HTML-drevet app og pakker den opp som et mobilprogram ved hjelp av en webvisning.

Vi vil se på to andre JavaScript-biblioteker som du kan bruke til å lage et Lerret / WebGL-spill, Phaser og CreateJS.

7. Phaser

Phaser er et open-source JavaScript-rammeverk for å skrive 2D-spill. Den bruker lerret eller webGL hvis tilgjengelig.

Phaser har støtte for animasjoner, partikler og tweens for å flytte, skala og rotere sprites. Den har innebygd støtte for flisekart og bruker tre forskjellige fysikkmotorer, avhengig av dine behov. Det har også et innebygd kamera, noe som gjør det enkelt å navigere i spillverdenen din.

Det er noen plugins tilgjengelig for Phaser, inkludert en partikkelsystemdesigner og et Box2D-plugin. Hvis JavaScript er ditt valg, kan Phaser, i kombinasjon med PhoneGap, være et godt valg.

8. CreateJS

CreateJS er en serie med fire forskjellige open source-biblioteker:

  • EaselJS
  • TweenJS
  • SoundJS
  • PreloadJS

EaselJS er et bibliotek basert på Canvas API, og det kan bruke WebGL hvis tilgjengelig. TweenJS er fokusert på tweening-elementer mens SoundJS er rettet mot lydavspilling. Sist men ikke minst, hjelper PreloadJS forhåndsbelaste eiendeler.

EaselJS har støtte for sprite ark og filtre som du kan plassere på elementene dine. Det er også en Form klasse bør du trenge å tegne vektor. Flytting, skalering og rotering gjøres ved å inkorporere TweenJS-biblioteket i spillet ditt.

Mens CreateJS ikke har mange APIer som er skreddersydd for spillutvikling, er den skrevet i JavaScript, slik at du kan inkludere ekstra JavaScript-biblioteker du vil ha, for eksempel en JavaScript-port av Box2D. Et bibliotek jeg hadde suksess med tidligere, er et kollisjonsdetekteringsbibliotek for EaselJS.

Jeg har skrevet et par artikler om CreateJS på Envato Tuts +. Hvis du er på utkikk etter en detaljert introduksjon til disse bibliotekene, kan du finne disse interessante:

  • Bruk CreateJS - EaselJS
  • Ved hjelp av CreateJs: PreloadJS, SoundJS og TweenJS

9. uvirkelig motor

Unreal Engine er en spillmotor som bruker C ++ som programmeringsspråk. Det er gratis å bruke med grenser. For mer informasjon, besøk nettstedet Unreal Engine. Du kan distribuere spillet ditt til iOS og Android.

Unreal Engine inkluderer også Blueprint Editor, som lar deg visuelt skanne programmene dine uten behov for programmering. Redaktøren lar deg utforme spillnivåer, legge til fysikk simulering, brukergrensesnitt, animasjoner, visuelle effekter og mer, på en visuell måte.

10. Corona SDK

Corona SDK er et programvareutviklingssett som bruker Lua som skriptspråk. Det er tilgjengelig på Windows og OS X. Du kan utvikle dine spill og programmer gratis med Corona SDK, men Perk, selskapet som kjøpte Corona Labs, tilbyr en bedriftsmodell som gir tilgang til innfødte biblioteker / APIer og noen få andre egenskaper. Besøk deres hjemmeside for mer informasjon om priser.

The Corona SDK eksporterer til iOS, Android, Kindle og Windows Phone 8. Windows og OS X eksporten er i privat beta og kommer snart.

Corona Labs tilbyr noen andre attraktive funksjoner, som Corona Editor, en Sublime Text-plugin som inneholder en debugger, kodefylling, og noen andre fine alternativer. Komponist GUI, tilgjengelig på OS X, gir deg et grafisk miljø der du kan designe spillets nivåer og se hvordan objekter samhandler med hverandre ved hjelp av Coronas fysikkmotor.

Corona SDK bruker OpenGL som sin gjengivelsesmotor og Box2D for fysikk. Dens fysikkmotor gir en wrapper rundt Box2D, noe som gjør det enklere å bruke. Corona SDK inneholder over tusen APIer du kan bruke til å bygge spillene dine.

Den har også innebygd scenehåndtering gjennom sitt komponentbibliotek og tilbyr et flott overgangsbibliotek som hjelper til med å flytte, skala og rotere spillets grafiske eiendeler.

Dessverre har Corona SDK ikke muligheten til å bygge spriteatlaser og bruke komplekse former for fysikkekollisjonssensing kan være vanskelig. Det er imidlertid noen flotte tredjepartsprogrammer som kan lette denne smerten, som Texture Packer og Physics Editor.

Totalt sett er Corona SDK en flott SDK for å utforske om du er ute etter en tversplattformløsning og vil ha det enkle med Lua skriptspråk.

11. Gideros

Gideros, som Corona, bruker Lua som sitt skriptspråk. Gideros er gratis og åpen kildekode, og den kan kompilere til iOS, Android, Windows Phone, OS X, Windows og Windows RT.

Mens Lua ikke er et objektorientert programmeringsspråk med et klassebasert system, gir Gideros en klassebasert API, slik at utviklere kan skrive ren og gjenbrukbar kode.

Gideros har en scene manager med alle slags overganger, a Filmklipp klasse for animasjoner, og gir tweening gjennom sin GTween bibliotek, som lar deg flytte, skala, rotere enheter og mer.

Gideros, som Corona, bruker Box2D for fysikk, selv om Box2D API av Gideros er litt mer nær den originale Box2D API og derfor litt vanskeligere å bruke.

Den gir noen ekstra verktøy som et teksturpakkerverktøy og en skriftskaper, som finnes i installasjonens katalog. Gideros gjør det mulig å gjøre øyeblikkelig testing av prosjektene dine på mobilenheten via en Wi-Fi-tilkobling.

Som med Corona, er dette en flott plattform hvis du er ute etter tversplattformsutvikling med det lette programmeringsspråket i Lua.

12. AndEngine

AndEngine er et mobilutviklingsramme for Android. Det er gratis og åpen kildekode. Men som navnet hint på, er det bare for Android. AndEngine, som mange andre mobile plattformer, bruker OpenGL som sin gjengivelsesmotor, og den bruker Box2D som sin fysikkmotor gjennom en utvidelse.

AndEngine har støtte for animerte sprites, partikkelsystemer, og tillater tweening av enheter gjennom enhedsmodifiseringer. AndEngine gir også en Kamera klassen som lar deg enkelt flytte rundt spillverdenen.

Det er ingen dedikert scenestyring i AndEngine, men du kan finne mange eksempler på hvordan du bygger en enkel scenesjef. Hvis du er ute etter å bare slippe en Android-app, og Java er ditt valg, så er dette rammeverket et godt alternativ.

13. libGDX

libGDX er et annet Java-spillutviklingsramme. Det er kryssplattform og kan kompilere til Windows, OS X, Linux, Android, IOS, Blackberry og HTML5. libGDX bruker også OpenGL som sin gjengivelsesmotor, og den utnytter Box2D til simulering av fysikk.

libGDX har en Kamera klasse, an Handling klasse for å flytte, skala og rotere objekter, og aParticleEmitter klasse for å vise partikler. Den har støtte for flisekart viaTiledMap klassen, som kan brukes med flislagt redaktør.

libGDX kommer med noen ekstra verktøy, for eksempel en teksturpakker, en partikkelredigerer og en bitmap-fontgenerator.

Hvis Java er ditt foretrukne språk og du ønsker å lage et kryssplattformsspill, så er libGDX et godt rammeverk for å se på.

Konklusjon

I denne artikkelen gikk vi over flere spillutviklingsrammer og motorer. Du bør nå få en bedre ide om hvilke løsninger som passer best for dine behov og for ditt neste spill. Takk for at du leser, og jeg håper du fant artikkelen nyttig.