Ontwerpen van Mixed Reality-apps die zich aanpassen aan dynamische ruimtes

Ontwerpen van Mixed Reality-apps die zich aanpassen aan dynamische ruimtes

Laserdans is een aankomend mixed reality-spel dat de passthrough-mogelijkheden van Quest als meer dan alleen als achtergrond wil gebruiken. In dit gastartikel legt ontwikkelaar Thomas Van Bouwel zijn aanpak uit bij het ontwerpen van een MR-game die dynamisch reageert op verschillende omgevingen.

Mixed Reality-apps ontwerpen die zich aanpassen aan dynamische ruimtes PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Gastartikel door Thomas van Bouwel

Thomas is een Belgisch-Braziliaanse VR-ontwikkelaar die momenteel in Brussel gevestigd is. Hoewel zijn oorspronkelijke achtergrond in de architectuur ligt, strekt zijn werk in VR zich uit van indiegames zoals Kubisme tot bedrijfssoftware voor architecten en ingenieurs zoals Oplossen. Zijn nieuwste project, Laserdans, komt eind volgend jaar naar Quest 3.

Het afgelopen jaar heb ik gewerkt aan een nieuw spel genaamd Laserdans. Vanaf de basis opgebouwd voor Mixed Reality (MR) is het mijn doel om een ​​game te maken die van elke kamer in je huis een laserhindernisbaan maakt. Spelers lopen heen en weer tussen twee knoppen, en bij elke druk op de knop ontstaat een nieuw parametrisch laserpatroon waar ze doorheen moeten navigeren. De game is nog volop in ontwikkeling, met als doel een release in 2024.

Als je je wilt aanmelden voor het testen van Laser Dance, je kunt dit hier doen!

[Ingesloten inhoud]

De teaser-trailer van Laser Dance, die voor het eerst werd vertoond vlak na Meta Connect 2023

De grootste uitdaging bij een game als deze, en mogelijk bij elke MR-game op kamerschaal, is om niveaus te maken die zich goed aanpassen aan elke kamer, ongeacht de grootte en indeling. Bovendien sinds Laserdans een spel is dat veel fysieke beweging vereist, moet het spel ook proberen tegemoet te komen aan de verschillen in het mobiliteitsniveau van mensen.

Om deze uitdagingen te overwinnen, is het essentieel om over goede emulatietools voor ruimtes te beschikken die een snelle ontwerpiteratie mogelijk maken. In dit artikel wil ik bespreken hoe niveaus in Laserdans werk, en deel enkele van de ontwikkelaarstools die ik aan het bouwen ben om me te helpen de adaptieve laserpatronen van de game te maken en te testen.

Definitie van laserpatroon

Om te begrijpen hoe Laserdansen kameremulatietools werken, moeten we eerst bespreken hoe laserpatronen in het spel werken.

Mixed Reality-apps ontwerpen die zich aanpassen aan dynamische ruimtes PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Een niveau in Laser Dance bestaat uit een reeks laserpatronen – spelers lopen (of kruipen) heen en weer tussen twee knoppen aan weerszijden van de kamer, en elke druk op de knop activeert het volgende patroon. Deze laserpatronen proberen zich aan te passen aan de grootte en indeling van de kamer.

Sinds de laserpatronen in Laserdansen niveaus moeten zich aanpassen aan verschillende soorten ruimtes, de specifieke posities van lasers zijn niet vooraf bepaald, maar parametrisch berekend op basis van de kamer.

Er worden verschillende methoden gebruikt om de lasers te positioneren. De meest eenvoudige is om een ​​uniform patroon over de hele kamer aan te brengen. Hieronder ziet u een voorbeeld van een niveau dat een uniform raster van zwaaiende lasers door de kamer aanbrengt.

Een voorbeeld van een patroongebaseerd niveau: een uniform bewegingspatroon wordt toegepast op een raster van lasers dat de hele kamer bedekt.

Andere niveaus kunnen de knoporiëntatie ten opzichte van elkaar gebruiken om het laserpatroon te bepalen. Het onderstaande voorbeeld toont een patroon dat een reeks knipperende laserwanden tussen de knoppen creëert.

Knipperende laserwanden staan ​​loodrecht op de denkbeeldige lijn tussen de twee knoppen.

Een van de meer veelzijdige tools voor het genereren van niveaus is een aangepast padzoekalgoritme, waarvoor is geschreven Laserdans by Mark Schram, gastontwikkelaar bij het project. Dit algoritme probeert paden tussen de knoppen te vinden die de afstand tot meubels en muren maximaliseren, waardoor een veiliger pad voor spelers ontstaat.

De paden die door dit algoritme worden gecreëerd, maken verschillende laserpatronen mogelijk, zoals een tunnel met lasers, of het plaatsen van een laserobstakel in het midden van het pad van de speler tussen de knoppen.

Dit niveau maakt gebruik van padvinding om een ​​tunnel van lasers te spawnen die rond het meubilair in deze kamer slingert.

Kameremulatie

De verschillende hierboven beschreven technieken voor het creëren van adaptieve laserpatronen kunnen soms leiden tot onverwachte resultaten of bugs in specifieke kamerindelingen. Bovendien kan het een uitdaging zijn om niveaus te ontwerpen terwijl je verschillende soorten kamers in gedachten houdt.

Om hierbij te helpen, heb ik een groot deel van de vroege ontwikkeling besteed Laserdans over het bouwen van een set kameremulatietools waarmee ik kan simuleren en direct kan vergelijken hoe een niveau eruit zal zien tussen verschillende kamerindelingen.

Kamers worden in het spel opgeslagen als een eenvoudig tekstbestand met alle muur- en meubelposities en afmetingen. De emulatietool kan deze bestanden gebruiken en meerdere kamers naast elkaar spawnen, rechtstreeks in de Unity-editor.

U kunt vervolgens verschillende niveaus of zelfs individuele laserpatronen verwisselen en deze in verschillende kamers naast elkaar emuleren om ze direct te vergelijken.

Een aangepaste tool gebouwd in Unity brengt verschillende kamers naast elkaar voort in een orthografische weergave, en laat zien hoe een bepaald niveau in Laser Dance eruit zou zien in verschillende kamerindelingen.

Toegankelijkheid en spelersemulatie

Net zoals de kamers waarin mensen spelen kunnen verschillen, zullen de mensen die zelf spelen ook heel verschillend zijn. Niet iedereen kan misschien over de vloer kruipen om lasers te ontwijken, of voelt zich in staat zich door een smalle gang met lasers te wurmen.

Vanwege de fysieke aard van Laserdansen gameplay, er zal altijd een grens zijn aan de toegankelijkheid ervan. Voor zover mogelijk zou ik echter nog steeds willen proberen de niveaus op dezelfde manier aan te passen aan spelers als aan kamers.

Momenteel kunnen spelers met Laser Dance hun lengte, schouderbreedte en de minimale hoogte instellen waar ze onder kunnen kruipen. Niveaus zullen proberen deze waarden te gebruiken om bepaalde parameters van de manier waarop ze worden voortgebracht aan te passen. Hieronder ziet u een voorbeeld, waarbij een niveau doorgaans van spelers verwacht dat ze onder een veld met lasers kruipen. Bij het aanpassen van de minimale kruiphoogte past dit patroon zich aan die nieuwe waarde aan, waardoor het niveau vergevingsgezinder wordt.

Dankzij de toegankelijkheidsinstellingen kunnen spelers een aantal niveaus van Laser Dance afstemmen op hun lichaamstype en mobiliteitsbeperkingen. Dit voorbeeld laat zien hoe een niveau waarbij spelers over de vloer kruipen, zichzelf kan aanpassen voor mensen met een beperktere verticale mobiliteit.

Deze spelerwaarden kunnen ook worden geëmuleerd in de aangepaste tools die ik aan het bouwen ben. Verschillende spelervoorinstellingen kunnen worden uitgewisseld om direct te vergelijken hoe een niveau er tussen twee spelers anders uit kan zien.

Met de emulatietools van Laser Dance kunt u verschillende vooraf ingestelde spelerwaarden uitwisselen om hun effect op de laserpatronen te testen. In dit voorbeeld kun je zien hoe het wisselen naar een meer toegankelijke vooraf ingestelde spelerwaarde de tunnel van lasers breder maakt.

Gegevens, testen en privacy

Een belangrijk probleem bij het ontwerpen van een adaptief spel als Laser Dance is dat onverwachte kamerindelingen en omgevingen sommige niveaus kunnen doorbreken.

Om je hier tijdens de ontwikkeling op voor te bereiden, is er een knop in de instellingen waarop spelers kunnen drukken om hun kamergegevens met mij te delen. Met behulp van deze emulatietools kan ik vervolgens proberen het probleem te reproduceren in een poging het op te lossen.

Mixed Reality-apps ontwerpen die zich aanpassen aan dynamische ruimtes PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Playtesters kunnen in de instellingen op een knop drukken om hun kamerindeling te delen. Dit maakt lokale reproductie mogelijk van mogelijke problemen die ze mogelijk hebben gezien, met behulp van de hierboven genoemde emulatietools.

Dit zou natuurlijk enige privacyproblemen moeten oproepen, aangezien spelers in wezen delen van hun thuisindeling met mij delen. Vanuit het oogpunt van ontwikkelaars heeft het een duidelijk voordeel voor het ontwerp- en kwaliteitscontroleproces, maar als consumenten van MR moeten we ons ook actief zorgen maken over waartoe persoonlijke gegevensontwikkelaars toegang moeten hebben en hoe deze worden gebruikt.

Persoonlijk vind ik het belangrijk dat het delen van dit soort gevoelige gegevens actieve toestemming van de speler vereist elke keer dat deze wordt gedeeld – vandaar de knop die actief moet worden ingedrukt in de instellingen. Duidelijke communicatie over waarom deze gegevens nodig zijn en hoe deze zullen worden gebruikt, is ook belangrijk, wat een groot deel van mijn motivatie is voor het schrijven van dit artikel.

Als het om MR-platforms gaat, is een actieve discussie over gegevensprivacy ook belangrijk. We kunnen er niet altijd van uitgaan dat gevoelige ruimtegegevens door alle ontwikkelaars te goeder trouw zullen worden gebruikt, dus als spelers moeten we duidelijke communicatie en duidelijke beperkingen van platforms verwachten over hoe apps toegang kunnen krijgen tot dit soort gevoelige gegevens en deze kunnen gebruiken, en waakzaam moeten blijven over hoe en waarom bepaalde apps toegang tot deze gegevens kunnen vragen.

Moet u aangepaste tools bouwen?

Is het bouwen van een handvol aangepaste tools een vereiste voor het ontwikkelen van adaptieve Mixed Reality? Gelukkig is het antwoord daarop: waarschijnlijk niet.

We zien het al meta en Apple komen met hun eigen mixed reality-emulatietools, waarmee ontwikkelaars hun apps kunnen testen in een gesimuleerde virtuele omgeving, zelfs zonder headset. Deze tools zullen in de loop van de tijd waarschijnlijk alleen maar beter en robuuster worden.

In sommige gevallen is het nog steeds de moeite waard om op maat gemaakte tools te bouwen, omdat deze u de meeste flexibiliteit bieden om te testen op basis van uw specifieke vereisten. In staat zijn om meerdere kamers of spelersprofielen tegelijkertijd te emuleren en te vergelijken Laserdans is daar een goed voorbeeld van.

- - - - -

Ontwikkeling Laserdans is nog steeds in volle gang. Ik hoop dat ik uiteindelijk een leuk spel krijg dat ook kan dienen als introductie tot mixed reality voor nieuwkomers op het medium. Hoewel het enige tijd kostte om deze emulatietools uit te bouwen, zullen ze hopelijk het levelontwerpproces mogelijk maken en versnellen om dit doel te helpen bereiken.

Als je wilt helpen met de ontwikkeling van het spel, denk er dan over na aanmelden voor speltesten!


Als je deze inzichten interessant vond, bekijk dan ook de andere gastartikelen van Van Bouwel:

Tijdstempel:

Meer van Weg naar VR