Sinds de Ouya met succes het microconsole-concept heeft opgestart, zijn er ook verschillende andere microconsoles gelanceerd, waaronder de GameStick, de PS Vita-tv en meest recent de Amazon Fire. Ze bestaan naast de gevestigde thuisconsoles, zoals de PlayStation 4, Xbox One en Wii U, en bieden kleinere games die meer vergelijkbaar zijn met mobiele titels. Veel van deze zijn in feite havens van voormalige mobiele games.
Deze microconsoles bieden ontwikkelaars een nieuwe manier om games te krijgen. Ze zijn aangesloten op tv's en bieden een vergelijkbare verwerkingskracht voor mobiele apparaten. Omdat de meeste Android-gebaseerd zijn, zoals de Ouya, de GameStick en de Amazon Fire, is het maken en porteren van games voor hen veel eenvoudiger dan ze opnieuw te moeten maken voor elk systeem. Veel engines (Unity, Flash, Game Maker) die al implementatie bieden op Android kunnen eenvoudig worden aangepast om te porteren naar microconsoles, en bieden ook documentatie over dat proces.
Ik heb één mobiel-game geport naar de Ouya (Vertical Void DX), er een exclusief voor gemaakt (Strike Craft Copperhead), en de eerste portie geholpen toen ik voor een bedrijf werkte, waar ik ook het grootste deel van een poort naar de GameStick deed. Terwijl we dat deden, moesten we de (voormalige) mobiele games aanpassen aan de omgeving van het worden gespeeld op een televisie in plaats van een telefoon of tablet, waar we een aantal onvoorziene problemen tegenkwamen.
De lessen hieronder zijn degene die ik voornamelijk leerde van ontwerpen voor de Ouya en GameStick, maar die geldig (en belangrijk!) Zijn bij het ontwerpen voor andere microconsoles, ook.
De spellen zullen op een televisie draaien, dus je moet streven naar prestaties met een hoge resolutie: 1080p(1920x1080px) zou het doel moeten zijn. Op zijn minst zou een spel moeten lopen en 720p (1280x720px) ondersteunen als een basisresolutie.
Als je een eerder exclusief mobiel spel op een tv in 1080p uitvoert, heb je er ineens een heel ander beeld van. Wat voorheen onzichtbaar was, zou nu een zeer zichtbare storing kunnen zijn. Randen die geen anti-aliased randen zijn, kunnen prominenter worden en wat er goed uitzag op een kleine telefoon kan er op een tv slechter uitzien.
Vergeet niet om op deze problemen te letten en het hele spel door te spelen en erop te letten, zodat ze je niet verbazen.
Het hebben van een hogere resolutie betekent ook dat er meer pixels moeten worden gekraakt, dus zorg ervoor dat je de prestaties test. Als uw game al zwaar inspant op mobiele apparaten, kan het produceren van meer pixels een probleem zijn.
De Ouya is qua prestaties vergelijkbaar met een fatsoenlijke Android-tablet, dus als je game op een Nexus 7 draait, is de kans groot dat deze goed werkt op de Ouya.
Omdat er een breed scala aan tv's is, waaronder oudere modellen, is het niet 100% mogelijk om te garanderen dat het beeld van de game perfect op elk scherm past.
Met name oudere tv-schermen hebben de neiging om soms door het beeld heen te schieten, waardoor de zijkanten van het scherm soms aanzienlijk worden verbroken.
Om ervoor te zorgen dat alles correct wordt weergegeven, moet elk consolegame een 'veilige zone' hebben. Dit is een rand aan de rand van het scherm waar niets kritisch wordt weergegeven. Op de Ouya is deze rand 15% van de breedte van het scherm.
Dit is een screenshot van Strike Craft Copperhead, met de interface zoals die op een desktop of mobiel-game zou verschijnen, waar UI-elementen dicht bij de rand van het scherm staan:
Voor tv's moeten we echter denken aan de bovengenoemde veilige zone. Hier is dezelfde afbeelding met een veilige zone van 15% gemarkeerd:
Niets dat van vitaal belang is voor het spel kan in dat deel gaan, dus we moeten alle interface-elementen erin verplaatsen:
Bovendien kunt u een optie toevoegen voor spelers om de interfacepositie zelf aan te passen, zodat ze kunnen controleren of deze zich in een goede positie bevinden, en dus optimaal gebruik maken van de beschikbare schermruimte.
Elk microconsole-spel moet kunnen worden bestuurd met een gamepad, wat betekent dat sommige soorten games (zoals strategiespellen) moeilijk of zelfs onmogelijk kunnen zijn om goed te kunnen bedienen.
Tenzij u een werkbaar controleschema kunt bedenken, zullen dergelijke genres zeer moeilijk te porten blijven.
De Ouya-controller heeft een ingebouwde touchpad, dus je zou kunnen aannemen dat muisgebaseerde besturingselementen goed zouden werken voor dergelijke games.
In de praktijk is het touchpad echter alleen nuttig als noodinvoer bij het uitvoeren van mobiele apps op de Ouya. Het zal niet werken als een muisvervanger, omdat de snelheid, gevoeligheid en comfortniveaus nauwelijks die van muizen benaderen.
Zorg ervoor dat alles goed werkt met slechts een controller.
Er zijn manieren om te herkennen welk gamepad is aangesloten. Eenheid heeft bijvoorbeeld een functie genaamd Input.GetJoystickNames ()
, die een string uitvoert die een controller identificeert.
Een Xbox 360-controller verschijnt als "CONTROLLER (XBOX 360 VOOR WINDOWS)"
; een PlayStation 3-controller als "PLAYSTATION (R) 3 CONTROLLER"
.
Dit stelt ons in staat verschillende soorten controller te onderscheiden en het spel aan te passen zodat het goed werkt met alle gamepads die we willen ondersteunen.
Hot-plugging is het proces waarbij een apparaat wordt aangesloten terwijl de software wordt uitgevoerd. Idealiter willen we dat onze games dat kunnen ondersteunen; anders zouden de gamepads die we gebruiken om het spel te besturen allemaal al moeten worden aangesloten wanneer we het spel eerst laden en draadloze pads moeten worden opgestart. Dan zouden we ervoor moeten zorgen dat de draadloze pads niet in de slaapstand komen, waardoor het opnieuw opstarten van het spel nodig zou zijn om dergelijke ergernissen te voorkomen. Dit wordt nog steeds vaak bevestigd, zelfs in AAA-releases.
Dus laten we dat niet doen. Laten we ervoor zorgen dat hot-plugging werkt.
Als je al een systeem hebt om te herkennen welk type joystick is aangesloten, kun je de code daar aanpassen. Wat we moeten doen is controleren welke gamepads zijn verbonden altijd.
Dit hoeft niet elk frame te gebeuren, voor het geval u zich zorgen maakt over de verwerkingskracht. Controleren tussen elk frame of elke seconde zou voldoende moeten zijn.
Er zijn verschillende manieren om menusystemen voor je games in te stellen. Als uw spel geen directionele menubediening ondersteunt (via een gamepad of toetsenbord), moet deze worden aangepast of opnieuw worden opgebouwd.
Een manier om dit te doen is elke functie van een label voorzien met een afbeelding van de bijbehorende knop, zoals hier te zien in Strike Craft Copperhead:
Een beter controllervriendelijk menusysteem zou er een zijn met gemarkeerde knoppen. Dit voelt veel beter, maar is ook moeilijker te maken. Hier kunnen we het zien in Vertical Void DX:
Ongeacht het type menu is het altijd handig om een "legenda" te hebben, waarin wordt uitgelegd wat elke knop doet, zoals in de afbeelding hierboven.
Vergeet ook niet om de gevestigde manier van het gebruik van bepaalde knoppen te gebruiken. De actieknop "lager" (EEN op de Xbox, X op de PlayStation, O op de Ouya) is meestal de vooruit knop, terwijl de knop rechts is ga terug. De centrale systeemknop moet worden gebruikt om menu's te openen of om het spel te verlaten.
De Ouya biedt de mogelijkheid om een andere Android-app te gebruiken, zonder dat deze speciaal moet worden aangepast voor de microconsole. Dit proces wordt s genoemdide-loading. Wanneer een app op het systeem is (gedownload via internet of gekopieerd via een USB-stick), kan deze worden geïnstalleerd en uitgevoerd.
Als je al een Android-spel hebt geprogrammeerd en klaar hebt, kun je het gewoon op de Ouya zetten en zien hoe het zou werken!
Het laden van de zijkant kan het ook gemakkelijker maken om de Ouya in te zetten. Als AirDroid bijvoorbeeld actief is, kunt u nieuwe builds kopiëren via Wi-Fi, waardoor het proces veel sneller en eenvoudiger verloopt.
Hoewel veel microconsoles Android-gebaseerd zijn, moeten de platforms afzonderlijk worden benaderd.
Zoals we al hebben besproken, kan elk Android-spel ook worden uitgevoerd op de Ouya. Maar om een echt Ouya-spel te worden, moet dit worden aangepast en moeten alle benodigde plug-ins worden geconfigureerd. Sommige Ouya-specifieke instellingen kunnen ook instellingen in een Android-build overschrijven, dus u moet deze afzonderlijk overwegen om problemen te voorkomen.
Microconsole-spellen zijn kleiner dan AAA-titels, maar kunnen complexer zijn dan mobiele titels. De prijs van microconsole-spellen komt dichter bij de mobiele kant van de zaak, waarbij prijzen van ongeveer $ 10 acceptabel zijn. Towerfall, een van de meest succesvolle Ouya-games, had lange tijd een prijs van $ 15.
Gratis te spelen spellen zijn ook toegestaan en microtransacties worden ondersteund, tenminste op de Ouya.
Meestal controleren games of de speler DLC-pakketten heeft gekocht bij het opstarten, om er zeker van te zijn dat ze er zijn voordat het spel start.
Dit systeem breekt echter wanneer er geen internetverbinding beschikbaar is.
Een alternatief zou zijn om een offline variabele, zoals Player Pros van Unity, om te controleren of pakketten zijn gekocht. Op deze manier kan het spel met al zijn inhoud ook offline worden gespeeld en kan een (mogelijk lange) controleperiode bij het opstarten worden voorkomen.
Vrijwel elke grote app-winkel (inclusief de iOS App Store en Google Play) beperkt de inhoud van 'volwassenen' en apps voor een publiek van 18 jaar of ouder zijn niet toegestaan.
Traditioneel missen iOS-games een stopknop in de game. Op Android verschijnen deze echter vrij vaak.
Een snel overzicht van games in de Ouya-winkel laat zien dat ongeveer de helft een ophefferknop heeft. Het lijkt de moeite waard om er één toe te voegen aan onze microconsole-spellen als een kwestie van gewoonte.
We hebben geleerd over de belangrijkste (en enkele minder belangrijke) ontwerpelementen die we moeten overwegen bij het maken van een microconsolespel. Hoewel dit niet de enige zijn die naar boven komen, zou deze lijst u een idee moeten geven van wat u kunt verwachten bij het richten op het microconsole-platform.