Google Spill Spill Services: Achievements
14
Del
16
Del
Dette Cyber mandag Envato Tuts + Kursene vil bli redusert til bare $ 3. Ikke gå glipp av.
Med Google Play Games Services, kan du bygge en rekke funksjoner i Android-apps, inkludert leaderboards, prestasjoner, multiplayer gameplay, sky lagring og Google+ logge på.
I denne opplæringen vil vi arbeide gjennom trinnene du må ta for å legge prestasjoner til en enkel Android spill. Vi vil forberede utviklingsmiljø for å bruke Google Play Spill Services, definere en prestasjon i utviklerkonsollen og implementere prestasjon samhandling i spillet.
1. Forberede IDE
Trinn 1
For å utnytte Google Play Spill Tjenester verktøy, må vi forberede våre IDE. Samt bruke Google Play Services
bibliotek-som du trenger for alle Google-tjenester-vi vil bruke BaseGameUtils
ressurs, som inneholder en rekke klasser som er spesielt nyttig når du utvikler spill
Start med å skape en ny app i IDE.. Eksempelkoden for denne opplæringen inneholder et enkelt spill der brukeren må gjette et tall valgt tilfeldig. Du kan bruke det prosjektet å begynne å utvikle med Google Play Game Services hvis du vil. Opprett en ny Android-prosjektet, og velg navn og innstillinger for det.
Hvis du ikke bruker prøven app i nedlastingen, kan du ønsker å implementere gameplay på dette punktet, med tanke på hva du kommer til å bruke en prestasjon for. For prøven app, vil vi bare belønne en prestasjon når brukeren velger et korrekt svar.
Trinn 2
I dette trinnet, vi får IDE og vårt prosjekt klar til å bruke Google Play Games Tjenester og verktøy. Åpne din Android SDK Manager, som du finner under Vindu
menyen i Eclipse. Bla ned til du ser Tilbehør
mappe, utvide den, og velg Google Play Services Hotell og Google Repository
. Du kan også trenge Google APIer Platform
hvis du har planer om testing på emulator, så velger du det også. Du kan finne sistnevnte i kataloger for nyere versjoner av Android-plattformen. Installere de valgte pakkene, akseptere noen lisenser som nødvendig.
Trinn 3
Vi må også ta med et par av ressurser i selve arbeidsområdet, slik at vi kan referere til dem i app, og starter med Google Play Services Library
. Du bør finne det på /statister /google /google_play_services /libproject /google-play-services_lib /
i SDK mappen. Lag en kopi av biblioteket og lim den inn et annet sted på datamaskinen
Tilbake i Eclipse, importere biblioteket ved å velge Import >.
Android >
Importer eksisterende Android-koden inn Arbeidsområde
fra Fil
menyen. Bla til plasseringen du kopierte biblioteket inn, velg biblioteket, og importere den. Biblioteket bør fremstå som et prosjekt i Eclipse Package Explorer og arbeidsområde.
Høyreklikk biblioteket prosjekt i Eclipse, velg Egenskaper Hotell og bla til Android delen. Velg en Google API bygge målet og sikre Er Library
er avmerket. Biblioteket skal nå være klar til å referere i programmet ditt.
Trinn 4
La oss nå få BaseGameUtils
ressurs i din IDE også. Last den ned fra Eksempel spill
delen av Googles utvikler portal. Siden koden ligger på GitHub, kan du bla gjennom det og få tilgang til sine guider på GitHub
Importer BaseGameUtils ressurs inn Eclipse bruker samme teknikk som du brukte for Play Services Library ved å velge Import >.; Android >
Importer eksisterende Android-koden inn Arbeidsområde
fra Fil
menyen. Høyreklikk på BaseGameUtils prosjektet i pakken Explorer og sørg for Er Bibliotek
er avmerket.
Vi kan nå referere både Google Play Services Library og BaseGameUtils ressurser i vår app. Anmeldelser
Trinn 5
Velg spillet app i Eclipse Package Explorer, høyreklikk den, og velg Egenskaper
som du gjorde for de importerte ressurser. I Android
delen, denne gangen klikk Legg
i Bibliotek og areal. Velg både Google Play Tjenester l
ibrary og BaseGameUtils
legge til som bibliotekene i prosjektet.
Det er IDE satt opp for å utvikle med Spill Services.
< h2> 2. Forbered spillet i utviklerkonsollen
Trinn 1
For å kunne bruke prestasjoner i spillet, til ditt behov legge spillet til Google Play Developer Console
. Logg inn utviklerkonsollen, klikker du på Spill Services
knappen til venstre for konsollen, og velg Konfigurer Google Play spilltjenestene
hvis du ikke har brukt dem før. Anmeldelser
Klikk for å legge et nytt spill, velger du Jeg bruker ikke noen Google-APIer i spillet mitt ennå, og velge et navn og kategori for spillet ditt. Klikk Fortsett
å gå videre til neste trinn.
Spilldetaljer
delen, er alt du trenger for å legge til å teste appen din Spillets tittel.
Trinn 2
Klikk på Koblede Apps
til venstre på spill oppføring i utviklerkonsollen. Velg Android
fra listen Linked Apps.
Legg inn dine app detaljer, inkludert pakkenavnet du valgte da du opprettet den.
Klikk på Lagre og fortsett
øverst og velg Autoriser din app nå
. Du vil bli bedt om å angi merkevarebygging informasjon. Alt du trenger for øyeblikket er din app navn. Velg i Client ID Innstillinger
skjermen Installert program
som type, Android
som installerte programtypen, og skriv inn pakkenavn.
Du må deretter generere en signeringssertifikat fingeravtrykk for autorisasjon. Du må kjøre keytool verktøyet på datamaskinen for å gjøre dette. Åpne en terminal eller ledetekst og bruke følgende kommando, men sørg for å endre det som passer plasseringen om nødvendig. Du kan bruke feilsøkings sertifikat mens testing.
keytool -exportcert -alias androiddebugkey -keystore ~ /.android /debug.keystore -liste -V
keytool skal skrive ut sertifikat fingeravtrykk. Merke og kopiere det som vises etter SHA1 Hotell og lim den inn i utviklerkonsoll
under Logge Certificate Finger
. Klikk Opprett Client Hotell og kopiere programmet ID du se i oppføringen for spill i utviklerkonsollen, som skal vises ved siden av spillet navnet øverst på siden. Lagre programmet ID for bruk senere i programmet ditt.
3. Opprett en Achievement
Trinn 1
Fortsatt i utviklerkonsollen, klikker du på prestasjoner
knappen på venstre side av spillet notering og klikk Legg prestasjon Anmeldelser .
Før du fortsetter, kan det være lurt å sjekke ut prestasjoner side på Developer Guide for å sikre at du forstår konseptet med en prestasjon i Google Play Games. Skriv inn et navn, en beskrivelse, og et ikon for bragden, og velg en tilstand, poeng, og listerekkefølge. For vårt utvalg spill, bruker vi gjettet riktig
som navnet, Plukket et riktig nummer
som beskrivelse, og en enkel stjernebilde som ikon. Klikk Lagre
å lagre prestasjon.
Kopier prestasjon ID, som du kan se ved siden av prestasjon i utviklerkonsollen.
Trinn 2
Hvis du navigerer til Testing
seksjon for spillet ditt, kan du angi e-postadresser for folk som vil ha test tilgang til spillet. Som standard vil utviklerkonsollen sette inn din egen Google-konto e-post, så du bør være i stand til å bruke den med en gang. Legg noen andre test e-postene du trenger, så kan du logge deg ut av Google-kontoen din.
4. Forberede spillet for tilgang Games Services
Trinn 1
I Eclipse, kan vi få app klar for å få tilgang Spill Services. Vi kommer til å bruke teknikken skissert i Implementering Logg inn på Android å håndtere få brukere logget seg inn og ut av sine Google-kontoer. Dette vil innebære å bruke knappene til å logge inn og ut, så legger disse til din app oppsett som følger:
< - påloggingsknappen - > < com.google.android.gms.common.SignInButton android: id = "+ id /sign_in_button" android: layout_width = "wrap_content" android: layout_height = "wrap_content" /> < - sign-out knappen - > < Button android: id = "@ + id /sign_out_button "android: layout_width =" wrap_content "android: layout_height =" wrap_content "android: text =" Sign Out "android: synlighet =" borte "/>
Trinn 2
Alter din viktigste aktivitet å forlenge BaseGameActivity. Dette vil la oss automatisere visse deler av påloggingsprosessen for brukerne. Også gjøre aktiviteten klasse håndtak klikk:
public class MainActivity strekker BaseGameActivity implementerer View.OnClickListener
Du trenger følgende import:
import com.google.android.gms.games. Spill, import com.google.example.games.basegameutils.BaseGameActivity;
Nå hente referanser til knappene i onCreate:
findViewById(R.id.sign_in_button).setOnClickListener(this);findViewById(R.id.sign_out_button).setOnClickListener(this);
We vil svare på knappen kraner i onClick som du kan se nedenfor:
Overridepublic void onClick (Vis visning) {if (view.getId () == R.id.sign_in_button) {beginUserInitiatedSignIn (); } Else if (view.getId () == R.id.sign_out_button) {avlogging (); findViewById (R.id.sign_in_button) .setVisibility (View.VISIBLE); findViewById (R.id.sign_out_button) .setVisibility (View.GONE); }}
Vi bruker metoder fra BaseGameActivity klassen vi utvider til å håndtere logge på (beginUserInitiatedSignIn og avlogging), oppdatering av brukergrensesnittet tilsvarende. Når programmet starter, vil den prøve å automatisk logge på brukeren, men de vil også kunne bruke knappene til å logge inn og ut.
Vi trenger nå å legge to tilbakeanrop til vår aktivitet klasse:
public void onSignInSucceeded () {findViewById (R.id.sign_in_button) .setVisibility (View.GONE); findViewById (R.id.sign_out_button) .setVisibility (View.VISIBLE);} @ Overridepublic void onSignInFailed () {findViewById (R.id.sign_in_button) .setVisibility (View.VISIBLE); findViewById (R.id.sign_out_button) .setVisibility (View.GONE);}
Du kan legge til mer kode til disse hvis nødvendig. Du kan også velge å lagre spiller fremgang selv om de ikke er logget på, men dette avhenger av ditt spill. I prøveprogrammet, tar vi den enkle tilnærmingen for å sjekke at vi har en tilknytning til Google-tjenester før vi forsøker å arbeide med prestasjon.
Trinn 3
Før du begynner koding detaljene for å bruke prestasjoner i programmet ditt, må du legge til noen data til det. Start med å åpne eller lage din res /verdier /ids.xml
fil og legge streng ressurser for applikasjons- og prestasjoner IDer du kopierte fra utviklerkonsollen:
< string name = "APP_ID" > ABCDEFGHIJ < /string > < string name = "correct_guess_achievement" > abcdefghijkl < /string >
Oppdater innholdet å reflektere dine ID-verdier. Nå åpner prosjektets Manifest Hotell og legge til følgende inne i applikasjonen element:
< meta-data android: name = "com.google.android.gms.games.APP_ID" android: value = "@ streng /APP_ID" /> < meta-data android: name = "com.google.android.gms.version" android: value = "@ heltall /google_play_services_version" />
Vi referere app ID vi lagt til IDer filen og Play Services versjon. Dette er alt du trenger for å komme i gang koding med bragden.
5. Gjennomføre bragden
Trinn 1
Alt som gjenstår nå er for deg å låse opp prestasjon når spillet spiller møter prestasjoner og krav. Naturligvis dette vil avhenge av formålet med ditt eget spill, men hvis du ønsker å gjennomføre prosessen med prøven app av denne opplæringen, kan du bruke følgende kode. Vi starter med det viktigste layout, som inkluderer pålogging og sign-out knapper vi lagt tidligere:
< RelativeLayout xmlns: android = "http://schemas.android.com/apk/res/android" xmlns : verktøy = "http://schemas.android.com/tools" android: layout_width = "match_parent" android: layout_height = "match_parent" android: paddingBottom = "@ dimen /activity_vertical_margin" android: paddingLeft = "@ dimen /activity_horizontal_margin" android: paddingRight = "@ dimen /activity_horizontal_margin" android: paddingTop = "@ dimen /activity_vertical_margin" verktøy: kontekst = "com.example.fungame.MainActivity" > < LinearLayout android: id = "+ id /sign_in_buttons" android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: layout_alignParentTop = "true" android: orientering = "horisontal" > <! - påloggingsknappen - > < com.google.android.gms.common.SignInButton android: id = "+ id /sign_in_button" android: layout_width = "wrap_content" android: layout_height = "wrap_content" /> <! - sign-out knappen - > < Button android: id = "+ id /sign_out_button" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Sign Out" android: synlighet = "borte" /> <! - vis prestasjoner - > < Button android: id = "+ id /show_achievements" android: layout_width = "wrap_content" android: layout_height = "wrap_content" Android: text = "prestasjoner" /> < /LinearLayout > < RelativeLayout android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: layout_below = "@ id /sign_in_buttons" > < TextView android: id = "+ id /guess_text" android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: layout_centerHorizontal = "true" android: text = "Gjett hvor mange!" android: Tekststørrelse = "30sp" android: textStyle = "fet" /> < LinearLayout android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: layout_below = "@ id /guess_text" android: orientering = "vertikal" > < LinearLayout android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: orientering = "horisontal" > < Button android: id = "+ id /btn7" android: layout_width = "0DP" android: layout_height = "match_parent" android: layout_margin = "1DP" android: layout_weight = "1" android: bakgrunn = "# ff000033" android: vekt = "center" android: onclick = "btnPressed" android: padding = "5dp" android: tag = "7" android: text = "7" android: textcolor = "# ffffffff" android: Tekststørrelse = "30sp" android: textStyle = "fet" /> < Button android: id = "+ id /btn8" android: layout_width = "0DP" android: layout_height = "match_parent" android: layout_margin = "1DP" android: layout_weight = "1" android: bakgrunn = "# ff000033" android: vekt = "center" android: onclick = "btnPressed" android: padding = "5dp" android: tag = "8" android: text = "8" android: textcolor = "# ffffffff" android: Tekststørrelse = "30sp" android: textStyle = "fet" /> < Button android: id = "+ id /btn9" android: layout_width = "0DP" android: layout_height = "match_parent" android: layout_margin = "1DP" android: layout_weight = "1" android: bakgrunn = "# ff000033" android: vekt = "center" android: onclick = "btnPressed" android: padding = "5dp" android: tag = "9" android: text = "9" android: textcolor = "# ffffffff" android: Tekststørrelse = "30sp" android: textStyle = "fet" /> < /LinearLayout > < LinearLayout android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: layout_weight = "1" android: orientering = "horisontal" > < Button android: id = "+ id /btn4" android: layout_width = "0DP" android: layout_height = "match_parent" android: layout_margin = "1DP" android: layout_weight = "1" android: bakgrunn = "# ff000033" android: vekt = "center" android: onclick = "btnPressed" android: padding = "5dp" android: tag = "4" android: text = "4" android: textcolor = "# ffffffff" android: Tekststørrelse = "30sp" android: textStyle = "fet" /> < Button android: id = "+ id /btn5" android: layout_width = "0DP" android: layout_height = "match_parent" android: layout_margin = "1DP" android: layout_weight = "1" android: bakgrunn = "# ff000033" android: vekt = "center" android: onclick = "btnPressed" android: padding = "5dp" android: tag = "5" android: text = "5" android: textcolor = "# ffffffff" android: Tekststørrelse = "30sp" android: textStyle = "fet" /> < Button android: id = "+ id /btn6" android: layout_width = "0DP" android: layout_height = "match_parent" android: layout_margin = "1DP" android: layout_weight = "1" android: bakgrunn = "# ff000033" android: vekt = "center" android: onclick = "btnPressed" android: padding = "5dp" android: tag = "6" android: text = "6" android: textcolor = "# ffffffff" android: Tekststørrelse = "30sp" android: textStyle = "fet" /> < /LinearLayout > < LinearLayout android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: layout_weight = "1" android: orientering = "horisontal" > < Button android: id = "+ id /btn1" android: layout_width = "0DP" android: layout_height = "match_parent" android: layout_margin = "1DP" android: layout_weight = "1" android: bakgrunn = "# ff000033" android: vekt = "center" android: onclick = "btnPressed" android: padding = "5dp" android: tag = "1" android: text = "1" android: textcolor = "# ffffffff" android: Tekststørrelse = "30sp" android: textStyle = "fet" /> < Button android: id = "+ id /btn2" android: layout_width = "0DP" android: layout_height = "match_parent" android: layout_margin = "1DP" android: layout_weight = "1" android: bakgrunn = "# ff000033" android: vekt = "center" android: onclick = "btnPressed" android: padding = "5dp" android: tag = "2" android: text = "2" android: textcolor = "# ffffffff" android: Tekststørrelse = "30sp" android: textStyle = "fet" /> < Button android: id = "+ id /btn3" android: layout_width = "0DP" android: layout_height = "match_parent" android: layout_margin = "1DP" android: layout_weight = "1" android: bakgrunn = "# ff000033" android: vekt = "center" android: onclick = "btnPressed" android: padding = "5dp" android: tag = "3" android: text = "3" android: textcolor = "# ffffffff" android: Tekststørrelse = "30sp" android: textStyle = "fet" /> < /LinearLayout > < LinearLayout android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: layout_weight = "1" android: orientering = "horisontal" > < Button android: id = "+ id /btn0" android: layout_width = "0DP" android: layout_height = "match_parent" android: layout_margin = "1DP" android: layout_weight = "1" android: bakgrunn = "# ff000033" android: vekt = "center" android: onclick = "btnPressed" android: padding = "5dp" android: tag = "0" android: text = "0" android: textcolor = "# ffffffff" android: Tekststørrelse = "30sp" android: textStyle = "fet" /> < Button android: id = "+ id /btnAgain" android: layout_width = "0DP" android: layout_height = "match_parent" android: layout_margin = "1DP" android: layout_weight = "1" android: bakgrunn = "# ffffff00" android: frigitt = "false" android: vekt = "center" android: onclick = "btnPressed" android: padding = "5dp" android: tag = "- 1" android: text = "nytt" android: textcolor = "# ffffff00 "android: Tekststørrelse =" 30sp "android: textStyle =" fet "/> < /LinearLayout > < /LinearLayout > < /RelativeLayout > < /RelativeLayout >
Legg merke til at vi også har en prestasjoner
knappen ved siden av knappene for å logge inn og ut. Vi vil gjennomføre den knappen senere. Vi vil ikke gå i for mye detalj på prøven spillet, hvis du har fullført selv enkle apps før, dette bør ikke være for vanskelig.
Spillet velger et tilfeldig tall mellom 0 og 9, og Spilleren kan velge et nummer for å foreta en gjetning. Spillet oppdaterer tekstfeltet for å reflektere hvorvidt brukeren gjettet riktig. Hvis en riktig gjetning er gjort, er det prestasjon ulåst
Trinn 2
Slå tilbake til aktivitet klassen og legge til følgende forekomst variabler.
Privat Button button0, Button1 , knappen2, Button3, button4, Button5, button6, button7, button8, button9, buttonAgain; private int antall; privat Random rand, privat TextView info;
Disse representerer knapper, tall, tilfeldig nummer generator, og tekstfeltet. Legg til følgende i onCreate method:
findViewById(R.id.show_achievements).setOnClickListener(this);button0=(Button)findViewById(R.id.btn0);button1=(Button)findViewById(R.id.btn1);button2=(Button)findViewById(R.id.btn2);button3=(Button)findViewById(R.id.btn3);button4=(Button)findViewById(R.id.btn4);button5=(Button)findViewById(R.id.btn5);button6=(Button)findViewById(R.id.btn6);button7=(Button)findViewById(R.id.btn7);button8=(Button)findViewById(R.id.btn8);button9=(Button)findViewById(R.id.btn9);buttonAgain=(Button)findViewById(R.id.btnAgain);info=(TextView)findViewById(R.id.guess_text);rand=new Random (); nummer = rand.nextInt (10);
Nå kan du legge en metode som heter disableNumbers, som vi vil kalle når brukeren gjør en rekke valg:
private void disableNumbers () {button0.setEnabled (falsk); button0.setTextColor (Color.parseColor ("# ff000033")); button1.setEnabled (false); button1.setTextColor (Color.parseColor ("# ff000033")); button2.setEnabled (false); button2.setTextColor (Color.parseColor ("# ff000033")); button3.setEnabled (false); button3.setTextColor (Color.parseColor ("# ff000033")); button4.setEnabled (false); button4.setTextColor (Color.parseColor ("# ff000033")); button5.setEnabled (false); button5.setTextColor (Color.parseColor ("# ff000033")); button6.setEnabled (false); button6.setTextColor (Color.parseColor ("# ff000033")); button7.setEnabled (false); button7.setTextColor (Color.parseColor ("# ff000033")); button8.setEnabled (false); button8.setTextColor (Color.parseColor ("# ff000033")); button9.setEnabled (false); button9.setTextColor (Color.parseColor ("# ff000033")); buttonAgain.setEnabled (true); buttonAgain.setTextColor (Color.parseColor ("# ff000033"));}
Implementere en annen metode, enableNumbers, som er påberopt når brukeren har valgt å spille igjen:
private void enableNumbers () {button0 .setEnabled (true); button0.setTextColor (Color.WHITE); button1.setEnabled (true); button1.setTextColor (Color.WHITE); button2.setEnabled (true); button2.setTextColor (Color.WHITE); button3.setEnabled (true); button3.setTextColor (Color.WHITE); button4.setEnabled (true); button4.setTextColor (Color.WHITE); button5.setEnabled (true); button5.setTextColor (Color.WHITE); button6.setEnabled (true); button6.setTextColor (Color.WHITE); button7.setEnabled (true); button7.setTextColor (Color.WHITE); button8.setEnabled (true); button8.setTextColor (Color.WHITE); button9.setEnabled (true); button9.setTextColor (Color.WHITE); buttonAgain.setEnabled (false); buttonAgain.setTextColor (Color.parseColor ("# ffffff00"));}
Nå kan du legge den metoden vi satt som onClick attributt for knappene:
public void btnPressed (Vis v) {int btn = Integer.parseInt ( . v.getTag () toString ()); if (btn < 0) {//igjen btn nummer = rand.nextInt (10); enableNumbers (); info.setText ("Gjett antall!"); } Else {//antall knappen hvis (BTN == nummer) {info.setText ("Ja Det var" + antall); if (. getApiClient () isConnected ()) Games.Achievements.unlock (getApiClient (), getString (R.string.correct_guess_achievement)); } Else {info.setText («Nei Det var" + antall); } DisableNumbers (); }}
Vi kaller det Spill prestasjoner
verktøyet til å låse opp prestasjon hvis brukerens gjetning var riktig, først å sjekke at vi har en sammenheng. Vi viser til prestasjon ved hjelp av strengen ressursen vi har skapt.
Sist men ikke minst, la oss tillate brukeren å vise sine prestasjoner for spillet. Dette vil skje når de klikker prestasjoner
knappen vi lagt til. Utvid koden i onClick metoden, og legger til en ekstra else if:
else if (view.getId () == R.id.show_achievements) {startActivityForResult (Games.Achievements.getAchievementsIntent (getApiClient ()), 1); }
Vi bruker getAchievementsIntent metoden med en vilkårlig heltall for å vise bruker prestasjoner i spillet. Treffer tilbake-knappen vil bringe spilleren tilbake til spillet. For mer på prestasjoner metoder, se prestasjoner i Android side på Developer Guide.
Trinn 3
Du bør være i stand til å kjøre programmet på dette punktet. Når app kjører, vil den starte brukeren autorisasjon og logge på prosessen, spørre brukeren om å gi de nødvendige tillatelser.
Når du er logget inn, vil brukeren se en bekreftelse.
< p> Brukeren kan velge å logge av og på igjen når de vil. Når brukeren velger et korrekt tall, er det prestasjon ulåst, og vises på toppen av spillet skjermen.
Spilleren kan da fortsette som normalt. Ved å klikke på prestasjoner knappen vil vise sine prestasjoner. Trykke på tilbake-knappen vil bringe spilleren tilbake til spillet.
Konklusjon
I denne opplæringen, har vi utforsket en praktisk eksempel på bruk av prestasjoner i en Android-applikasjon. Prøven app vi brukte er enkle, men de samme prinsippene gjelder for alle spill du jobber med. Prøv å legge en annen prestasjon å utviklerkonsollen og implementere det i spillet for å sikre at du forstår begreper og prosesser.