Steamworks-dokumentation
Sådan kommer du i gang – for udviklere

Oversigt


Steam Input-API'en er designet til at gøre det nemt for dig at få fuld understøttelse af Steam Input-enheder i dit spil. Vi definerer fuld understøttelse således:

  • Dit spil bruger de passende controller-specifikke ikoner, når det viser inputprompter i spillet.
  • Steam Input-konfiguratorskærmen bruger spilhandlinger, som spilleren udfører i dit spil, i stedet for taster eller knapper.
  • Du har udgivet en officiel konfiguration for de controllere, du understøtter.
  • Dit spil begrænser ikke brugerens mulighed for at tilpasse sine styringer. Dette vil sige, at spillet tillader en blanding af muse-, tastatur- og gamepadinput samtidigt.
  • Når dit spil vil have tastaturinput (for eksempel ved navngivning af avatarer), bruger du API'en til automatisk at frembringe grænsefladen for tekstindtastning.
  • Dit spil har ikke et startprogram, som kræver muse- eller tastaturinput – eller endnu bedre: intet startprogram overhovedet.

Vi anbefaler også følgende for at sikre, at brugerne får en god oplevelse fra sofaen:

  • Sørg for, at din brugergrænseflade kan læses på afstand. Vores tommelfingerregel: Når dit spil kører i 1920 x 1080 pixel, bør skrifttyperne være mindst 24 pixel.
  • Start spillet i fuld skærm som standard, når brugeren kører Steam Big Picture (miljøvariablen "SteamTenfoot" er indstillet)
  • Bonuspoint: Registrer brugerens skærmopløsning ved første kørsel, og indstil din opløsning til at matche den.

Almindelige brugstilfælde

Jeg tilføjer understøttelse af Steam Input-API, før jeg udgiver mit spil


Alletiders! Følg de tekniske instruktioner i Implementering af understøttelse af Steam Input-API'en.

Jeg tilføjer understøttelse af Steam Input-API'en sammen med andre inputbiblioteker


Det er helt i orden at udgive traditionelt gamepad-input samt Steam Input, og hvis du tilføjer understøttelse af Steam Input-API'en efter den oprindelige lancering, eller du udgiver dit spil i andre butikker end Steam, kan du nemt komme i denne situation. Der er et par ting, du skal tænke på:

1. Vær bevidst om dine analoge handlingsvalg
Vi går i dybere detaljer senere, men her er en kort opsummering:
  • Du bør altid inkludere muselignende input for kamerastyringer til markør og præcision. Det kan være acceptabelt at springe over muselignende input i sportsspil eller spil med to styrepinde, hvor joystickets position bruges til at sigte i en bestemt retning.
  • Undgå at bruge systemmusen (muligheden "os_mouse"), medmindre du har en god grund til at få brug for den. Det er en vigtig del af god UX-praksis at kunne afgøre, om input kommer fra en rigtig mus eller en controller.
  • Du bør enten bero på, at konfiguratoren giver følsomhed (dvs. du filtrerer ikke indkommende data om Steam Input), eller du bør bruge en dedikeret indstilling for følsomhed for Steam Input, som er forskellig fra systemmusen.

2. Vær konsekvent med auto-sigt på joysticks
Hvis du anvender auto-sigte eller sigte-assistance på analoge XInput-styrepinde, kan du overveje også at anvende det på Steam Input-enheder, i det mindste til traditionelle controller-modeller, som konfigureres via Steam Input. Du kan kalde GetInputTypeForHandle for at bestemme en individuel controllers modeltype eller implementere adskilte kamerahandlinger for musestile og joystickstile.

3. Brug så vidt muligt SDL version 2.0.8 eller derover
Hvis du bruger SDL (Simple DirectMedia Layer), et af de mest populære spilbiblioteker på tværs af platforme til håndtering af ting såsom input, skal du sørge for, at du bruger den seneste version eller i det mindste version 2.0.8 eller højere. Denne version gør det muligt for Steam at sige til SDL, at det skal ignorere input for controllere, som er konfigureret med Steam Input, og dermed undgås problemer med dobbelt input.

4. Sørg for, at du har en plan for Xbox-controllere
Hvis dit spil allerede er udgivet og understøtter XInput, som du lader være, som det er, kan det være en god idé at lade Xbox-controllere være i XInput-stien som standardindstilling. Hvis dit spil er et lokalt multiplayerspil, skal du sørge for, at spillet kan acceptere input fra begge stier på samme tidspunkt eller aktivere Steam Input for alle controllere.

Jeg vil have, at mine spil, som ikke bruger Steam Input-API'en, fungerer med Steam Input


For det første anbefaler vi at læse Zach Burkes The Five Golden Rules of Input.

Opsummering:

  1. Skærmikoner skal matche inputenheden
  2. Musemarkøren skal matche inputenheden
  3. Alle enheder skal fungere 100% af tiden
  4. Retningsknap, analog styrepind og mus kan alle bruges til at navigere i menuer
  5. Hvis en gamepad ikke er tilsluttet, bør spillet sættes på pause

Disse retningslinjer er gode at følge, når det er muligt. Vi vil gerne understrege:

Gamepad- og museinput skal være muligt samtidigt

De fleste spil tillader museinput, eller gamepad-input, men ikke begge dele samtidigt, og dette er hovedårsagen til kompatibilitetsproblemer med Steam Input-systemet.

Derudover:

  1. Indstil en anbefalet controller-konfiguration for alle controller-typer
    På denne måde behøver Steam ikke at bede brugeren om at vælge en konfiguration ved opstart. Forresten behøver du ikke at angive en konfiguration for både Xbox 360- og Xbox One-controllere – hvis du kun angiver én, vil den også fungere for den anden model.
  2. Tilvælg Steam Input for controller-type, som du ikke har indbygget understøttelse til
    Hvis du ikke har indbygget understøttelse til disse controller-typer, skal du bruge partnersiden til at tilvælge Steam Input for dem. Se nederst i denne sektion for at få mere at vide om dette.
  3. Hvis du ikke har tænkt dig at tillade gamepad/mus samtidigt...
    ... så giv i det mindste brugeren mulighed for at konfigurere joystickets dødszone, acceleration og følsomhed. Joystick-emulering til trackpaden fungerer ved hurtigt at svippe det virtuelle joystick, så det er ret følsomt overfor disse indstillinger. For at sikre et godt resultat skal du tillade meget høje følsomheder, dødszoner, der går til 0, og en hurtig accelerationskurve. Shadow of Wars controller-indstillinger er et godt eksempel på dette.
  4. Tillad brugere at vælge blandt Xbox- eller PS4-glyffer via menuen, eller registrer enhedstypen via vores API
    Når Steam Input sender gamepad-input, vises det i dit spil som almindelige Xbox-controllerinput i stedet for den almindelige enhed. Dette er nyttigt, da det gør det muligt for spillere at bruge enheder, som normalt ikke ville fungere, men det betyder også, at den almindelige søgning efter USB-enheders ID'er osv. ikke fungerer, og du bliver nødt til at kalde en hjælpefunktion fra Steam. Det er vigtigt at bemærke her, at selv controllere, som har indbygget understøttelse, kan vises i dit spil via Steam Input, enten fordi brugeren streamer spillet via Steam Remote Play, eller fordi brugeren har tilmeldt sig Steam Input for at rekonfigurere sine enheder.

Du kan læse mere om dette på siden om Gamepad-emulering med Steam Input – bedste fremgangsmåder.

Tekstinput


Tekstinput på skærmen er teknisk set ikke en del af ISteamInput, men findes i stedet i ISteamUtils.

Hurtige referencer:

De kan være nyttige for dig, uanset hvordan du bruger Steam Input.

Implementering af understøttelse af Steam Input-API


Implementeringen er ligetil og burde ikke tage mere end et par dages arbejde. Processen består af fire trin:

  1. Opret en spilhandlingsfil vha. en teksteditor, som fortæller Steam, hvilke spilhandlinger dine spillere kan binde til controlleren.
  2. Brug grænsefladen for Steam Input-konfiguratoren i Steam til at oprette din standardkonfiguration.
  3. Brug Steam Input-API'en i dit spil til at læse handlinger fra controlleren og til at hente de relevante glyffer, som skal vises.
  4. Opdater dit spildepot med nye binære filer, og udgiv konfigurationen som den officielle konfiguration.

Trin 1 – Opret en spilhandlingsfil


Download først spilhandlingsfilen (in-game actions (IGA)). Placer filen i mappen "<Steam Install Directory>\controller_config" (opret mappen, hvis den ikke findes allerede). Omdøb filen til følgende: "game_actions_X.vdf", hvor X er spillets app-ID i Steam. Hvis du ikke kender spillets app-ID i Steam, kan du finde det ved at logge på Steam-partnersiden.

Åbn filen i din foretrukne teksteditor. Filen er i Valves standardformat "KeyValues", som er et enkelt og letlæseligt format. Det kan også være nyttigt at downloade en af vores skabelonfiler for spilhandlinger eller Portal 2 IGA til reference.

Se Spilhandlingsfil for at få flere oplysninger.

Filformat


IGA-filer indeholder en "actions"-sektion, hvor alle spilhandlingssæt (IGAS) i dit spil vises. Et IGAS beskriver alle de handlinger, en spiller kan foretage i en bestemt spilkontekst – for eksempel når spilleren er i et køretøj, er til fods eller navigerer i menusystemet. For hvert IGAS har grænsefladen for Steam Input-konfiguration en fane, hvor spilleren kan tilpasse, hvordan handlingerne er bundet til controlleren.

IGAS-poster i IGA-filen skal indeholde en "title"-nøgle og -værdi samt følgende undersektioner: "StickPadGyro", "AnalogTrigger" og "Button". Sektionerne "StickPadGyro" og "AnalogTrigger" indeholder hver en liste over IGAs, som spilleren kun kan tildele til henholdsvis styrepinden/paden/gyroen og de analoge aftrækkere. Sektionen "Button" indeholder IGAs, som kun kan bindes til digitale input (for eksempel de fysiske ABXY-knapper eller en trackpad, som er i ABXY-tilstand eller en aftrækker, som ikke bruges som en AnalogTrigger-handling).

IGA-design

Brug et øjeblik på at tænke på dit spils funktionalitet – hvor mange separate tilstande er der i spillet? For hvert sted, hvor du vil bruge separate handlinger, skal du have et handlingssæt. De fleste spil har som minimum et handlingssæt til menuer og et i selve spillet, men de fleste har brug for flere. Er der situationer i dit spil, hvor spilleren skal betjene et køretøj, eller er der særlige menuer i spillet, for eksempel bane- eller inventarskærme? I sådanne tilfælde kan det være nyttigt at bruge handlingssæt.

Men alt behøver ikke at være et separat handlingssæt. Du kan også bruge handlingssætlag til at håndtere lignende tilstande. Hvis du for eksempel i dit spil kan styre både en bil og en båd, kan du inkludere et handlingssæt for "køretøj" med et handlingssætlag for "båd" eller "bil" ovenpå. Handlingssætlag bevarer indstillingerne for det overordnede handlingssæt og kan gøre det lettere for dit udviklingshold og dine brugere at forstå og redigere konfigurationerne.

Se Handlingssætlag for at få flere oplysninger.

Grænser for antallet af handlinger

I øjeblikket kan op til 16 analoge og 128 digitale handlinger defineres. Det er meget vigtigt at bemærke, at handlinger kan deles mellem handlingssæt, så i de fleste tilfælde vil du kun få brug for en brøkdel af det maksimale antal handlinger. Denne grænse kan godt ændres, så kontakt os, hvis du har en god grund til at have brug for flere.

Knaphandlinger


Formatet for "Button"-handlinger er som følger:

"<action name>" "#<localization key>"

<action name> er det interne navn, som du bruger til at referere til denne handling i din spilkode ved kommunikation med Steam Input-API'en. <localization key> skal svare til navnet på en post i lokaliseringssektionen (se "Tilføjelse af lokalisering"). Sørg for at medtage tegnet # i starten af lokaliseringsnøglen.

Analoge aftrækkerhandlinger


Formatet for "AnalogTrigger"-handlinger er det samme som for "Button". "AnalogTrigger"-handlinger skal være handlinger, som dit spil vil fortolke som helt analoge input såsom accelerering med et køretøj. Hvis du ikke har den slags input, skal du bare lade sektionen være tom. Grænsefladen for Steam Input-konfiguratoren gør det muligt for spillere at tildele en "Button"-handling til de fysiske aftrækkere, hvis de ikke bruges som en "AnalogTrigger"-handling.

StickPadGyro-handlinger


Formatet for "StickPadGyro"-handlinger er som følger:

"<action name>" { "title" "#<localization key>" "input_mode" "<analog mode>" }

