Inhoudsopgave:

Videogame "Beveiligingssysteem" - Ajarnpa
Videogame "Beveiligingssysteem" - Ajarnpa

Video: Videogame "Beveiligingssysteem" - Ajarnpa

Video: Videogame
Video: ETSC2 ERTMS 2024, November
Anonim
Afbeelding
Afbeelding

Zo maak je een eenvoudige platformgame in flowlab.io. De game die in deze tutorial als voorbeeld wordt gebruikt, kan worden gespeeld en de programmering ervan kan worden bekeken en bewerkt (maar niet opgeslagen) via deze link: https://flowlab.io/game/play /1130006

Stap 1: Stap één: Hoofdspeler aanmaken

Stap één: Hoofdspeler aanmaken
Stap één: Hoofdspeler aanmaken
Stap één: Hoofdspeler aanmaken
Stap één: Hoofdspeler aanmaken
Stap één: Hoofdspeler aanmaken
Stap één: Hoofdspeler aanmaken
Stap één: Hoofdspeler aanmaken
Stap één: Hoofdspeler aanmaken

Gebruik de sprite-editor om het ontwerp van uw speler te maken. Voeg vanaf hier bewegend gedrag, gezondheidsbundelgedrag en indien gewenst projectielschietgedrag toe. Voeg in de gezondheidsbundel gedragingen toe waarmee de speler kan worden beschadigd door vijanden en objecten. Animaties kunnen worden gekoppeld aan al deze gedragingen.

^Een voorbeeld van het uiteindelijke gedrag van een spelerpersonage. Basisbewegingen worden geleverd in een aanpasbare voorverpakte bundel, sleutels kunnen worden toegewezen aan animaties en/of projectielen, gezondheid is gecompliceerd en wordt daarom voor organisatiedoeleinden in een aparte bundel bewaard. Deze programmering ziet er ingewikkeld uit, maar de meeste complexiteit komt van het gebruik van logische poorten om vast te stellen wat prioriteit heeft wanneer toetsen worden ingedrukt en animaties/acties plaatsvinden.

^Een deel van het gezondheidsgedrag van dit spelerpersonage. Wanneer een object het personage van de speler "pijn doet", wordt het gedrag niet geprogrammeerd in de vijand/het object, maar in het personage, waarbij interactie met de vijand/het object een deel van de "gezondheid" van de speler wegneemt en wanneer de gezondheid nul bereikt, gedrag zoals zoals pauzeren en beëindigen van het spel kan worden toegepast.

^Het uiterlijk van objecten kan worden bewerkt met de pixelart-editor van flowlab.io of door uw eigen afbeeldingen te uploaden naar de pixelart-editor van flowlab.

^In dezelfde editor kunnen animaties worden gemaakt voor gebruik door dat object, zoals de loopcyclus hierboven

Stap 2: Stap twee: maak vijanden | A: Bugs

Stap twee: maak vijanden | A: Bugs
Stap twee: maak vijanden | A: Bugs
Stap twee: maak vijanden | A: Bugs
Stap twee: maak vijanden | A: Bugs
Stap twee: maak vijanden | A: Bugs
Stap twee: maak vijanden | A: Bugs

Gebruik de sprite-editor om het ontwerp van je vijand te maken, in dit geval een bug. Voeg vanaf hier gedrag toe om de vijand te laten bewegen. Voor deze vijand hebben we een bundel met continu bewegingsgedrag gemaakt en gedragingen waarmee projectielen en botsingen boven het hoofd hem kunnen vernietigen.

^Bewerk het gedrag van het object nadat je het hebt gemaakt door op het object te klikken en op "gedrag" te klikken

^De animatie en het gedrag waarmee de speler op de bug kan schieten of erop kan springen om deze te vernietigen

