Inhoud
- (terug naar het begin)
- 8 - Waarmee wil je verder?
- 9 - Spelers met karakter
- 10 - Animatie
- 11 - Actie
- 12 - Grotere levels en editor
- 13 - Op avontuur!
- 14 - Meer voorbeelden
14 - Meer informatie
Nog niet uitgepuzzeld? Kijk dan eens naar deze technieken waar we nog niet aan toegekomen zijn. Misschien brengt eentje je op een fantastisch idee!
Voorbeelden
Elk voorbeeld opent in een nieuw tabblad, dus het overschrijft je eigen spel niet.
Twee karakters die je ombeurten kunt besturen
Druk op X om te wisselen tussen twee spelerkarakters. Zo worden je puzzels extra moeilijk.
Drempel waar speler overheen kan maar kistjes niet
Nog iets om je puzzels ingewikkelder te maken: een speciaal type vloer waar wel spelers maar geen kistjes overheen kunnen.
Portals
Een portal verbindt twee plekken in het level. Spelers en kistjes kunnen door de portal van de ene naar de andere plek springen!
3-op-een-rij spelletje
Een bekend soort spelletje waarbij je steeds drie dezelfde symbolen op een rij moet krijgen om ze te laten verdwijnen. Gebruik de pijltjestoetsen om een symbool te kiezen, druk X om het te selecteren, en druk een richting om het symbool te wisselen met z’n buurman. Wisselen mag alleen als het drie (of meer) op een rij oplevert.
Schietspel
Een klassiek soort spelletje waarbij je een ruimteschip bestuurt en boosaardige buitenaardse wezens moet schieten. Vijanden komen telkens op willekeurige plaatsen te staan.
Ingebouwde voorbeeldspellen
Misschien heb je bovenin al “Load example” zien staan. Bij PuzzleScript zitten een aantal voorbeeldspellen waar je van kunt leren. Sla eerst jouw spel op (SAVE) en selecteer dan een van de spellen uit de lijst om de code te bekijken.
(Let op, jouw code wordt overschreven, maar je kunt altijd terug naar de laatst opgeslagen versie door de bovenste optie bij “Load” te kiezen)
Voor hardcore PuzzleScripters
Hier zijn nog een aantal andere hele knappe PuzzleScript-spellen die niet in de lijst voorbeelden staan:
Een hele verzameling uitdagende puzzelspellen van de maker van PuzzleScript (Stephen Lavelle, bijnaam ‘increpare’) vind je op zijn website.
Extra opties
Misschien had je al gezien dat helemaal bovenaan het programma deze regels staan:
title Mijn puzzelspel
author jij
homepage www.puzzlescript.net
Dit gedeelte bovenaan wordt de Prelude genoemd. Je kunt je spel hier een naam geven en je eigen naam erbij zetten. Maar in dit gedeelte van het programma kun je ook bepaalde extra opties van PuzzleScript opgeven. Dit zijn een paar interessante (sommige hebben we al gezien):
color_palette nummer
- Gebruik een andere kleurenpalet (alle kleuren zien er iets anders uit). Nummer mag 1-14 zijn.
background_color kleur
- Gebruik een andere achtergrondkleur voor titelscherm, berichten, etc.
text_color kleur
- Verandert de tekstkleur.
scanline
- Tekent je spel met horizontale strepen, zodat het er (nog meer) uitziet als een heel ouderwets computerspelletje.
noaction
- Verbergt de regel "X to action" op het titelscherm. De meeste puzzelspellen hebben behalve de pijltjestoetsen geen aparte actietoets, dus dan is deze instructie niet nodig.
youtube wygy721nzRc
- Laat het geluid van een YouTube-video als achtergrondmuziek horen. Let op, dit werkt alleen als je "SHARE" gebruikt, niet in de PuzzleScript-editor. Je moet de unieke "code" van de youtube-video weten. Dit vind je door naar het adres te kijken, bijvoorbeeld `https://www.youtube.com/watch?v=wygy721nzRc`. Het gedeelte na `v=` is de code die je hier moet gebruiken.
debug
verbose_logging- Toon hoe PuzzleScript jouw regels heeft uitgeschreven en hoe ze worden toegepast. Interessant als je beter wilt begrijpen hoe PuzzleScript werkt, of een moeilijk probleem probeert op te lossen.
flickscreen WxH
zoomscreen WxH- Met deze regels zie je steeds maar een deel van elk level. Met
flickscreen 5x5
wordt je level in 5x5 vierkantjes opgedeeld, en zie je altijd maar 1 van die vierkantjes. Metzoomscreen 5x5
zie ook altijd maar 5x5 vakjes en beweegt de 'camera' mee met de speler. run_rules_on_level_start
- Soms is het handig als je regels alvast 1x worden toegepast voordat het spel begint. Met deze regel zorg je daar voor.
realtime_interval getal
- Hiermee kun je je spel 'realtime' maken. Gebruik bijvoorbeeld
realtime_interval 0.1
om je regels 10 keer per seconde toe te passen.
Vragen en antwoorden
- Zijn er uitwerkingen van de vragen in deze CoderDojo?
- Ja! Voor uitwerkingen van veel van de vragen in deze CoderDojo: zie voorbeeld van code na stap 5 en voorbeeld van code aan het eind. (sla het bestand op en open het in bijv. Kladblok. Gebruik kopieren en plakken om de code in PuzzleScript uit te proberen)
- Waar vind ik meer informatie over PuzzleScript?
- Klik op DOCS bovenin om de (Engelse) documentatie van PuzzleScript te bekijken. Hierin staan nog een aantal mogelijkheden die hier niet genoemd zijn. Er zijn ook een aantal stap-voor-stap instructies ("tutorials") voor PuzzleScript. Je vindt ze hier.
- Hoe worden PuzzleScript-regels precies uitgevoerd?
- Zie hier. Korte samenvatting: regels worden een voor een zo vaak mogelijk toegepast. Zet
debug
enverbose_logging
bovenin om precies te zien hoe het werkt. - Hoe kun je meerdere kistjes tegelijk schuiven?
- Gebruik deze twee regels:
[ > Speler | Kistje ] -> [ > Speler | > Kistje ]
[ > Kistje | Kistje ] -> [ > Kistje | > Kistje ] - Hoe kun je de actietoets (X) in een spel gebruiken?
- Om bijvoorbeeld alle kistjes naast de speler weg te schuiven als je X drukt:
[ ACTION Speler | Kistje | no Voorwerp ] -> [ Speler | | Kistje ]
- Hoe kun je een ander soort vloer maken waar voorwerpen op kunnen staan?
- Je kunt een extra
COLLISIONLAYER
(laag) tussen Achtergrond en Voorwerp maken waar "vloerobjecten" kunnen staan. Objecten op verschillende lagen kunnen op hetzelfde vakje staan, dus een kistje kan bovenop een "vloerobject" staan. Als je een vloerobjectDoel
maakt en je wilt een regel die zegt datKistje
s die op hetDoel
terechtkomen verdwijnen, doe je dat zo:
[ Kistje Doel ] -> [ Doel ]
- Hoe kun je het zo maken dat een geduwd kistje doorbeweegt tot het tegen een muur botst?
- Zonder animatie (
Kistje
springt direct naar eindpunt):
[ > Speler | Kistje ] -> [ Speler | > Kistje ]
[ > Kistje | no Object ] -> [ | > Kistje ]
Met animatie: zie volgende vraag. - Kan je een 'vijand' maken die naar de speler toe beweegt zodra hij die ziet?
[ Speler | ... | no Object | Vijand ] -> [ Speler | ... | Vijand | ]
- Kan je 4 kistjes laten verdwijnen als ze een vierkant vormen?
- Ja, maar dit is wat lastiger, omdat PuzzleScript-regels meestal alleen op 1 rij of kolom werken. Je zou (op een andere laag) een tijdelijk object moeten aanmaken, bijv.
TweeKistjesBovenElkaar
dat betekent "dit vakje en het vakje eronder bevat een kistje" en dan een regel die checkt op tweeTweeKistjesBovenElkaar
objecten naast elkaar en er andere tijdelijke objecten van maakt, bijv.VerdwijnendeKistjesBovenElkaar
. Als een van de laatste regels zou je alle tijdelijke objecten weer moeten verwijderen.</a> - Kan je bijvoorbeeld een verfbom maken die alle voorwerpen om zich heen een bepaalde kleur geeft?
- Ja, op een vergelijkbare manier als de vorige vraag. Je zou bijvoorbeeld eerst in de vakjes links en rechts van de bom een tijdelijk object
VerfLinksRechts
moeten aanmaken en dan met een volgende regel boven en onder die tijdelijke objecten meer tijdelijke objecten moeten aanmaken, bijv.VerfHoek
. Daarna kun je regels maken die de tijdelijke objecten gebruikt om voorwerpen te kleuren, en tot slot verwijder je weer alle tijdelijke objecten.</a>