Tag Archives: VR

VR Meteors Out Now!

VR Meteors Out Now!

VR Meteors Title ScreenHey, want to play VR Meteors? Damn right you do! It’s available to download from the Oculus Share site now. Get it here:

VR Meteors On Oculus Share

This is the first releasable version, meaning that the game is basically playable and there aren’t broken things hanging around. Original audio by: Mike Jones Audio. Replacing the arcade sound effects was the main reason I hadn’t released this sooner. There are still a few things that need to be implemented, such as:

  • Online leaderboards (and saving high scores between sessions)
  • More robust and configurable input settings
  • Audio volume settings

Also, now that I’ve got the basics in place, it’s time to start working on making things look and sound better. I’ll be starting to add better art, since my art skills have improved a bit since I first made the existing models. I also have a better understanding of materials and shaders, so I will try to get a decent outline mode working. I’m also going to implement the Oculus audio spatializer for 3D audio positioning.

Regarding VR Meteors for Google Cardboard and Gear VR, I broke the Android rendering when I cleaned up some of my code and shaders. So, I will be working on Android-specific materials as well. I also want to add different control modes to support single-button play, and sitting/standing options for camera movement. I’ve played around with these various options already, so it’s a matter of choosing good defaults and adding options to the menus. Still plenty to do.

What’s Been Taking So Damn Long?

I submitted this build to Oculus a few weeks ago, and it just got approved. So, you may be wondering what I’ve been doing in the meantime. Well, I’ve been doing some more contract work for Pipeworks and ordering parts to build a new computer. Oh yeah, and spending some holiday time with friends and family.

After submitting VR Discs Of Golf for the Leap Motion 3D Jam, I had the opportunity to try it out on a modern PC. Wow! It became readily apparent that the issues I was having with the Leap Motion controller and Oculus Rift were due to my aging computer. Turns out that a Intel Core 2 Duo and Radeon 5700 from several years ago is just not going to cut it for VR.

I spent a bit of time trying, and failing, to get the latest Oculus drivers to work with my laptop. I figured that would be a stopgap solution, but it was not to be. When Oculus removed the extended mode rendering in runtime 0.7, it basically broke laptop VR for almost everybody. The new direct mode rendering requires support from the graphics drivers. The issue comes down to most laptops using an integrated Intel graphics chip that is directly wired to the screen and HDMI port, and not being able to bypass that pipeline to render to the VR headset. On a desktop computer, the HDMI ports are directly on the graphics card, so the drivers are able to support VR without having to interact with any integrated graphics chip that is in the way.

Welcome To 2015

With the laptop solution being ruled out, it became clear that it was time for a new computer. Fortunately, a friend of mine had gotten me a discount on a motherboard and CPU just before I was laid off in the spring, so I already had the important parts. With the power supply and memory getting here this week, I should be up and running very soon. I’ll still be using an older graphics card for now, and will wait to update that until I can get the consumer version of the rift. That way I’ll be able to get the best performance for the money.

With better understanding of the laptop situation, I may even return the behemoth I ended up getting for something that doesn’t weigh as much as a gallon of water. Since I can’t run VR on it, I’ll just be using it to work while traveling, and building to Android for testing.

As for my other projects, I still plan on getting some more tasks done by the end of the year:

Check back in a few weeks to see how I did.

Facebooktwitterlinkedin

Bang The Chains!

Bang The Chains!

I’ve uploaded the final submission of VR Discs Of Golf to the Leap Motion 3D Jam. It’s probably not super applicable to you if you don’t have an Oculus Rift and Leap Motion controller, but I’ll be adding gamepad controls, Cardboard, and non-VR support after the 3D Jam so that everyone can play it.

Screenshot6

You can download it and vote for it here: VR Discs Of Golf submission page

Lessons Learned

It was a pretty fun project, and I learned quite a bit from it. Plus, I got to write some custom physics code for the discs. I’ll go ahead and dump whatever I can remember right now into this post for posterity.

“Free” Hardware

When I first heard about this 3D Jam just over a month ago, I was told that anybody who submitted a project would receive the Leap Motion controller for free. If I only consider the $80 cost, then I easily made less than 69¢ an hour. Of course, having a playable game is a much bigger payoff than the hardware.

I had decided to make a disc golf game while I was reading about the hardware, since I know a bunch of avid disc golfers and hadn’t really seen many disc golf games before. Unfortunately, after I received the controller I realized that the hand positions for disc golf are pretty much the worst they can be for motion tracking. So, the controls are a bit simplified for now.