^De animatie waardoor de bug heen en weer lijkt te lopen. In werkelijkheid is het geprogrammeerd om continu vooruit te gaan en draait het gewoon van richting op een timer. In het midden zie je “RayCast”. Deze programmering zorgt ervoor dat de bug zich omdraait als een onzichtbare straal die hij projecteert detecteert dat hij op het punt staat van een klif te lopen.

Stap 3: Stap twee: maak vijanden | B: Wormen

Stap twee: maak vijanden | B: Wormen
Stap twee: maak vijanden | B: Wormen

Gebruik de sprite-editor om het ontwerp van je vijandige worm te maken. Voeg vanaf hier de bundel met continu bewegingsgedrag toe die u zojuist voor de bug hebt gemaakt.

^Het verschil tussen deze vijand en de bug is dat we een vijandelijke gezondheidsbundel hebben gemaakt die een vast bedrag aftrekt van een waarde die we aan de worm (hier 3) toewijzen wanneer deze projectielen en een overhead-botsing raakt, waarbij de worm wordt verwijderd wanneer die waarde bereikt nul, waardoor de worm 3 gezondheid krijgt. De twee gedragingen linksonder creëren een immateriële "-1" die in een willekeurige hoek rond de worm wordt gegenereerd wanneer deze wordt geraakt: dit laat de speler weten dat ze schade aanrichten aan de worm.

Stap 4: Stap twee: maak vijanden | C: Virussen

Stap twee: maak vijanden | C: Virussen
Stap twee: maak vijanden | C: Virussen

Gebruik de sprite-editor om het ontwerp van je vijandige virus te maken. Voeg de vijandelijke gezondheidsbundel toe die je al hebt gemaakt waarmee het virus schade kan oplopen door projectielen en botsingen boven het hoofd, waardoor de hoeveelheid gezondheid die het heeft tot 4 wordt verhoogd om het gevaarlijker te maken. In plaats van de doorlopende bewegingsbundel opnieuw toe te voegen, hebben we een nieuwe bundel gemaakt voor een ander soort beweging.

^In deze bewegingsbundel hebben we gedragingen toegevoegd die ervoor zorgen dat het virus de speler achtervolgt wanneer deze gelijk is. We hebben dit gedaan met behulp van "Raycast", hetzelfde dat voorkomt dat vijanden van kliffen rennen in de continue bewegingsbundel. In dit geval, als de onzichtbare straal die door het virus wordt uitgezonden, de speler detecteert, zal het virus in die richting bewegen.

Stap 5: Stap twee: maak vijanden | D: Beveiligingssysteembazen

Stap twee: maak vijanden | D: Beveiligingssysteembazen
Stap twee: maak vijanden | D: Beveiligingssysteembazen
Stap twee: maak vijanden | D: Beveiligingssysteembazen
Stap twee: maak vijanden | D: Beveiligingssysteembazen
Stap twee: maak vijanden | D: Beveiligingssysteembazen
Stap twee: maak vijanden | D: Beveiligingssysteembazen

Gebruik de sprite-editor om het ontwerp van de baas van je beveiligingssysteem te maken. Voeg vanaf hier de vijandelijke gezondheidsbundel toe waarmee de baas schade kan oplopen van projectielen, waardoor hij 35 gezondheid krijgt omdat het een grote vijand is. Voeg in dezelfde bundel een vernietigingsgedrag toe waarmee de baas het sleutelobject van de achterdeur kan laten vallen wanneer het wordt vernietigd (zal later in detail treden op de sleutel). Voeg vervolgens het bewegingsgedrag toe op basis van een raycast zoals het virus, zodat de baas naar de speler toe beweegt. Nu willen we dat de baas meerdere keren verschijnt, maar elke keer in moeilijkheidsgraad toeneemt. In plaats van meerdere verschillende objecten te maken die allemaal op de baas lijken, maar met licht gewijzigd gedrag, zullen we elke keer hetzelfde baasobject gebruiken en gedragingen opnemen die de moeilijkheidsgraad van de baas vergroten en die pas later worden geactiveerd. Dit doen we met behulp van de functies 'bericht' en 'mailbox'.

^We willen dat bepaalde gedragingen op bepaalde niveaus worden geactiveerd, dus eerst maken we voor elk niveau een nieuw object buiten het scherm. Hierboven bevindt zich het object van niveau 3.

^Voeg gedrag toe zodat elke keer dat dat level begint, het object dat je zojuist hebt gemaakt een bericht stuurt naar de objecten waarin je niveauspecifiek gedrag wilt activeren, in dit geval de baas. Het level 3-object stuurt een bericht met het label "lvl 3". Het maakt niet uit wat het bericht zegt, alleen dat de mailbox op het ontvangende object ermee overeenkomt.

^Dit is onderdeel van de programmering van de baas. Wanneer de mailbox "lvl1" ontvangt van het Level 1-object, activeert het het gedrag dat ervoor zorgt dat de baas de speler aanvalt met stoten die korte, zwakke schokgolven afgeven terwijl het in level 1 is.

^Wanneer de mailbox "lvl2" ontvangt van het Level 2-object, activeert het het gedrag waardoor de baas projectielen begint te schieten terwijl het in level 2 is, wat het niet deed in level 1, terwijl het niveau 1-gedrag inactief blijft.

^Wanneer de mailbox "lvl 3" ontvangt van het Level 3-object, activeert het gedrag waardoor de baas grotere, meer schadelijke projectielen afvuurt terwijl deze zich in level 3 bevindt.

Omdat je elk niveau een nieuw object moet maken om dit te laten werken, lijkt het in eerste instantie misschien dezelfde hoeveelheid werk als het elke keer opnieuw maken van de baas, maar het is een stuk eenvoudiger om het object te programmeren om een ander bericht te verzenden dan het is om elke keer de basisprogrammering van de baas te kopiëren. Nog belangrijker is dat de niveauobjecten die u maakt berichten naar meerdere objecten kunnen sturen, zodat u ze kunt gebruiken om niveauspecifieke gedragingen te creëren voor elk gewenst object.

Stap 6: Stap drie: maak omgevingsfactoren | A: Pieken

Stap drie: maak omgevingsfactoren | A: Pieken
Stap drie: maak omgevingsfactoren | A: Pieken

Gebruik de sprite-editor om het ontwerp van je spike te maken. Schakel vanaf hier de verplaatsbare selectievakjes uit en schakel rotatievakken in het editormenu in.

^De spike zelf heeft geen gedrag. Het gedrag van de spike om de speler te beschadigen of te verwijderen, bevindt zich in de spelergezondheidsbundel.

Stap 7: Stap drie: maak omgevingsfactoren | B: Logische bommen

Stap drie: maak omgevingsfactoren | B: Logische bommen
Stap drie: maak omgevingsfactoren | B: Logische bommen
Stap drie: maak omgevingsfactoren | B: Logische bommen
Stap drie: maak omgevingsfactoren | B: Logische bommen

Gebruik de sprite-editor om het ontwerp voor je logische bom te maken. Voeg vanaf hier nabijheids- en projectielgedrag toe dat de bomexplosie activeert en schakel de verplaatsbare en rotatievakken in het editormenu uit.

^Als de speler binnen een bepaald bereik van de bom komt of er een projectiel op schiet, wordt er een animatie afgespeeld (die als een vertraging werkt voor de speler om weg te rennen), waarna de bom zijn eigen x- en y-coördinaten extraheert, zichzelf verwijdert en op die coördinaten (met enkele waarden die door ons zijn toegevoegd om de locaties iets te verschuiven) spawnen drie andere objecten die op explosies lijken en zichzelf vervolgens verwijderen.

^In de gezondheid van de speler is er de gebruikelijke schadeprogrammering, zodat de explosies de speler pijn doen, maar er zijn ook gedragingen die ervoor zorgen dat de speler "teruggeblazen" wordt door de explosies.