<action name> og <localization key> er de samme som de tilsvarende nøgler i "Button"-format. <analog mode> fortæller os, hvordan dataene fra de fysiske styringer skal fortolkes, inden vi sender dem til dit spil via Steam Input-API'en.

Gyldige <analog modes>:

  • "absolute_mouse" – når du forventer, at handlingen vil være som en mus. Nyttig til første- eller tredjepersonskamera eller en rigtig musemarkør.
  • "joystick_move" – når du bruger handlingen til at flytte rundt på en karakter.

"absolute_mouse" vs. "joystick_move"

Vi kan ikke understrege nok, at når du opretter kamerainput for dit første- eller tredjepersonsspil eller andet, som er markørdrevet, at så skal du altid inkludere en typehandling som "absolute_mouse" og reagere på forskelle, som om det var en mus, da 1:1-data er påkrævet for at implementere et godt gyro-sigte eller trackpadinput i høj kvalitet. Steam Input kan også konvertere joystickinput fra gamepads til "absolute_mouse"-inputstil for dig, men pga. af accelerationskurver og zoner uden for rækkevidde, som er tildelt i spillet, er det ikke muligt at konvertere den anden vej.

Det er i orden at inkludere en stilhandling som "joystick_move", hvis du ønsker præcis paritet til joysticksigte med dine konsolbuilds, men du skal teste, at du kan acceptere input fra både "absolute_mouse" og "joystick_move" på samme tidspunkt, så PlayStation- og Switch-controllere kan bruge gyrosigte sammen med joysticket. Det kan også være, du ønsker at implementere en digital handling til at nulstille kameraet for at centrere kameraets lodrette position igen. Hvis du har automatisk sigte slået til for XInput-controllere, skal du tildele samme logik til joystickinput gennem Steam Input-API'en og overveje at bruge en mindre mængde automatisk sigte til trackpad-/gyrosigte.

Der er en valgfri indstilling for "StickPadGyro"-handlinger, som bruger "absolute_mouse" som input. Hvis du indstiller "os_mouse"-nøglen til "1", sender vi inputtet fra spilleren til styresystemet samt dit spil. Dette er nyttigt, hvis du har en synlig OS-musemarkør, som skal styres med denne handling.

Her er et eksempel:

"menu_mouse" { "title" "#Menu_Mouse_Title" "input_mode" "absolute_mouse" "os_mouse" "1" }

Advarsel

  1. Vi fraråder stærkt at bruge "os_mouse" til kamerastyring. Hvis bestemte dele af dit spil er svære at patche, så husk, at du altid kan have separate analoge handlinger, som kun bruges i menuen og ikke i spilhandlingssættene.
  2. Hvis du bruger "os_mouse", styres dine controller-input af musefølsomheder i spillet og vil kun fungere for en enkelt lokal spiller.

Trin 1.1 – Tilføjelse af lokalisering


Sektionen "localization" i din IGA-fil indeholder en liste over sprog, som hver er en sektion med lokaliseringsnøgler og -værdier. For eksempel:

"localization" { "english" { "Action_Jump" "Jump" "Action_Camera" "Camera" } "danish" { "Action_Jump" "Hop" "Action_Camera" "Kamera" } }

Handlingerne i IGA-filen skal angive deres navne ved at henvise til den ønskede lokaliseringsnøgle indledt med tegnet #. Her er nogle handlingseksempler med ovenstående lokaliseringsnøgler:

"StickPadGyro" { "Camera" { "title" "#Action_Camera" "input_mode" "absolute_mouse" } } "Button" { "Jump" "#Action_Jump" }

Hvis det sprog, spillet kører under, ikke findes i lokaliseringssektionen, bruges engelsk som fallback. Hvis engelsk ikke er der, vises strengen, som den er. Se understøttede sprog for flere oplysninger om understøttede sprog.

Trin 1.2 – Titler og beskrivelser


Konfigurationer skal også have en lokaliseret titel og beskrivelse. Hvis du kun laver en enkelt officiel konfiguration til dit spil, behøver du ikke at bekymre dig om dette. Vi giver spillet en standardtitel og -beskrivelse, og du kan springe dette trin helt over. Men hvis du vil have flere forskellige officielle konfigurationer til dit spil, skal du også lave lokaliserede titler og beskrivelser til dem.

Titler og beskrivelser til konfigurationer skal anføres sammen med resten af dine lokaliseringsnøgler. Titelnøglen skal starte med "Title_", og beskrivelsesnøglen skal starte med "Description_". Her er et eksempel:

"localization" { "danish" { "Title_Config1" "Officiel konfiguration" "Description_Config1" "Denne konfiguration er skabt af udviklerne bag Spil X." "Title_Config2" "Officiel konfiguration til Southpaw" "Description_Config2" "Denne konfiguration er skabt af udviklerne bag Spil X til venstrehåndede brugere." "Action_Jump" "Hop" "Action_Camera" "Kamera" } }

Når du udgiver en konfiguration (se Trin 4 – Udgivelse), kan du vælge, hvilken af disse lokaliserede titler og beskrivelser du vil bruge.

Trin 2 – Oprettelse af en standardkonfiguration


Når du har oprettet din IGA-fil og sikret, at den er i den rigtige mappe, og at navnet svarer til dit spils app-ID, er du klar til at oprette en konfiguration.

Kør Steam i Big Picture-tilstand, og naviger til siden med spiloplysninger om dit spil.

Vælg "Administrer spil" og derefter "Konfigurer controller". Hvis du får nogen fejlbeskeder, identificerer de problemer i din IGA-fil, og du skal rette dem – den mest almindelige fejl er, at der mangler et afsluttende anførselstegn eller en parentes.

Hvis du ikke får nogen fejl, sidder du nu med en tom controller-konfiguration for dit spil, som er opmærksom på dine spilhandlinger. Brug grænsefladen til at oprette en standardkonfiguration. Sørg for at angive standarder for alle spilhandlingssæt og ikke kun det første.

Når du er færdig med konfigurationen, skal du gemme den lokalt. Du skal ikke udgive den, for dit spil er ikke klar til at modtage handlinger endnu.

Trin 3 – Steam Input-API


Sørg for, at du har den seneste version af Steamworks-API'en – hent den på siden Sådan kommer du i gang med Steamworks.

Steam Input giver appspecifikke controllerbindinger for at bestemme, hvilken binding der skal udføres, og Steam sporer forgrundsvinduet. Dette kan gøre det vanskeligere at foretage fejlfinding på controlleren, når du arbejder på den, fordi controlleren skifter konfiguration, når du rammer et pausepunkt i fejlfindingsprogrammet. Steam kan låses til dit vindue til fejlfindingsformål på to måder. Du kan enten gå til følgende Steam-URL:
steam://forceinputappid/<spillets_appID eller 0 for at nulstille til almindelig funktion>

eller tilføje følgende kommandolinjeparametre til din Steam-genvej:
-forcecontrollerappid <spillets_appID>

BEMÆRK:

Med "Steam-genvej" mener vi en genvej til selve Steam-klienten. Kommandolinjeparametrene skal sendes til Steam-klienten, ikke dit spil.

Du kan også downloade officielle gengivelser af controllerglyffer eller deres PSD-kilde. Dette er kun nødvendigt, hvis du vil bruge dem som udgangspunkt for dine egne illustrationer. Ellers kan du bare bruge API'en for at få en direkte filsti til den relevante illustration for et hvilket som helst controller-input (billedfilerne følger med Steam-klienten).

Trin 3.1 – API-oversigt


Steam Input-API'en er bygget op omkring de spilhandlinger og spilhandlingssæt, som du angav i din spilhandlingsfil i trin 1.

Komplet API-reference: ISteamInput-grænseflade.

Funktionalitetsoversigt:

Sikre grænseflader

Controller-data indsamles, når ISteamInput::RunFrame kaldes. Det gøres normalt for dig i hver frame af SteamAPI_RunCallbacks. Men hvis du har versionssikrede grænseflader aktiveret, og du oplever, at du ikke modtager gode data, skal du kalde ISteamInput::RunFrame for hver frame.

Du kan se, om du har versionssikrede grænseflader aktiveret ved at se, om du har denne #define i din kode:
VERSION_SAFE_STEAM_API_INTERFACES

Trin 3.2 – Inputhåndtering


For digitale handlinger er de data, der returneres af SteamInput::GetDigitalActionData, ligetil:

bState: vil være true, hvis handlingen sendes af controlleren (knappen trykkes ned, aftrækkeren trækkes osv.)

For analoge handlinger er de data, der returneres af ISteamInput::GetAnalogActionData, kun en lille smule mere komplekse:

x,y: afhænger af den tilstand, du har tildelt spilhandlingen til i din IGA-fil. - "absolute_mouse": x og y vil være forskellene fra den tidligere museposition. - "joystick_move": x og y vil være værdier mellem -1 og 1 og repræsenterer joystickets nuværende position.

Når du skriver koden, skal du sikre, at du ikke forhindrer brugeren i at kombinere forskellige slags input samtidigt. En almindelig fejl, som vi har set, er, at spil begynder at ignorere gamepad-input, når de ser mus og tastatur eller omvendt.

Trin 3.3 – Glyffer på skærmen

For at vise en skærmprompt for din controller skal du hente de fysiske kilder, som er bundet til en spilhandling. Spilleren kan have bundet mere end én fysisk kilde til den samme handling, så det er bedst, hvis din grænseflade kører kilderne igennem og viser hver af dem. ISteamInput::GetDigitalActionOrigins og ISteamInput::GetAnalogActionOrigins returnerer antallet af kilder for den angivne handling og fylder det sendte array originsOut.

For hver kilde kan du bruge optællingen ISteamInput::EControllerActionOrigin til at knytte kilden til et tilsvarende billede igen. Når du kalder denne funktion med kildeopremsningen, returnerer den en lokal filsti til en .png-fil eller en .svg-fil for den tilsvarende controllerglyf fra Valves officielle billedsæt (som findes i installationsmappen i Steam-klienten). Denne metode understøtter alle hardwareenheder, som genkendes af Steam Input (så en PlayStation-controller viser PlayStation-knapper, og en Xbox-controller viser Xbox-knapper osv.). Og det bedste er, at det er fremtidssikret: Når Valve tilføjer understøttelse af ny hardware, henter denne funktion automatisk opdaterede glyffer, uden at du behøver at kompilere dit spil igen med nye glyfelementer.

Du kan angive dine egne billeder for controllerglyfferne, men vi anbefaler kraftigt, at du fremtidssikrer dig, da Steam Input hele tiden tilføjer understøttelse til nye enheder, og det eneste, der forhindrer dem i at fungere godt med dit spil, er, hvis glyfbillederne er ødelagte eller tomme. Du kan enten:

Foretag polling løbende!

Bemærk, at brugeren kan ændre sin konfiguration når som helst. For at hjælpe med dette har vi sikret, at det kun kræver meget få resurser at kalde funktionerne ISteamInput::GetDigitalActionOrigins og ISteamInput::GetAnalogActionOrigins.

Når du viser en skærmprompt, skal du ikke cachelagre kilderne og blive ved med at vise de første resultater. I stedet anbefaler vi, at du indsamler kilderne igen for hver frame og viser de tilsvarende prompter. Hvis en bruger beslutter sig for at ændre sin konfiguration efter at have set en prompt, når de vender tilbage fra konfigurationsskærmen, opdateres prompterne således automatisk i overensstemmelse med de nye kilder.

Trin 4 – Udgivelse


Når dit spil fungerer med controlleren, er du klar til at udgive. Du skal udgive din nye spilopdatering og gøre din konfiguration til den officielle. Officielle konfigurationer indlæses automatisk, når en spiller starter dit spil første gang. Dette gør det muligt for brugere at starte dit spil og begynde at spille uden overhovedet at skulle ind på konfigurationsskærmen.

Anbefalet proces:

Trin 4.1 – Opdater dit spil

  • Opdater dit Steam-depot med den nye version af dit spil.

Trin 4.2 – Udgiv din nye konfiguration

  • Kør Steam i Big Picture-tilstand, og gå til den standardkonfiguration, du oprettede i controller-konfigurationen.
  • Tryk på (Y)-knappen, eller klik på knappen "Gem" nederst på skærmen.
  • Vælg den ønskede lokaliserede titel og beskrivelse i pop op-vinduet, sæt profilen til OFFENTLIG, og klik på knappen UDGIV.
  • Du modtager en bekræftelse og et fil-ID på den offentlige konfiguration. Kopiér/gem ID'et.

Trin 4.3 – Gør konfigurationen officiel

  • Åbn dit spils side på Steamworks-partnersiden.
  • Vælg "Steam Input" fra fanen "Applikation".

    steamworks_steam_input.png

  • Rul ned til sektionen "Steam Input-skabelon". Vælg "Tilpasset konfiguration" i rullemenuen. (Hvis du ikke havde tænkt dig at tilføje indbygget understøttelse og blot vil vælge blandt almindelige ældre tilstande, skal du gøre følgende).

    steamworks_steam_input_custom_config.png

    Og nedenfor skal du vælge "Tilføj tilpasset konfiguration".

    steamworks_steam_controller_custom2.png

  • Indsæt fil-ID'et på din offentlige konfiguration i feltet, og klik på knappen "OK".

    steamworks_steam_controller_custom3.png

  • Udgiv app-ændringerne på partnersiden, som du plejer.

Hvis du vil, kan du også angive flere officielle konfigurationer til dit spil. Du kan for eksempel oprette en officiel venstrehåndet tilstand.

For at gøre dette skal du oprette flere konfigurationer og udgive hver af dem via trin 4.2. Derefter skal du i trin 4.3 indsætte alle fil-ID'erne for dine konfigurationer i feltet, adskilt med kommategn (,). Den første på listen vil blive betragtet som højeste prioritet og vil blive valgt som standard for nye spillere. Glem ikke at lave titler og beskrivelser til hver af dem.

Når dine officielle konfigurationer er blevet offentliggjort, vises de i sektionen "Tilpasset konfiguration":

steamworks_steam_input_branch_settings.png

For hver konfiguration kan du få et direkte link, og du kan se, hvilken controllertype den er til, samt styre, hvilke betagrene den er tilgængelig på, eller fjerne den helt. Hvis du opretter en ny officiel konfiguration, kan du bruge fjerne-/tilføje-funktionerne i denne sektion til at erstatte den eksisterende.

Controllerunderstøttelse i Steam Input


Dernæst skal du konfigurere, hvilke controllere der bruger Steam Input. Hvis du bruger Steam Input-API'en, skal du markere muligheden "Fremtidige enheder" for at sikre, at nye controllere automatisk vil fungere, uden at du skal justere indstillingerne, når understøttelse er tilgængelig i Steam.

steamworks_steam_input_optin_settings.png

Hvis du markerer disse bokse, vil de pågældende controllertyper bruge Steam Input frem for deres almindelige gamepad-inputprotokoller.

Opdatering af officielle konfigurationer

Du kan opdatere din konfiguration på to måder.
  1. Hvis du vil foretage vigtige ændringer såsom at tilføje/fjerne et nyt handlingssæt eller tilføje handlinger, som skal være bundet, skal du uploade en ny konfiguration for hver understøttede controllertype og fjerne den gamle konfiguration. Du skal også gå ind i Steam Input-konfigurationsbrowseren med den konto, som konfigurationen blev lavet fra, og markere den ved at trykke på:

    steamworks_remove_community_config.png
  2. For at foretage en valgfri ændring såsom at tilføje et nyt sprog til lokalisering af et handlingsnavn eller tilføje nye valgfri handlinger, som ikke skal være bundet i hver konfiguration, skal du uploade en enkelt ny konfiguration og markere feltet "Brug handlingsblokering" for at sikre, at handlingsblokeringen for den pågældende konfiguration bruges, når den foretrækkes, på de valgte grene.

    steamworks_steam_input_use_action_block.png

Tips

Dedikerede menuhandlinger

Vi anbefaler, at du opretter et separat spilhandlingssæt for din menustyring i stedet for blot at genbruge handlinger i dit primære spilsæt. De fleste kunder vil ikke have behov for at ændre dette menustyringssæt, men det er en nem måde til at tilbyde muligheden til spillere, der rent faktisk har brug for det (for eksempel spillere med handicap).

Tilpassede ikoner

Steam Input-systemet kan også skabe forskellige stile for skærmmenuer. Hvis du lægger dine egne .png-ikoner i <mappen til dit grundspil>/TouchMenuIcons/*.png, vises de først på listen over touch-/cirkelmenuer for dit spil. Dette giver dig mulighed for at konfigurere dine egne cirkelmenuer eller touch-menuer med ikoner, som er bundet til bestemte handlinger uden at skrive nogen spil-/UI-kode. Som udvikler giver det måske mening for dig at gøre dette, selvom du ikke har nogen cirkel- eller touch-menuer i din egen standardkonfiguration. Eftersom eventuelle brugerredigerede konfigurationer også vil have adgang til disse, vil brugere kunne oprette tematiserede menuer med din officielle ikongrafik.