Innholdsfortegnelse:

Generiske rom i garn med sukkerbit: 11 trinn
Generiske rom i garn med sukkerbit: 11 trinn

Video: Generiske rom i garn med sukkerbit: 11 trinn

Video: Generiske rom i garn med sukkerbit: 11 trinn
Video: SCP-261 Пан-мерное Торговый и эксперимент Войти 261 объявление Де + полный + 2024, November
Anonim
Generiske rom i hyssing med sukkerterning
Generiske rom i hyssing med sukkerterning

Hei hei og velkommen til min opplæring i å bygge Wumpus Hunt i hyssing med Sugarcube!

Twine er et veldig enkelt verktøy, designet for å lage teksteventyrspill! Min favoritt lille fetter har valgt å lage et spill med Twine for sitt seniorprosjekt, og jeg får hjelpe, så jeg lager denne serien med opplæringsprogrammer!

Denne serien er mindre ment som et prosjekt i seg selv, og mer som en referanse for spilldesign med hyssing. Jeg skal vise frem noen av Twines funksjoner, og hvordan du kan bruke dem som en del av spillet ditt.

Hvis du vil følge med meg mens jeg bygger Hunt the Wumpus, oppfordrer jeg deg til å endre ting mens vi går. Prøv å legge til funksjoner, eller bruk ting på nye måter. På den måten kan du lage ditt eget spill, i stedet for å bare følge mitt.

Nå har vi en Wumpus å jakte på!

Trinn 1: For skyldens skyld …

For skyldens skyld …
For skyldens skyld …

Denne opplæringen kommer til å anta at du er kjent med noen grunnleggende. Normalt liker jeg å gjøre opplæringen så lett tilgjengelig som mulig, men denne gangen må jeg komme til kjøttet og potetene for min søte fælle.

Jeg antar at du er godt kjent med Twine; at du vet hvordan du laster det ned (eller bruker nettversjonen), og at du vet hvordan du lager nye passasjer og knytter dem sammen. Jeg antar også at du er kjent med noen grunnleggende programmeringskonsepter, nemlig variabler og funksjoner, og hvordan de brukes i Sugarcube.

Jeg må anta at du er kjent med spillet Hunt the Wumpus. Det er et vanskelig konsept å beskrive med ord, og å forklare med bilder vil ta evigheter. Jeg prøvde å finne en video eller noe som forklarte det, men jeg kunne ikke finne noen som bare var narrasjon-uten spill. Jeg antar at det er en av de tingene som bare blir overført generasjonsmessig, og alle antar bare at du vet om det. Jeg antar at jeg ikke hjelper med det.

Trinn 2: Ideen

Ideen
Ideen

Ideen bak dette prosjektet er at vi kan bruke Twines passasjer som individuelle rom. Spilleren kan krysse disse rommene gjennom koblingene, og koden endrer rommets tekst avhengig av om Wumpus er der eller ikke.

Dette konseptet endte opp med å bli mer utfordrende enn jeg forventet, men i det hele tatt tror jeg det passet stort sett innenfor Twines styrehus.

Trinn 3: Lag noen rom

Lag noen rom
Lag noen rom
Lag noen rom
Lag noen rom
Lag noen rom
Lag noen rom
Lag noen rom
Lag noen rom

Som du kan se ovenfor, begynte jeg med å lage et 3x3 rutenett med rom. Jeg har også en introduksjonspassasje der spilleren skal starte, og som lenker til ett rom på rutenettet. Koden for disse er veldig grunnleggende, bare litt tekst og lenker. Jeg formaterte litt for å ordne koblingene i hvert rom (som du kan se på det tredje bildet), men jeg holdt det minimalt.

Nøkkelen til dette trinnet er minimalisme. Du kommer til å ønske å omarbeide de fleste av disse tingene med jevne mellomrom, så du trenger ikke å måtte gjøre en hel haug med arbeid på nytt. Hold deg til færre enn 10 rom totalt, hold rombeskrivelser korte, ikke gjør ting ganske pent ennå. De må bare være funksjonelle.

Når du får koden til å fungere, kan den være pen.

Trinn 4: Legg til en Wumpus

Legg til en Wumpus
Legg til en Wumpus

For å legge til vår Wumpus, må vi lage en StoryInit -passasje.

Denne passasjen er unik for SugarCube, og kjøres før spilleren ser startpassasjen. Den brukes til å sette opp variabler og objekter som må opprettes før spillet begynner. Det er veldig viktig at avsnittet får tittelen "StoryInit", og at det er store og små bokstaver.

Vi erklærer vår Wumpus -variabel som en streng, og tildeler den en tilfeldig romtittel. Vi kan bruke enten () -funksjonen til å tildele den en tilfeldig streng fra en liste med strenger. På den måten starter Wumpus alltid i et tilfeldig rom.

Trinn 5: Se etter en Wumpus

Se etter en Wumpus
Se etter en Wumpus

Til hvert rom legger vi til en "" uttalelse som kontrollerer om Wumpus er i det nåværende rommet. Hvis det er det, vil den skrive ut en kort streng. Hvis det ikke er det, dukker det ikke opp noe.

