Innholdsfortegnelse:
- Trinn 1: For skyldens skyld …
- Trinn 2: Ideen
- Trinn 3: Lag noen rom
- Trinn 4: Legg til en Wumpus
- Trinn 5: Se etter en Wumpus
- Trinn 6: Test
- Trinn 7: Legge til generisk romkode
- Trinn 8: Test
- Trinn 9: Hvorfor er det tomme linjer?
- Trinn 10: Test
- Trinn 11: Det er alt for nå
Video: Generiske rom i garn med sukkerbit: 11 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
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 …
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 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
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
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
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
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
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
Å 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?
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 … <
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
Testen din skulle avsløre at du har eliminert den feilaktige tomme plassen! Fantastisk!
Trinn 11: 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:
Ansiktsgjenkjenningsspeil med hemmelig rom: 15 trinn (med bilder)
Ansiktsgjenkjenningsspeil med hemmelig rom: Jeg har alltid blitt fascinert av de stadig kreative hemmelige romene som brukes i historier, filmer og lignende. Så da jeg så den hemmelige avdelingskonkurransen, bestemte jeg meg for å eksperimentere med ideen selv og lage et vanlig speil som åpner en
DIY Walkie-Talkie med generiske 433MHz RF-moduler: 4 trinn
DIY Walkie-Talkie med generiske 433MHz RF-moduler: I dette prosjektet vil jeg vise deg hvordan du bruker generiske 433MHz RF-moduler fra Ebay for å lage en funksjonell Walkie-Talkie. Det betyr at vi vil sammenligne forskjellige RF-moduler, lære litt om en klasse d-forsterker og til slutt bygge Walkie-Talkie
Lenker fra variabler i garn med sukkerbit: 10 trinn
Lenker fra variabler i hyssing med sukkerbit: Jeg er så glad for at du ble med meg igjen! Dette betyr at Wumpus ikke har spist deg ennå. Bra! For de av dere som ikke er kjent, er dette et sett med opplæringsprogrammer jeg lager for å hjelpe min yndige oochy-skootchy widdle fetter med sitt seniorprosjekt. Denne opplæringen
Garn Globe Meditasjonslampe: 5 trinn
Garn Globe Meditasjonslampe: I denne opplæringen vil jeg vise deg hvordan du bygger en garnklosselampe med noen lysdioder, kobberbånd, berøringssensor og ATtiny45. Lampen vil slås på og ha falmende effekt når du holder sensoren. Nødvendige materialer: 3 lysdioder, hvilken som helst farge du vil
Garn-dekket USB! Kan tilpasses: 5 trinn
Garn-dekket USB! Kan tilpasses: Vil du tilpasse USB -en din? Er fargen på USB -en din ikke din favoritt?