Posts Tagged ‘Razer Hydra’

Hey Rifters!

What a week!

Its strange to know that I have only had my Rift dev kit for 7 days, with everything that has happened. One first impressions vid turned into two, which turned into a ridiculous number of videos, views, and comments. Oh, and an article on PCGamer.com:

http://www.pcgamer.com/2013/04/15/mirrors-edge/

O_O
A huge THANK YOU to all the folks who have watched my videos, subscribed, left feedback and encouraging words. Words fail to express how moved I am!

So, a different type of blog entry this time around. I wanted to discuss some impressions and observations after week 1 of Rifting. Discussed in this video are:

Getting Acclimated

-Looking around before beginning the game experience really helps. Force the player to do this, but nest it inside of the game narrative… kind of like Halo?
-Recommended game order: Tiny Room > Tuscany > Microstar > Dear Esther > Mirror’s Edge > TF2 > Skyrim
-Stay hydrated! Water, Ginger Ale, and frequent breaks are good.

Visible Area

-Not looking at a lot of the screen at all!
-FOV : 108 – 112 feels great, depending on the game and what lens cups you are using.
-“Rift Peripheral Vision”, when you are able to see a little more looking straight than to the side. Gameplay application for this?

My best estimate of the RPV (Rift Peripheral Vision) of all three lens cups, A, B, and C:  http://i.imgur.com/iUiwRl7.jpg

Control

-Giving the player options are key
-Controller hierarchy: Hydra > Controller > Mouse & Keyboard
-Learned behavior: using the mouse/analog stick to accelerate turns. Analogous to spinning around the body?

The Game Narrative

– Camera “head bob” is not such a bad thing! In fact, I prefer it. Glide motion still makes me dizzy, even after a week of play.
– Cutscenes are probably best Half Life 2 style – let the player keep control. However, slow and steady camera movements work well. Avoid fast motion and radical rotation.
– Transitions are best when there is a fade to black or fade to white effect. Clean cuts are not as jarring as I expected them to be, but fade outs are better.
-Sound cannot be overstated. Make the environment immersive with high quality, realistic stereo sound.
-Horror implications? Rift peripheral + sound exploitation = NOPE. XD

So that pretty much covers it. This next week will be more on my own development progress with my game project. Also, I plan on a regular bi-weekly video release schedule for gameplay stuff on my YouTube Channel.

Honeymoon’s over, time to do the REALLY fun stuff – creating a world of my own!

Until the Next VR Experiment,

–Cymatic Bruce

Hey VR Heads!

Special Update! So my Rift arrived on Monday, and I have hardly slept since I got it. I have tried a whole lot of random software, including:

-Oculus Tiny Room
-Oculus Tuscany Demo
-Rust Ltd’s Museum of the Microstar
-UDK Maps
-TF2
-VR Player
-VBJin-OVR
-Mirror’s Edge with Virieo
-Various YouTube videos and webpages
-A SBS 3D movie in media player

And finally, my own creation!! Walking down hallways and looking around a room that I put together was surreal. Is this how architects feel?

In other news, my videos on YouTube of my first impressions have become quite popular! The immense amount of support from this community has floored me. This spirit of support and cooperation will definitely take us to the next level in VR experiences!

Back to editing video, replying to comments, and logging more hours in the Rift!

Excelsior,

–Bruce

Hey VR Heads!

So, this past week has been lots of random tutorials and reading the documentation in the newly opened Oculus Developer Center. Not a whole lot new to show off, but I definitely feel like I am making progress!

I got crouch working with the Hydra. Yet again, UDK is simpler that what I make it out to be. No need for Pawn.ShouldCrouch(bool bCrouch) or StartCrouch(float HeightOffset). Just use bDuck. Here’s the code from my HydraGamePlayerController.uc:

function LeftTriggerPress()
{	
if(bDuck==0) bDuck = 1;
}

function LeftTriggerRelease()
{	
if(bDuck==1) bDuck=0;
}

Also, I have been slowly but steadily learning more about the UDK editor. Kismet and Matinee are not terribly intuitive, but I am getting the hang of it.

Finally, after several recommendations, I ended up watching the anime series Sword Art Online on CrunchyRoll. It is a really cool show about gamers stuck in a VRMMO. The battle scenes and story were pretty fantastic.
I was impressed with how they presented the player UI in the show. It has a really clean design, and is gesture based. You can see an example here (skip ahead to 8:45):

Also in this vid (skip ahead to 5:52 and 18:45):

I began investigating how I would do such a thing in UDK. As it turns out, Scaleform has 3D UI functionality in UDK! Awesome! I have no idea how the layering of 2D objects will look in the Rift, but I am going to attempt to throw together a UI mock up that is similar to SAO.

Other than that, I am still working on binding the arms/hands of a Pawn to the position of the Hydra controllers. I have been slowly working through the info on this page: http://udn.epicgames.com/Three/UsingSkeletalControllers.html
Once I have that done, I will put together a comprehensive tutorial for adding Hydra support to UDK on a separate page, so future devs don’t have to go digging through blog posts.

Hoping to receive my dev kit this week!

Excelsior,

–Bruce

Hey VR Heads!

So most of this week was spent learning how to make static meshes in Blender. Blender is complex – definitely not the “jump in and push buttons” type of program. After poking around a bit, I found a great tutorial that was highly recommended:

Blender 3D: From Noob to Pro (wikibook)

I am in the beginning of Unit 2, and I was able to put together the stuff you see in the video above. Not bad. 😀

The UDK tutorials from The New Boston are also fantastic:

The New Boston’s UDK Tutorial playlist

A lot of great knowledge and step-by-step walkthrough for the UDK Editor, Kismet, and Matinee.

Finally, I was able to get some buttons on the Hydra linked to in game actions! If you are using Craig’s source that I posted in part 3.5, you simply need to add Pawn instance functions (or whatever else you want) within the PlayerController class. A list of Pawn instance fuctions is here:

UDK List of Pawn Instance Functions

Here are some examples I was able to get working:

function RightTriggerPress()
{
Pawn.StartFire(1);
}

function RightTriggerRelease()
{
Pawn.StopFire(1);
}

function RightBumperPress()
{
Pawn.StartFire(0);
}

function RightBumperRelease()
{
Pawn.StopFire(0);
}

function RightB1Press()
{
Pawn.DoJump(true);
}

StartFire and StopFire need a byte argument (number between 0-255). What firing type each number value corresponds to is up to the weapon. By default, 0 = primary fire and 1 = alternate fire.

Other than that, I changed the AimMode variable within PlayerInput to 2, which allows the movement of the right Hydra wand to control looking around. It feels pretty nice so far. I also slapped together a Pawn file that would silence the footsteps in game. Those footsteps are loud, and ruin my videos! XD

That about wraps it up. Look forward to the hallway getting fancier and fancier!

Excelsior,

–Bruce

Okay, more progress has been made, thanks to a couple of things:

So at this point, I am able to move my pawn around with the Hydra joysticks, tweak that movement, and verify that I am reading button presses through the console. Its going slower than I would like, but its going. More soon!