Fordi vi bygger dette, vil vi også legge til litt feilsøkingsinformasjon. Vi vil gjerne vite på forhånd hvor Wumpus er, og at den fungerer som den skal.

Du må kopiere og lime inn denne koden individuelt i hvert rom for nå. Det er derfor jeg fortalte deg å holde deg til bare noen få rom.

Trinn 6: Test

Test
Test
Test
Test

Vi tester koden vår ved å spille den. Sikker nok kan vi se hvor Wumpus er plassert øverst på skjermen. Hvis vi ikke er i det rommet, er "A Wumpus her!" teksten vises ikke.

Ved å navigere til riktig rom kan vi få teksten til å vises. Slik tildeler vi Wumpus et tilfeldig rom for hvert spill!

Trinn 7: Legge til generisk romkode

Legger til generisk romkode
Legger til generisk romkode
Legger til generisk romkode
Legger til generisk romkode

Alt det å kopiere og lime inn for å få hvert rom til å se etter Wumpus er tedius. Når vi utvikler dette spillet, kommer vi til å ønske å endre denne koden ganske mye. Vi trenger en bedre måte å gjøre det på. La oss lage en generisk romkode.

Lag et avsnitt og gi det noe spesielt. Jeg kaller bare mitt "rom", med alle små bokstaver. Det kan være lurt å bruke spesialtegn, eller alle caps, for å gjøre ditt unikt, slik at det ikke ligner noen av dine virkelige romnavn.

Vi klipper og limer inn "" -erklæringen i denne generiske romkoden. Deretter bruker du en "" uttalelse i hvert av dine virkelige rom. Dette vil bokstavelig talt kopiere og lime inn innholdet i vår "rom" -passasje i den delen av hvert rom. På den måten kan vi la maskinen håndtere de kjedelige bitene, mens vi fokuserer på kode!

Du kan lese mer om "" og andre utsagn på dokumentasjonssiden for Sugarcube 2.

Trinn 8: Test

Test
Test
Test
Test

Å teste dette gir selvfølgelig de samme resultatene som før, men det er viktig å teste ofte. Tilfredsstillende også.

Det peker imidlertid på en uheldig bivirkning av all vår koding som vi nå kan adressere mer riktig. Du vil kanskje legge merke til at etter hvert som vi legger til mer kode i hver passasje, får vi mer og mer tom plass i spillet vårt. Vi tar vare på dem neste.

Trinn 9: Hvorfor er det tomme linjer?

Hvorfor er det tomme linjer?
Hvorfor er det tomme linjer?
Hvorfor er det tomme linjer?
Hvorfor er det tomme linjer?

Du kan se ovenfor hvordan jeg har lagt backslashes i endene på visse kodelinjer. Hvor og når jeg bruker dem er veldig bevisst, og for å forstå at du må forstå hvorfor vi får rare linjebrudd i utgangspunktet.

Det er koden i Twine å blande seg med vanlig tekst. Vinkelparentesene (disse tingene:) forteller Twine at det som er inneholdt er kode og ikke tekst. La meg illustrere problemet med dette. La oss si at du har følgende kode:

<> Normal tekst som vises i spillet … <> Mer spilltekst …

Mange tekstbehandlere har et alternativ som lar deg se tegn i mellomrom; ting som mellomrom, faner og linjeskift. Twine ikke, men hvis det gjorde det, ville det se slik ut:

Normal˙tekst˙dukker˙ i˙spillet … ¶ ¶ Mer˙spill˙tekst …

Ser du avsnittstegnene? (¶) De er ikke inne i vinkelbrakettene. Det betyr at Twine tror de er normal tekst og legger dem inn i spillet ditt. Derfor ser det slik ut når du spiller spillet:

Normal tekst vises i spillet …

Mer spilletekst …

For å bli kvitt dem, kan vi bruke en omvendt skråstrek -karakter for å fortelle Twine at vi ikke vil ha den linebreaken der. I koden din vil den se slik ut:

Normal˙tekst˙dukker˙ i˙spillet … ¶ / ¶ Mer˙spill˙tekst …

Dette vises som du forventer i spillet ditt:

Normal tekst vises i spillet …

Mer spilletekst …

Husk at bare linjebrudd utenfor vinkelbeslag trenger dette. For eksempel hvis vi hadde følgende kode:

Vi trenger bare den ene bakoverstreken, fordi den første linjeskiftet (¶) er inne i vinkelbrakettene ().

For det andre er skråstreker () forskjellige fra skråstreker (/), og du må være forsiktig med hvilken du bruker hvor, fordi de gjør forskjellige ting.

Trinn 10: Test

Test
Test

Testen din skulle avsløre at du har eliminert den feilaktige tomme plassen! Fantastisk!

Trinn 11: Det er alt for nå

Det er alt for nå
Det er alt for nå

Det er hele tiden jeg har for nå. Så langt er alt ganske grunnleggende Twine -ting. Generisk romkode er et nyttig triks for å redusere kopien og limen du må gjøre, og disse skråstrekkene er helt nødvendige for å holde passasjene dine rene og koden lesbar.

Ting kommer til å ta fort herfra!

God jakt!

Anbefalt: