In een vorig artikel besprak ik wat er nodig is om een sterk niveau te maken in Portal 2 en wat je als een levelontwerper moet beschouwen. In dit artikel ga ik een meer praktische benadering volgen om je te helpen die begrippen te begrijpen door een niveau te bouwen, om je te laten zien welk proces ik doormaak en hoe ik de ideeën die ik eerder heb besproken, kunt toepassen.
In het laatste artikel heb ik veel tijd besteed aan het bespreken van de elementen van een Portal Test Chamber. Ik weet echter uit persoonlijke ervaring dat ik op portaalniveau werk, omdat het creëren van een niveau veel uitdagender kan zijn dan alleen het begrijpen van de ideeën en het toepassen ervan. Dus in dit artikel zal ik in meer detail uitleggen hoe je een niveau kunt ontwikkelen, met een concreet voorbeeld dat je van start tot finish kunt volgen om je te helpen begrijpen welke problemen je zult tegenkomen en hoe je ermee om moet gaan.
Wellicht herinnert u zich nog van het vorige artikel dat ik ook enige conceptuele kunst liet zien van het niveau-idee waaraan ik werkte voor dit artikel. Het zag er zo uit:
Ik heb meer aan dit concept gewerkt sinds het vorige artikel werd gepost en hoewel het potentieel heeft, vond ik het idee veel complexer dan ik oorspronkelijk had gedacht. Met dat in mijn achterhoofd dacht ik dat het het beste was om in dit artikel te focussen op een eenvoudiger idee .
Mijn doel hier is om duidelijke voorbeelden te geven van wat ik al in het vorige artikel heb besproken, en; Hoewel er goede voorbeelden zijn in het bovenstaande niveau, zou het buiten het bestek van dit artikel vallen om alle problemen te doorlopen waarmee ik te maken zou krijgen terwijl ik het zou ontwikkelen en zou je uiteindelijk de kans verliezen om het hele ontwikkelingsproces te zien.
Ik heb besloten om met een niveau te gaan waarbij de speler een kubus moet pakken en naar het einde van de puzzel moet brengen, zodat ze de uitgangsdeur kunnen openen. Ik besloot ook dat ik met tractorstralen ging werken omdat ze een van mijn favoriete puzzelspelers zijn. Vanaf dit beginpunt begon ik na te denken over wat voor soort puzzel ik kon maken met deze beperkingen.
Met tractorsporen moet de speler zich in een situatie bevinden waarin hij een item probeert te bereiken dat buiten bereik is, of probeert om ergens heen te gaan dat niet alleen met portals kan worden uitgevoerd. Ik besloot dat ik wilde dat de speler de trekstraal gebruikte om over het niveau te bewegen en het te gebruiken als middel om de kubus te bereiken. Deze informatie heeft me geholpen om de tractorstraal op de grond te zetten, omdat de speler erin moet gaan, en om veel water binnen het niveau te brengen om rondlopen moeilijk te maken voor de speler.
Vanaf hier besloot ik dat ik genoeg had om met eenvoudige concepten te beginnen. Ik gooide rond een paar verschillende ideeën, maar degene met wie ik ging was vrij eenvoudig: de kamer is verdeeld in vier secties door twee lijnen water die in het midden van de kamer kruisen, als volgt:
De speler komt de kamer binnen in sectie A en vertrekt in sectie D.
Om de ruimte te verlaten moet de speler een knop gebruiken, die zich naast de uitgang bevindt, en om die knop te gebruiken, zal hij een doos moeten gebruiken die start op platform B.
Er zal een muur zijn die voorkomt dat ze van B naar D komen en dwingt hen van B naar A naar C naar D te gaan. Om tussen de secties te komen, gebruikt de speler een trekstraal.
Op dit punt moest ik bepalen waar de trekstraal zou gaan. Ik wist dat de tractorstraal waarschijnlijk op A of B zou staan en besloot dat hij op B moest staan omdat ik wilde dat de speler de Tractorstraal gebruikt om de kubus te krijgen.
Als ik de trekstraal op A zet, moet ik het gezicht B maken, omdat ik wil dat de speler voor B naar B kijkt en als de tractiestraal naar B wijst, betekent dit dat de speler per ongeluk naar de kubus kan gaan als ze stappen in de balk voordat ze verwerken wat er aan de hand is. Ik vond deze optie niet leuk omdat het betekende dat ze de eerste stap per ongeluk konden voltooien, dus zette ik de trekstraal op B.
Aangezien de tractiestraal zich in B bevindt, moeten er ook portabele wanden rondom A zijn die de speler in staat stellen om de tractiestraal te gebruiken om van A naar B en B naar C te gaan.
Er moeten ook portable walls bij C zijn die de speler toestaan om de trekstraal te gebruiken om van C naar D te bewegen.
Terwijl ik over mijn puzzel keek, besefte ik dat het mogelijk was voor de speler om het C-platform te passeren zonder te stoppen en gewoon verder te gaan met het gebruik van de trekstraal om naar D over te steken als ze de portalen correct plaatsten. Om dit te voorkomen heb ik besloten dat er een fizzler op de lege rand van D moet staan en druk op de knop waardoor de fizzler op C wordt uitgeschakeld. Dit dwingt de speler om uit de tractiestraal te komen en te bepalen hoe hij de fizzler moet uitschakelen voordat hij verder gaat C tot D.
Ik heb ervoor gekozen om een knop te gebruiken die iets bevat om de fizzler uit te schakelen. Dit betekent dat de speler de kubus door de tractorspanning moet steken, terwijl ze de fizzler uitschakelen, zodat de kubus niet wordt vernietigd door de fizzler. Als de kubus zich aan de andere kant bevindt, kan de speler met de trekkergoot naar D gaan, de kubus oppakken en de deur openen.
Op dit moment wist ik dat, hoewel mijn puzzel niet bijzonder uitdagend was, deze zo compleet was dat ik deze in de editor kon opnemen en testen, dus dat is wat ik deed.
Hier is een afbeelding van hoe de kaart er in de editor uitzag:
Deze video laat me de puzzel doornemen en een paar van mijn gedachten erover vertellen:
Als je de video niet kunt bekijken, zou het niet moeten verbazen dat ik het niveau ongelooflijk eenvoudig vond. Het probleem is dat er geen echte uitdaging is om dit niveau te voltooien, aangezien elke stap duidelijk is en weinig voorzichtigheid vereist van de kant van de speler.
Dit is geen ongewoon probleem om al vroeg in het level-ontwerpproces voor een portaalkaart tegen te komen. Om het op te lossen, vermeld ik graag de acties die de speler moet ondernemen om mijn puzzel te voltooien en vind ik plaatsen waar ik de dingen moeilijker kan maken.
Dit zijn de huidige stappen die de speler moet nemen om de puzzel te voltooien:
Het probleem dat ik zag na het opsommen van de acties die de speler neemt was hoe gemakkelijk het is om de kubus te krijgen, en dan hoe gemakkelijk het is om de kubus van A naar C te krijgen. Die twee acties zijn erg belangrijk om de puzzel op te lossen en toch kunnen ze beide zijn teruggebracht tot één enkele actieactie. Vergelijk dit met hoe de speler van C naar D gaat met de kubus, wat de helft van de vermelde acties alleen is, en je kunt zien waarom dit zo'n eenvoudige puzzel is. Het is duidelijk dat hier de puzzel complexer moet zijn.
Het krijgen van de kubus zou de eerste uitdaging voor de speler moeten zijn. Om dit deel van de puzzel effectiever te maken, moest ik een manier vinden waarop de speler de trekstraal kon gebruiken om de kubus te krijgen. Dit zou de trekstraal eerder als een ingewikkeld puzzelelement introduceren, en het maken van de kubus interessanter maken.
De gemakkelijkste manier om de trekstraal in dit stadium van de puzzel te introduceren, was om de kubusdispenser in het midden van de kaart te plaatsen. Hierdoor was het zo dat de kubus zal blijven spawnen en in het water vallen totdat de speler iets doet om het te voorkomen. Dit dwingt de speler om de kubus met de trekstraal te vangen en te verplaatsen voordat ze de kubus kunnen oppakken en zorgt er effectief voor dat de kubus een actieve deelname van de speler vereist..
(Vanaf dit moment begin ik ideeën rechtstreeks in de editor te implementeren zonder ze eerst te schetsen.) Ik probeer op papier of in Photoshop te beginnen, zodat ik de belangrijkste aspecten van de puzzel kan bedenken, zoals de doelen van de speler en een algemeen idee hoe ik ze kan uitvoeren. Maar zodra ik naar de editor ga, is het iteratieve proces zo snel dat het niet de moeite waard is om heen en weer te gaan tenzij ik een enorme verandering maak, zoals het toevoegen van een nieuwe kamer of het opnieuw ontwerpen van een groot gedeelte .)
Na het verplaatsen van de dispenser, realiseerde ik me ook dat om de kubus te vangen de speler nog enkele meer te openen muren nodig heeft, dus ik heb ze op deze locaties toegevoegd.
Deze video toont me hoe ik de puzzel heb opgelost na de nieuwste veranderingen:
Wat ik net heb gedaan, heeft de test iets moeilijker gemaakt omdat de speler moet bepalen hoe de kubus kan worden teruggehaald en het heeft meer stappen toegevoegd aan de puzzel als geheel, maar het heeft geen grote invloed gehad op de algemene moeilijkheid omdat een groter deel van de puzzel - de kubus van A naar C krijgen - nog steeds erg eenvoudig is.
Op dit punt moet ik een manier vinden om een element toe te voegen aan de puzzel die de speler echt zal moeten overwegen voordat hij actie kan ondernemen. Over het algemeen, als ik op een punt als dit kom, waar ik heel weinig ideeën heb over hoe ik mijn puzzel kan compliceren, maar geen belangrijke nieuwe elementen wil toevoegen, vind ik een goede methode om de puzzel onmogelijk te maken en dan een interessante te vinden manier voor de speler om de puzzel op te lossen.
Wat ik bedoel is, ik ga een element toevoegen aan de puzzel die in zijn huidige staat het onmogelijk zal maken om te voltooien en ik ga dan een manier vinden om de impact van dat element op de puzzel te veranderen, wat een nieuwe uitdaging voor de speler en maakt de puzzel mogelijk opnieuw af te maken. In dit scenario voeg ik een fizzler toe, zoals weergegeven in de onderstaande afbeelding, zodat het onmogelijk is voor de speler om de doos daadwerkelijk van A naar C te verplaatsen zonder deze te vernietigen.
Zoals je kunt zien is mijn puzzel nu onmogelijk - vooral omdat de fizzler ook voorkomt dat de speler de kubus in de eerste plaats krijgt.
Om dit te veranderen, ga ik een zuil in de hoek van het C-platform plaatsen die een einde zal maken aan het gebied dat de fizzler beïnvloedt en speler toegang geeft tot de witte muur die ze gebruiken om de kubus opnieuw te vangen.
Zoals je kunt zien heb ik de pilaar ook twee ruimtes lang gemaakt in plaats van slechts één. Ik deed dit omdat ik na het testen van mijn kaart ontdekte dat het mogelijk is voor de speler om naar de rand van de B-sectie te gaan die tegenover de D-sectie staat en een portal in de C-sectie te plaatsen als ze snel genoeg zijn. Door de pijler twee vierkanten breed te maken, wordt deze oplossing voorkomen.
Om een nieuwe oplossing voor de puzzel te vinden bracht ik wat tijd door in de editor en op het niveau om erachter te komen wat ik misschien als speler zou doen. Ik heb vastgesteld dat als ik witte portable muren aan B zou toevoegen, het de speler zou toestaan om een portal te plaatsen bij B vanaf C wanneer je op de rand van C staat die D aankijkt. Dit zou effectief een manier creëren voor de speler om de fizzler en pak hun kubus terug zodat ze de puzzel kunnen voltooien.
Ik heb dit idee geïmplementeerd en ben toen teruggegaan naar het niveau om de oplossing te proberen gebruiken:
Ik vind deze oplossing echt heel leuk omdat het eenvoudig maar niet overdreven is, en omdat het de verwachtingen van de speler ondermijnt door minder op de trekstraal te vertrouwen dan de vorige delen van de puzzel.
Na wat testen ontdekte ik ook dat veel van mijn vrienden deze laatste stap voldoende uitdagend vonden. Als ik een grotere puzzel aan het bouwen was, zou ik waarschijnlijk doorgaan met ontwikkelen en een ander gebruik voor de trekstraal vinden, of een plaats om een nieuw puzzelelement te integreren, maar aangezien dit een relatief snelle puzzel zou moeten zijn, denk ik dat dit een goede zaak is. oplossing om door te gaan.
Hoewel de puzzel eruit ziet alsof hij compleet is, is het dat in feite niet. Op dit moment moeten we nog wat testen en kijken waar de puzzel kan worden uitgebuit. Om de heldendaden te vinden, moet je je niveau zo veel mogelijk spelen op zoveel mogelijk manieren en veel anderen laten spelen. Tijdens mijn testen en om mijn vrienden het niveau te laten testen, vond ik twee oplossingen die ik niet leuk vond en een gebied dat ik wilde veranderen..
Dit is een videodemonstratie van hoe de speler het niveau in de huidige staat kon exploiteren en de twee oplossingen die mijn vrienden bedachten die volgens mij te veel in tegenspraak waren met de bedoelde oplossing:
De eerste exploit was dat ze de trekstraal in de kolom met witte wanden direct naast de open rand van platform C konden plaatsen en vervolgens eenvoudig van de tractiestraal op platform C konden springen. Dit vermeed mijn beoogde oplossing voor de puzzel en vereiste timing en nauwkeurigheid om te bereiken, geen gedachte of begrip van de omgeving. Ik heb deze oplossing geëlimineerd door die kolom witte spaties op de muur zwart te maken, zodat de speler daar geen portal kon hebben:
De tweede oplossing was dat een speler portreerde naar de bovenhoek van het witte gebied tussen C en D en vervolgens naar C sprong en opnieuw de oplossing die ik had bedoeld op een vergelijkbare manier vermeed. Ik rekenschap gegeven dit door het niveau uit te rekken, duwend alles vanaf de witte muur één ruimte verder van het platform van C. Dit maakt de kloof te ver om te springen en elimineert de exploit.
Als ik met meer mensen zou blijven testen, zou ik waarschijnlijk een aantal andere oplossingen vinden die ik niet leuk vond, maar je moet tijdens deze stap voorzichtig zijn dat je alleen oplossingen elimineert die indruisen tegen de bedoeling van de puzzel en niet elke oplossing elimineren die is niet van jou. Onthoud dat je wilt dat de speler de beperkingen heeft om de oplossing te vinden die je van plan was, maar de vrijheid om het op zijn eigen manier te doen.
Het andere ding dat ik vond was dat als de speler zonder de doos in D kwam, ze niet in staat zouden zijn om terug te keren naar C vanwege de positionering van de fizzler op de rand van D. Om dit aan te passen heb ik een extra rij staand gebied toegevoegd voor de fizzler op D, zodat de speler zijn weg terug naar de belangrijke delen van de puzzel kan vinden en niet vastloopt.
Ik moest er ook op letten dat de witte wanden aan de CD-zijde waardoor de speler terug kon naar de andere delen van het level, de speler niet in staat zouden stellen de kubus op het D-platform te laten vallen zonder de tractor te gebruiken straal, maar vond niets anders dan dat ze per ongeluk de kubus konden vernietigen. Ik dacht dat dit prima zou zijn om te vertrekken omdat het de speler zou leiden in de richting die ik wilde.
Ik heb nog meer getest en kon geen andere belangrijke problemen vinden, dus op dit punt besloot ik de puzzel als voltooid te beschouwen. Zoals ik al zei, ik weet zeker dat als ik wilde dat ik nog meer zou kunnen testen en de puzzel nog dieper zou kunnen verkennen, maar je moet weten wanneer je moet stoppen en op zijn minst een tijdje weg moet blijven van de puzzel. Ik kan het op een later tijdstip opnieuw bezoeken als ik feedback krijg waarin staat dat het verbeterd kan worden, maar nu besloot ik verder te gaan.
Ik hoop dat dit artikel je heeft geholpen het proces van het ontwikkelen van een niveau van begin tot einde te begrijpen. Terwijl sommige dingen die je doet zorgvuldig worden gepland en uitgedacht, komen anderen naar boven zonder dat je het je realiseert terwijl je op iets anders gefocust was. Echt, je moet gewoon meegaan met de stroom en nadenken over hoe jouw acties en nieuwe oplossingen van invloed zullen zijn op wat de speler wel en niet kan doen. Het is ook belangrijk om te weten wat je wilt dat de speler doet, zodat elke verandering kan worden overwogen in hoe dit invloed heeft op het vermogen van de speler of het onvermogen om de doelen te bereiken die je wilt.
Neem ook een les uit dit artikel en hoe ik probeerde te beginnen met iets dat veel ingewikkelder was dan het moest zijn. Een idee hoeft niet enorm en ambitieus te beginnen om goed te worden, je hoeft alleen maar de tijd en energie in te zetten om alle elementen te laten werken.