[VR-Game] De Razer Hydra

Door Strykeforce op woensdag 14 mei 2014 21:55 - Reacties (5)
Categorie: Virtual Reality, Views: 2.848

In de vorige blog (link) heb ik geschreven dat ik zoveel mogelijk mijn voortgang met de Unreal Engine 4 (UE4) zou proberen bij te houden. We zijn alweer een aantal dagen verder, uiteindelijk lijkt het niet alsof er veel gedaan is maar ik probeer de updates zo klein mogelijk te houden om "walls of text" te vermijden. Deze blog post staat dan ook in het teken van de eerste stappen die ik heb genomen met de Razer Hydra controller in combinatie met UE4.

Om eerst even te beginnen met de controller, de Razer Hydra. Wanneer de controller werkt dan is het best wel een cool ding, hij reageert 1 op 1 met je bewegingen zonder enige merkbare vertraging. Echter werkt hij niet altijd naar behoren, ik heb namelijk vaak opstart problemen met de controller. 1 van de hydra's geeft bijvoorbeeld ineens aan dat deze naar een willekeurige kant wijst terwijl dat niet zo is. Het apparaat lijkt daarom een beetje last te hebben van kinderziektes, het magnetische veld dat het basis station uitzendt heeft nog wel eens last van tijdelijke storingen. Wanneer ik echter een lange tijd met de controller bezig ben lijken de problemen zich minder voor te doen en kan ik over het algemeen er goed mee werken.

De Unreal Engine 4 werkt echter als een trein en het is heerlijk om er mee te werken! Voordat ik echt ben begonnen heb ik wat video's bekeken over het Blueprint systeem op het YouTube kanaal van UE4. Het doel voor nu was om een werkend pistool in de engine te hebben dat ook echt iets kan afvuren. Het pistool moet vrij kunnen bewegen in de wereld via de Hydra controller(s) zodat ik dit later kan gebruiken in een potentiŽle game in Virtual Reality.

Gelukkig heeft een community member een plugin gemaakt voor de Razer Hydra, de plugin is nog niet helemaal af en is daarom nog in ontwikkeling. Er zitten namelijk nog wat foutjes in die het niet altijd even makkelijk maken. De rotatie van een controller staat nog niet 1 op 1 met de rotatie in de engine, de verschillende rotatie assen zijn door elkaar gehaald en dus was het even stoeien om het goed te krijgen. De plugin maakt het overigens alleen mogelijk om de hydra controller uit te lezen, de rest moet je zelf doen.

Verder ben ik ook positief verrast wat je allemaal wel niet kan doen met Blueprints. Het systeem is voor een programmeur gelukkig heel makkelijk om aan te wennen, veel methodieken en denkwijzen zijn ook van toepassingen op blueprints waardoor ik er snel mee bekend ben geworden en er dan nu ook goed mee overweg kan. Er is nog wel een hoop te leren!


Blueprint om het pistool te bewegen, links nog een rotzooitje en rechts de opgeruimde versie en de verder ingezoomde versie

Blueprint stelt me in staat om bijvoorbeeld op het speler-object een interface toe te voegen die het huidige wapen teruggeeft. Zodoende kan ik van buiten af het wapen opvragen om het vervolgens met de Hydra een rotatie en positie te geven. Ook kan er binnen een blueprint functions aangemaakt worden. Binnen een function kan je een herbruikbaar stuk blueprint zetten, net zoals je in programmeertalen methods hebt. Ook zijn er comments toe te voegen aan blokken binnen in blueprints om het nog overzichtelijker te maken. Veel overeenkomsten uiteindelijk met "normaal" programmeren dus, dat het allemaal visueel is zorgt voor een leuke afwisseling.


Een interface en een function

Het is me dan ook binnen een korte tijd gelukt om een werkend en beweegbaar pistool te maken in de engine zonder een regel code zoals hier onder te zien is (na 4 seconden reset ik de controller zodat deze gecalibreerd staat op het midden van het scherm). Ook nog even voor de duidelijkheid: er is geen geluid.


Ik zal me de komende tijd richten op een non-VR control-scheme voor het pistool, nog steeds wel met de hydra en misschien de optie voor muis en toetsenbord. Een vast doel heb ik niet, ik zal voor nu kijken hoe ver ik kan komen met een soort van "on-rails" shooter idee dat ik heb voor VR. Hier zullen genoeg elementen in zitten waardoor ik alvast goed bekend kan raken met de Unreal Engine 4. Aangezien dat het echte doel is voor nu.

Tot de volgende blog!, feedback en reacties zijn zeer welkom!

[VR-Game] De aanloop

Door Strykeforce op zaterdag 10 mei 2014 16:33 - Reacties (10)
Categorie: Virtual Reality, Views: 4.156

Met hopelijk nog maar een paar maanden te gaan totdat ik de Oculus rift in handen heb ben ik bezig om mezelf weer te verdiepen in game development. Het is alweer een paar jaar geleden dat ik nog actief bezig was om 2D spelletjes te maken. Ik heb ook ervaring met 3D games maar nog niet zo heel veel. Toen ik nog op de opleiding software engineering zat heb ik als minor "Game Design & Technology" gevolgd. Unity was de engine keus van de opleiding, hiermee heb ik daardoor de eerste stappen gemaakt met 3D game development.

Unity heeft echter niet zo'n geweldige reputatie bij mij, grafisch gezien vind ik de engine tegenvallen. Het kostte me erg veel tijd om levels er een beetje goed uit te laten zien. Ook qua gebruiksvriendelijkheid is er nog veel te verbeteren. Het stoort me ook nogal om te zien dat de asset store van Unity vol staat met betaalde plugins die naar mijn mening verwerkt mogen worden in de engine zelf als standaard plugin. Tel daar nog de kosten van de engine zelf bij op: 75 dollar per maand(!) en je hebt de duurste, minst complete en minst geavanceerde engine op abonnement basis.

Twee "alternatieven" zijn de Unreal Engine 4 (UE4) en de CryEngine 3 (CE3). Beide engines zijn op grafisch gebied superieur aan Unity waarbij CE3 de mooiste plaatjes weer kan geven (mening zijn hierover verdeeld). UE4 doet echter veel op het gebied van gebruiksvriendelijkheid, de enige code die je nog schrijft is in C++. Daarnaast scripting is volledig in de ban gedaan, je spendeert daardoor minder tijd aan het staren naar source code en meer aan het maken en tweaken van games. Het zogenaamde "BluePrint" systeem heeft scripting vervangen, het is zelfs mogelijk om een gehele game te maken zonder een regel C++ te schrijven!


Voorbeeld van een blueprint om een raket te lanceren

Afgelopen week heb ik dan ook de UE4 engine aangeschaft na getwijfeld te hebben of ik misschien toch CE3 zou aanschaffen. Crytek (de ontwikkelaar van de Cryengine) heeft echter nog geen bevestiging gegeven of het de Oculus SDK zal gaan verwerken in de engine. Daarnaast heeft UE4 ook veel voorbeelden, videos en handleidingen waarmee je snel aan de slag kan. Bij CE3 is dit nog deels een "work in progress". Als je alles bij elkaar op telt is naar mijn mening UE4 de enige juiste keus.

Ook heb ik zojuist mijn Razer Hydra in ontvangst genomen. Aangezien een muis en toetsenbord in combinatie met een VR headset waarschijnlijk niet zo'n geweldige ervaring creŽert. Ik zal ook meteen gaan experimenteren met motion controls, maar eerst dit speeltje goed "uitproberen" met een aantal games ;).


De hydra controller

ik ga proberen om mijn voortgang met UE4 zoveel mogelijk te documenteren op deze blog, ik kan helaas nog niks beloven aangezien het voor nu nog een hoop gerommel zal zijn. Ik wil namelijk alvast bekend raken met de engine en de Hydra controller voordat ik mijn Oculus Rift binnen krijg zodat ik tijdens het uitwerken van ideeŽn meer bezig ben met VR in de engine.


Tot de volgende keer!