Custom Physics Code

This was easily the highlight of the project. I haven’t written custom physics code in several years and it was great to get back to it. I read quite a few papers about disc physics and pulled together the parts that were sensible. Being the internet, there are a bunch of people who like to talk a lot about things that they don’t actually understand. Ultimately, I found myself taking much of my model from a few research papers, which I came across in various articles.

I prioritized the various aspects of the physics model and focused on the lift/drag model and gyroscopic precession first, since they have the most influence and were the easiest to test. Due to the time limit, I didn’t get to the more subtle aspects; spin decay, instability, magnus force, variable moment of pressure, etc. The game feels pretty good though, so I’m happy with what I got in for the 3D Jam.

Simplified Controls

The Leap Motion controller is a small box with 2 IR cameras in it that can track hand positions within a couple feet. When mounted on the front of the Oculus Rift, it can track your hands as you move them around in front of your face. Due to the angle that the cameras are facing, when you have your hands pointed away from you and closed it presents a very small image to process. Unfortunately, that’s the primary position for throwing a disc.

So, I’m still not entirely sure that the controller can’t detect disc throwing movements very well. I think that a major factor with the tracking issues I had is my old computer hitting its limits. I’m already researching new components to build a new machine soon.

In any case, since I needed the game to work on my machine, I simplified the controls to that you hold your hand(s) in positions that are very easy to identify for the controller. The controller seemed to do a very good job at recognizing when you open and close your hands, so I based most of the interface on opening and closing your hands to trigger actions, while using movement and rotation to fine tune the input.

I had a friend try it out earlier today and watched as he struggled to make it do what he wanted. Since I had to finish the game by midnight tonight, I was a little bummed. However, I tried a minor modification that turned out to work and the game is much better now. I basically separated the aiming and throwing phases of input which made each of them more robust. Phew!

Pre-release Means It’s Broken Somewhere

This no longer surprises me, but it still wastes my time. I never did update to the latest version of Oculus and Unity for the game, which I really wanted to do. The main reason is that I haven’t been able to get the latest version of the Oculus runtime working on my computer yet. I’m sure I’ll figure it out soon, but I didn’t want to waste time with it when the game worked with older versions. I doubt it would have made much of a difference, but I still don’t like feeling like there isn’t time to upgrade everything and take advantage of any bug fixes and optimizations.

VR Meteors Update

I’ve also done a little bit more work on VR Meteors this past month and am planning to upload the Oculus version to the share site soon. I’ve come across a few issues with the Android version that I’ll need to fix before I release a Cardboard build. I suspect that this will progress much faster now that the 3D Jam is done.

Facebooktwitterlinkedin

VR Discs Of Golf

VR Discs Of Golf

VR Discs Of Golf Title Screen

I suppose I can go ahead and announce that the project I’m making for the Leap Motion 3D Jam is a VR Disc Golf game. I basically have the disc physics and basket interaction at a playable state, so I’m going to stay committed to the premise. I still don’t know how accurate it really is, since I can’t find any type of recorded flight data online. That’s why I’ll need to bother some of my friends who disc golf to try it out for me.

I’ll be making the course out of geometric shapes and basic grid-style textures. It’ll be a little like Discs Of Tron, so that’s why I’m calling it VR Discs Of Golf. In fact, I’m pretty sure that this is a precursor to a Discs Of Tron remake for VR. I may even add moving obstacles and trick shots, so it’ll be kind of like disc mini-golf.

Unfortunately, I don’t know if the Leap Motion is going to be accurate or fast enough to do a realistic throw motion for the game. It may be that my computer is finally starting to show its age, and can’t quite keep up the with Leap Motion’s processing demands. It may also be that the angle of the hand when making a disc throwing motion is about the most inaccurate angle for the cameras, so that’s my fault for not trying the interface before I wrote the physics code. It’ll still be cool, but it will be more of a gesture-based interface. While I think about the interface and how I’m going to handle it, I’ve gone back to finishing up a release version of VR Meteors.

VR Meteors

VR Meteors Title Screen

VR Meteors keeps getting closer to a release date. I put in the high score and initials screens today. I also added a shield effect when you get hit. Of course, it’s all delightfully programmer art, but it gets the job done.