Stap 8: Stap drie: maak omgevingsfactoren | D: +2 Gezondheid

Stap drie: maak omgevingsfactoren | D: +2 Gezondheid
Stap drie: maak omgevingsfactoren | D: +2 Gezondheid

Gebruik de sprite-editor om het ontwerp van je +2 gezondheid te maken. Klik vanaf hier op de verplaatsbare en schakel rotatievakken in en voeg een vernietigingsgedrag toe dat het object uit het spel zal verwijderen zodra de speler ermee in botsing is gekomen.

^Het enige gedrag van het +2 gezondheidsobject is dat het zichzelf verwijdert nadat de speler het heeft aangeraakt (niet afgebeeld). Hetzelfde als objecten die de speler beschadigen, de gedragingen die ervoor zorgen dat het +2-object de gezondheid van de speler beïnvloedt, bevinden zich in de spelergezondheidsbundel. Echter, in plaats van dat een botsing met de objecten wordt afgetrokken van de gezondheidswaarde van de speler, voegt een botsing met het +2 object 2 gezondheid toe aan de speler.

Stap 9: Stap drie: maak omgevingsfactoren | E: Platformen

Stap drie: maak omgevingsfactoren | E: Platformen
Stap drie: maak omgevingsfactoren | E: Platformen

Vanwege de esthetiek waar we voor gingen, konden we niet de gebruikelijke route voor platforms volgen: een ontwerp met één blok maken dat je zo vaak als nodig kunt uitlijnen of stapelen om platforms van verschillende vormen en maten te maken.

^ We hebben daarom vier verschillende objecten gemaakt die platforms van verschillende lengtes (lang, medium, kort en kortst) waren, bestaande uit afbeeldingen van tekst die naar de pixeleditor waren geüpload.

Stap 10: Stap drie: maak omgevingsfactoren | F: Trapplatforms

Stap drie: maak omgevingsfactoren | F: Trapplatforms
Stap drie: maak omgevingsfactoren | F: Trapplatforms
Stap drie: maak omgevingsfactoren | F: Trapplatforms
Stap drie: maak omgevingsfactoren | F: Trapplatforms
Stap drie: maak omgevingsfactoren | F: Trapplatforms
Stap drie: maak omgevingsfactoren | F: Trapplatforms

We hebben twee soorten valplatforms gemaakt.

^De eerste is qua uiterlijk identiek aan het kortste platform en heeft een zeer eenvoudige programmering. Een bepaalde tijd nadat de speler het heeft aangeraakt, verwijdert het platform zichzelf en laat de speler vallen als ze er nog steeds op staan.

^De tweede wordt gebruikt om de arena voor het baasgevecht te creëren. Het ziet er identiek uit als het lange platform, maar wanneer de speler het aanraakt, worden zes objecten onder zes verschillende hoeken uitgezonden en blijven daar, waardoor een muur achter de speler ontstaat.

^De geactiveerde val

Stap 11: Stap drie: maak omgevingsfactoren | G: Firewalls

Stap drie: maak omgevingsfactoren | G: Firewalls
Stap drie: maak omgevingsfactoren | G: Firewalls

Gebruik de sprite-editor om het ontwerp van uw firewall te maken. Klik vanaf hier op de verplaatsbare en schakel rotatievakken in en voeg een inactieve animatie toe. Dit zijn de objecten die door het valplatform worden uitgezonden. Ze dienen om het personage van de speler in te sluiten in het baasgevecht van elk niveau. Ze hebben in principe hetzelfde doel als een traditioneel platform, namelijk dozen die overal kunnen worden geplaatst om de speler te blokkeren. In dit spel markeert het gebruik van deze speciale muur het einde van het niveau dat de speler moet proberen te bereiken.

^De muur gemaakt door de firewall-objecten.

