Console-porting · Voor gamestudio’s

Console-porting, uitgelegd.

Een afgeronde game naar Nintendo, PlayStation en Xbox brengen is een eigen engineeringproject, met eigen regels, deadlines en manieren om mis te gaan. Dit is een begrijpelijke gids over wat een port inhoudt en hoe je een partner kiest om het te doen.

Een port is geen klusje voor de laatste week

Het is verleidelijk om een consolerelease te zien als het laatste vinkje: de game is af, dus hij hoeft alleen nog ergens anders te draaien. In de praktijk raakt een port bijna elk systeem in de game en hangt hij af van goedkeuringsprocessen waar je geen controle over hebt. Studio’s die er vroeg rekening mee houden, leveren op tijd. Studio’s die dat niet doen, komen vaak op het slechtst denkbare moment achter hun geheugenbudget, hun savesysteem of hun tekstweergave.

Het goede nieuws is dat dit werk goed bekend is. Bijna elk probleem is eerder opgelost, en een team dat dit herhaaldelijk heeft gedaan weet waar de verrassingen zitten.

Wat een consolepoort omvat

Een echte port is meer dan de game laten opstarten. Meestal hoort erbij:

  • SDK-integratieBouwen met de toolchain en API’s van elke platformhouder
  • RenderingGraphics aanpassen aan de GPU, resoluties en weergavemodi van elke console
  • PlatformfunctiesAchievements of trofeeën, cloudsaves, gebruikersaccounts, onderbreken en hervatten
  • InputControllerondersteuning, toewijzing van knoppen en de eigen extra’s van elk platform
  • PerformanceFramerate- en geheugendoelen halen op vaste hardware
  • Lokalisatie & classificatiesVereiste talen, het laten passen van tekst en regionale materialen voor leeftijdsclassificatie
  • QATesten tegen de eigen eisen van het platform, niet alleen die van je game
  • IndieningVerpakking, store-metadata en de build begeleiden door de goedkeuring

Je engine bepaalt het plan

Unity, Unreal en Godot bieden elk een ander niveau van consoleondersteuning, en elk heeft eigen gewoontes die op vaste hardware voor problemen zorgen. Sommige console-toolchains zijn alleen beschikbaar voor geregistreerde developers, en consoleondersteuning in de engine wordt meestal geleverd onder de NDA van de platformhouder. Een eigen engine is weer een ander project, omdat het portingteam die eerst moet leren kennen voordat het er iets aan kan veranderen. Wie je ook inschakelt, die moet je vroeg kunnen vertellen hoe jouw specifieke engine en versie zich op elk doelplatform gedragen.

Platformcertificering begrijpen

Elke platformhouder beoordeelt een game voordat die in zijn store mag verschijnen. Elk heeft een eigen regelboek, en de details worden onder NDA gedeeld met geregistreerde developers. Werk dus altijd vanuit de actuele officiële documentatie in plaats van een blogpost, deze inbegrepen. In de praktijk gaat het erom dat de drie verschillend werken:

Nintendo. Indieningen worden getoetst aan Nintendo’s eigen richtlijnen, vaak lotcheck genoemd. Beoordelaars letten onder meer op het gedrag van controllers in handheld- en docked-modus, slaap- en wekgedrag, hoe de game de online- en storefuncties van het platform gebruikt en hoe tekst en iconen worden getoond. Reviews kunnen weken duren, dus houd daar ruimte voor in je planning.

PlayStation. De technische eisen van Sony gaan over onder meer trofeeën, opslaan en laden, onderbreken en hervatten, systeemdialogen, gebruikersbeheer en netwerkgedrag. De regels veranderen in de loop van de tijd, dus controleer wat voor jouw titel geldt op het moment van indienen.

Xbox. De eisen van Microsoft leggen de nadruk op stabiliteit, correcte afhandeling van aanmelding en profielen, behoud van instellingen en gedrag bij functies als Quick Resume. De game moet netjes terugkomen nadat het systeem hem heeft onderbroken.

Afkeuringen zijn zelden exotisch. Meestal gaat het om gewone defecten die maanden eerder hadden kunnen worden opgemerkt, zoals een savebestand dat beschadigd raakt als de console tijdens het schrijven in slaap valt, of een controller die wegvalt waar niemand rekening mee hield. Gedurende de hele ontwikkeling testen tegen de platformregels, in plaats van pas aan het eind, vergroot je kans het meest dat je in één keer slaagt.

Waar de engineeringuren heen gaan

Geheugen

Vaste budgetten, geen swap

Consoles geven je een vaste hoeveelheid geheugen en geen ruimte om uit te wijken. Texturecompressie, level-of-detail-systemen, assetstreaming en het opsporen van geheugenpieken zijn routine. Handheldmodi, zoals Switch in draagbare modus, vormen voor de meeste ports de strakste beperking.

CPU & GPU

Stabiele frametijden

Een goede gemiddelde framerate kan stotteren verbergen dat alleen op console zichtbaar wordt. Profileren op de echte hardware, draw calls beperken, shaders herwerken en garbage-collection-haperingen wegnemen houden de frame pacing soepel.

Input & UI

Gemaakt voor op de bank

Menu’s moeten volledig met de controller werken, tekst moet leesbaar blijven op een tv en in handheldmodus, en elk platform verwacht eigen conventies voor knoppen, prompts en functies als haptiek of touch.

Systeemgedrag

Leven buiten de gameloop

Onderbreken en hervatten, netwerkverlies, volle opslag, wisselen van gebruiker en wegvallende controllers moeten allemaal netjes worden afgehandeld. Hier zit een groot deel van het certificeringsrisico.

Zo beoordeel je een portingpartner

Een lang portfolio helpt, maar is op zichzelf niet genoeg. Dit zijn de vragen die je aan elke studio kunt stellen die je overweegt.

  • Recente trackrecordOp welke platforms hebben ze de laatste tijd uitgebracht? Regels veranderen, dus recente indieningen tellen het zwaarst
  • Positie bij platformsZijn ze geregistreerd bij de platformhouders, en via wiens accounts gaan jouw builds?
  • Engine-ervaringHebben ze met jouw engine en versie gewerkt? Vraag naar specifieke voorbeelden
  • Omgaan met afkeuringAls een indiening wordt afgekeurd, wie betaalt de fixes en hoe snel zijn ze klaar?
  • Wat ze van jou nodig hebbenToegang tot de broncode, buildopzet, art- en audiobestanden en een vast aanspreekpunt aan jouw kant
  • Na de launchWie regelt patches en platformupdates zodra de game uit is?

Prijzen en contracten

Prijzen lopen sterk uiteen met de omvang van de game, de engine en het aantal platforms, dus wees op je hoede voor elk vast bedrag dat wordt genoemd voordat iemand je build heeft bekeken. Deals zijn meestal tegen vaste prijs, per uur of in fasen betaald. Gefaseerde betalingen gekoppeld aan echte controlepunten, zoals een build die op hardware draait of een platform dat een indiening accepteert, houden beide partijen op één lijn. Voor een uitgebreidere uitsplitsing, lees wat console-porting kost.

Hoe een typische samenwerking eruitziet

  1. Kennismaking & NDAJe vertelt ons over de game, de engine en de platforms die je op het oog hebt. We tekenen een NDA voordat er builds of technische details worden uitgewisseld.
  2. Technische reviewWe bekijken je build en brengen de risico’s in kaart: geheugen, performance, input, online functies en alles wat de certificering kan laten struikelen.
  3. Scope & planWe spreken doelplatforms, op te leveren onderdelen, mijlpalen en een planning af waarin tijd voor certificering is ingebouwd.
  4. Port & interne QAWe bouwen en optimaliseren op echte hardware en testen gaandeweg tegen de platformeisen.
  5. Indiening & launchWe bereiden de builds voor en dienen ze in, verwerken feedback van het platform en ondersteunen de release en latere patches.

Waarom samenwerken met Nami Tentou

Wij zijn een gamedeveloper en uitgever die zelf games door de console-indiening heeft gebracht, dus we weten hoe het proces er vanuit de studio uitziet. Onze eigen NamiPixelX-engine dreef ports aan zoals Sunsoft is Back! Retro Game Selection, en diezelfde certificeringsdiscipline brengen we mee bij ports van moderne games.

Wil je het niet bij de port laten, dan bieden we ook co-development en uitgevenaan. Wil je een oudere catalogus naar moderne platforms brengen? Bekijk dan onze pagina over legacy-IP-porting .

Veelgestelde vragen

Naar welke platforms kunnen jullie porten?

Nintendo Switch 2, Nintendo Switch, PlayStation 5, PlayStation 4 en Xbox, plus pc-storefronts zoals Steam en Epic. Heb je een ander doelplatform in gedachten, vraag het gerust.

Moeten wij eerst geregistreerd zijn bij de platformhouders?

Uitbrengen in een consolestore vereist een goedgekeurde developer- of uitgeversrelatie met die platformhouder. Heb je die niet, dan bespreken we je opties, waaronder uitgeven via ons.

Met welke engines werken jullie?

Vertel ons je engine en versie en we geven je een eerlijk antwoord over hoe die op elk doelplatform past. Dat zeggen we liever vooraf dan dat we halverwege een mismatch ontdekken.

Hoe lang duurt een consolepoort?

Dat hangt af van de omvang van de game, hoe klaar de codebase al is voor console en op hoeveel platforms je wilt uitkomen. Reken bovenop de ontwikkeltijd ook op certificering en eventuele nieuwe indieningen. Na een technische review van je build kunnen we een realistische inschatting geven.

Wie regelt de certificering?

Dat maakt deel uit van de scope die je aan het begin afspreekt. Veel studio’s willen dat hun portingpartner de builds voorbereidt, pre-submissiontests uitvoert en het heen-en-weer met de platformhouder beheert. Anderen dienen liever in onder hun eigen account. Beide kan.

Kunnen jullie meerdere platforms tegelijk porten?

Ja, en dat scheelt meestal moeite, omdat veel van het optimalisatie- en inputwerk voor alle consoles geldt. Elk platform doorloopt nog wel zijn eigen certificering.

Klaar om je game op console te zetten?

Stuur ons een paar gegevens over je game en doelplatforms. Zonder verplichtingen, gewoon een gesprek over wat de port zou vergen.