At this point, I only have a few things left to do. I’ll add a background sound and audio options to the settings. I’m going to implement the single button play style that I had for the Gear VR into the Cardboard build. Now that I have a better understanding of the rendering system, I’ll see about being able to switch between the colored and outline graphics on-the-fly. Then I’ll do a tuning and polish pass and go through the publishing steps for Google Play and the Oculus Share site.

Since publishing a game is a pretty significant step and legitimizes my company, I’m really getting excited about it. I’m pretty nervous too, since this will effectively be my “first impression”. I’m just trying to deliver an enjoyable experience that is quick and easy to play, while not trying to do anything extraneous. I’ll add more stuff in later updates as I get the systems written. At least it’s free, so there shouldn’t be any complaints about the price. It is the internet though, so I won’t be surprised if there are.

 

Facebooktwitterlinkedin

AR/VR Tech Talk And A New Laptop

AR/VR Tech Talk And A New Laptop

What a quick week and a half it’s been. My progress was slowed a couple days when I went up to Portland last week for an Augmented Reality (AR)/Virtual Reality (VR) Tech Talk. Unfortunately, my previous laptop decided to blue screen again, so I didn’t get much work done those days. My new laptop arrived yesterday, so I’m glad to have that taken care of. Let’s hope that the 4th time’s the charm with this laptop situation.

Dell Inspiron 17 5000 Series Touch

Dell Inspiron 17 5000

I ended up with a Dell Inspiron with an AMD graphics chip. Once I have everything installed, I’ll see if I can use the DK2 with this beast. This is easily the largest laptop I’ve ever used, and it’s heavy. I believe it may be about 7.5 lbs. If it works with the VR hardware, it will be worth it.

AR/VR Tech Talk

The tech talk that I attended was held at the Nike Decathlon Club Cafe next to their campus in Beaverton. It was 2 1-hour talks and some time before and after to socialize. I went over a few hours before the talks and did some work while I waited. I met a few other devs who showed up early as well, and showed them my new View-Master Cardboard viewer. Surprisingly, that viewer generated a lot of interest from several people who were there. The bright and familiar colored plastic probably has a lot to do with it.

AR Talk

The first talk was about augmented reality (AR), and the speaker was from Meta. He was more of a business guy instead of a developer, so his talk was about a lot of the things that he had seen, the potential of AR, and info about their product. He showed several examples of their product being used for education and other non-gaming applications. He spoke quite a bit about how AR will allow for medical training in developing countries and remote locations, which was pretty cool.

Meta 1 Dev Kit

The development kit is available for less than $700. Though this is much less than the $3000 for the HoloLens, it does require a computer to run the software and it is tethered. It was nice to know that there is a HoloLens competitor that already has hardware out in the world though. Here’s a picture of their upcoming Pro version, which looks pretty slick.

Meta Pro

VR Talk

The second talk was about VR, and was given by Kent Bye, who has been attending dozens of conferences and gatherings the past couple of years and has hundreds of interviews. He hosts a podcast called Voices Of VR. He also organizes monthly meetups and is active in the Portland AR/VR community.

His talk was a little more interesting to me at least, as he has been a little more involved with the community at large and has seen a wide range of the hardware and talked to a lot of people in the industry. I did ask him what he is currently most excited about in the VR space, and he mentioned: Tiltbrush, Oculus Medium, Super Hypercube, and Fantastic Contraption. I’ll be checking out whatever info I can find about these soon.

Fantastic Contraption - Vive

That’s enough for now. I’ll have another post shortly with updates on my current projects.

Facebooktwitterlinkedin

Leap Motion 3D Jam & Stuff

Leap Motion 3D Jam & Stuff

This week has been busy and fun. I feel like I have all the pieces to finish VR Meteors. I just need to put them in place now. I have plenty of plans for extra features and some restructuring, which will wait until after I put the game out into the wild. Here’s a screenshot of the title screen to show that I’m super cereal.

VR Meteors Title Screen

Getting VR Meteors online will also free me up to work on a project for this month, which is the Leap Motion 3D Jam. I just got my Leap Motion controller this week and have a couple ideas that I’m going to try. I’ll have to see how well the controller works, and the best hand positions, before I can decide which one to develop.

For those who don’t know, the Leap Motion controller is a small device which houses an IR camera that tracks hand movements. This allows for interaction with 3D objects by moving your hands around in the air. Typically, you would place it on your desk and it would track your hands as you move them around above the device. However, for my interests, they have a mount that allows you to stick the camera on the front of a VR headset so that you can track your hands in a virtual environment.

Other Stuff

Some other things that I’ve been working on this week are: menus, input, paths and splines, 3D text models, and various framework tasks.

Menus

For the menus, I’m trying to figure out how to separate the menu system and package it in a way that it’s easy to import into new projects. I drew a simple vector based frame to use for the various controls and have been working on setting up a template for the various UI elements in Unity so that the layout and sizing works the way that I want. I still have quite a bit of work to do before it’s truly flexible. Fortunately, VR Meteors is my primary development project, so it works for that.

Xbox360ContollerMenu OUYAContollerMenu

I’ve also made a couple of screens for the Xbox 360 and OUYA gamepads that display the controllers and highlight the buttons when you press them. I’ll be putting this at the beginning of my games to try and remove the need for me to explain the controls to people when they try the games. Especially since I won’t be able to do that when people download them soon.

Input

Wow, I don’t know exactly how Unity’s input system could be more cumbersome and less useful. Even if it didn’t exist, it would be more obvious from the beginning that you would want to write your own. I’ve been working on a new input manager to handle various controllers on all the platforms that I’m trying to support. Even the same controller on another platform has different button mappings, and the axis and button handling are separated seemingly arbitrarily. Fun times.

Since I’m primarily focused on VR using a gamepad, I haven’t yet tried to figure out how to handle keyboard, mouse, tilt, and touch controls. I’m sure that will be a whole new can of worms when I start working on some mobile app ideas.

Paths And Splines

When I was working on VR You Make Me Sick to go along with my talk last weekend, I wrote some simple path control code to make the targets move. I have now adapted that to move any transform in Unity along a path, circle, and now splines. I have a basic spline calculation that I came up with just playing around. I’m going to implement a proper Bézier Curve calculation as well, for more precise control. I’ve also learned how to use the gizmo system in Unity in the process, which will be handy.

3D Text Models

I learned how to create 3D text models in Blender, so I decided to use them as logos for now. I went to the Google Fonts site and downloaded a few different fonts that I felt fit the style of the games and modeled the titles to use for the title screens. I still need to figure out textures for them, but I think they’ll do the job until I can get some real art done.

That’s enough writing for now. I’ll be working on the finishing touches for VR Meteors this weekend and you should see it online next week sometime. Then I’ll get to work on the 3D Jam.

Facebooktwitterlinkedin

He Who Talks Loud Saying Nothing

He Who Talks Loud Saying Nothing

I’m not sure I believe this myself, but I’m actually giving a couple of talks in the next couple of weeks. I should probably be figuring out what I’m going to say instead of writing about the fact that I should be figuring out what I’m going to say. Or something.

In any case, I’m done with my contract work tomorrow, and it’s going to be back to full-time Out Of My Mind VR game development. I’ve got so much stuff on my to-do list, I just kind of shake my head and laugh at myself when I read it.

The Big Mix

This week I’m presenting at The Big Mix. It’s a gathering of people from the local business community and each of the presenters is given 3 minutes to introduce their companies, explain their existence, and ask for whatever it is that they want. This is going to be a good test run for whether or not I can articulate what I’m doing.

Indie Game Con

The big talk is coming at Indie Game Con on Oct. 3. I’m giving a talk: VRooom! Getting Up To Speed With Virtual Reality

I’m going to basically regurgitate a bunch of information that I’ve collected regarding various hardware and software for developing VR experiences. Then I’ll pretend to impart wisdom that I’ve attained from developing the various games that I’ve mentioned on this site, which only a handful of people have actually seen. It’ll be a lot of fun.

Game Progress

On the game front, I’ve actually made some progress. I have standalone builds running for Cardboard and Oculus. I’m going to work on WebGL builds to show demos on my web pages. That seems like a no-brainer now that it has occurred to me. I still have to finish various polish tasks and make the games behave correctly, which is why I haven’t released them into the wild yet. I’ve learned quite a bit from showing them to people. The fact that I have to explain so much to them when they play means that I still have work to do.

I tried using stereoscopic support in Unity, but it doesn’t work on my computer. It only supports DirectX 11 3D, which my video card doesn’t handle. I’m an AMD Quad-Buffer guy, apparently. Perhaps when I get my new computer built, I’ll be able to try it again.

With the Indie Game Con coming up and some free time on my hands, I expect to have the first playable versions of my games available to check out by the end of the month. Whee! Your patience is about to be rewarded. Not that you were actually waiting, or that anyone is reading this besides me, but I’m feeling pretty excited about it.

Facebooktwitterlinkedin