Stap 12: Stap vier: doelen stellen | A: Niveaumeldingen

Stap vier: doelen stellen | A: Niveaumeldingen
Stap vier: doelen stellen | A: Niveaumeldingen
Stap vier: doelen stellen | A: Niveaumeldingen
Stap vier: doelen stellen | A: Niveaumeldingen

Meldingen zijn een goede manier om de speler wat informatie te geven over wat hij doet of om hem technische instructies te geven. Dit is waar de niveauspecifieke objecten die zijn gemaakt om berichten naar de baas te sturen, weer in het spel komen. Om meldingen te maken die specifiek zijn voor het niveau, laat het niveauspecifieke object een bericht sturen naar een object dat in dat niveau verschijnt (in dit geval de tekst waarvoor de speler spawnt).

^Wanneer dit object het bericht voor elk niveau ontvangt, wordt het gedrag voor die mailbox geactiveerd, waarbij verschillende meldingen worden weergegeven, afhankelijk van het niveau.

^De meldingen die in het eerste niveau verschijnen, geven informatie over de instelling ("COMMAND PROMPT OPEN" en "begin hack"), instructies over hoe te bewegen en vertellen de speler dat er meerdere niveaus zijn en dat ze zich op niveau 1 bevinden.

Stap 13: Stap vier: doelen stellen | B: Achterdeur

Stap vier: doelen stellen | B: Achterdeur
Stap vier: doelen stellen | B: Achterdeur

Maak een object en kopieer het uiterlijk van de firewall, maar we zullen het ander gedrag geven. Het wordt dan op het grondniveau van de firewall aan het einde van het niveau geplaatst. Dit is het object dat de speler naar het volgende niveau zal sturen.

^Voor het programmeren van de achterdeur is een schakelaar nodig. De schakelaar is ingesteld om in de uit-stand te starten. Dit voorkomt dat de speler doorgaat naar het volgende niveau door alleen maar langs de baas te rennen en de vermomde achterdeur aan te raken. Wanneer de deur het bericht ontvangt van de sleutel (hierna vermeld) om te ontgrendelen, wordt de schakelaar ingeschakeld en wordt een animatie afgespeeld die de achterdeur onthult. Wanneer de speler nu de deur aanraakt, wordt hij naar het volgende niveau gestuurd.

Stap 14: Stap vier: doelen stellen | C: Sleutel

Stap vier: doelen stellen | C: Sleutel
Stap vier: doelen stellen | C: Sleutel

Wanneer de baas van elk niveau is verslagen, verwijdert deze zichzelf en spawnt er een sleutel op zijn plaats.

^Als de speler de toets aanraakt, stuurt hij een bericht naar de achterdeur waardoor hij zijn gedrag uitvoert zodat de speler de toets kan aanraken om naar het volgende niveau te gaan.

Stap 15: Stap vier: doelen stellen | D: Overwinning

Stap vier: doelen stellen | D: Overwinning
Stap vier: doelen stellen | D: Overwinning

Er moet iets zijn dat de speler beloont voor het verslaan van het spel, of op zijn minst vertelt dat ze het hebben verslagen. Voor het voorbeeldspel is het spel gemaakt als een puzzel in een escape room, dus toen de speler alle drie de niveaus had verslagen, werd er een animatie afgespeeld die het antwoord op de puzzel onthulde.

^Er verschijnt een object met de tekst 'Beveiliging uitgeschakeld' met een animatie van laadpunten. Een timer laat de animatie na een bepaalde tijd stoppen, waardoor een andere animatie begint die zegt "Documenten laden" met laadpunten en tegelijkertijd een andere timer start. Wanneer die timer is afgelopen, stopt het de animatie, verwijdert het het object en spawnt een afbeelding met het laatste deel van de puzzel die de speler nodig heeft om de escape room op te lossen.

Natuurlijk kan het spel elke gewenste eindbeloning hebben.

Aanbevolen: