What 390.00 usd buys you for VR development.

I have been banging away about 10 hours a, with development for Firedrake VR on a I3 Laptop for about seven months now.   In the beginning, when I first started learning Unity and developing Firedrake, I naively figured if I used a dev system that was “equivalent” to the level of power that mobile VR devices currently had, it would make for a more streamlined dev and iteration process.    My thoughts ran along the line that I would be seeing close to the same performance on the dev machine as the mobile s7 platform I was targeting, for the Gear VR and could adjust in Unity before building to the GearVR, thus saving myself some testing time.

For the most part, it kinda….  Sorta… worked.  The Unity editor was fairly snappy, I had 8 megs of ram so I could run unity, and Monodevelop at the same time,  frame rates and processing stats in unity were on par with the s7 (once I did some tweaking of both platforms, of course) …    for the most part…

Where I was way off in my figuring, was the heavy processing/rendering I would have to do , mostly with the light baking in Unity, to get the right type of lighting needed to run the VR app smoothly on mobile vr.      You don’t get to have ANY real time lighting in a Mobile VR app.  The performance hit is just too great for currently cell phone based VR.  So one of the big performance tweaks you do to your app for mobile VR, is to “pre-bake” the lighting effects into your Unity models beforehand.    This gives you some fairly nice lighting effects, with almost no processing overhead.

Anyway, the lightbakes require a fair amount of processing power on the dev machine to pre-figure it all out and the old Dell I3  would sometimes chug for 72 hours straight to bake the lightmaps comprised of fairly low resolutions in Unity.  My 3d Levels are reasonably small and there were only about 12 baked, point lights per level,.  The settings in the lighting editor were also pared down, only 20 trexels, quality set to low and resolutions set to medium, no final gather set…

This time hit really slowed down the iteration rounds…. and really got to be a drag for development in general.   It would take an hour or two to make some changes in the level, then 24-72 hours to bake the light to that I could test it live and see what it would actually look like on the Gear VR, since you always have to do real-world testing on the platform you are deving for when It comes to mobile VR.      My dev schedule went from what I thought would be about six months, to month after month, barely making headway.   Doing a change, like fixing a environment tile seam, then waiting  on the bake… not getting it right and having to change it slightly again…then waiting on the bake… over and over again…

 

Then one morning after a long night waiting for a typical render to finish so I could check a fairly simple change I had made.  I decided I really didn’t want to deal with it any longer and I hatched a plan.   I wanted to see what kind of VR development system I could setup on a shoestring budget.    I set my budget at 500.00, since that’s about what was left in the dev budget(actually a little less 😉 and started looking around for some new hardware.  I already have a S6 and S7 with a couple different versions of the Gear VR headsets, so I didn’t need to worry about the actual headsets, but need an upgrade on the computers that I used to author the VR apps on.

I stared lurking on the local Craiglist  /computers for sale postings.  I wanted to get a feel for what type of hardware and who was selling for a few days.  CL /foresale can really be the Wild West and it’s always a good idea to watch the postings for a while.  You can get a sense of who and what is selling and what deals look “safe”  I.e.;  good equipment in the right price range that doesn’t look shady.    After a few days I kept seeing a post from a guy who worked at bank and the bank had just retooled and upgraded their corporate computers and he had a bunch of corporate pulls.

He had a couple of dell i5 minitowers he wanted $90.00 for.  They were first gen i5 2400 cpus with general low end specs, but they would be a huge upgrade from my i3 mobile CPU and I offered him 60.00 a piece and since his ads had been reposted for a few days, I figured no one was biting at 90.00.   After a few texts back and forth we agreed and met up the next day.  I handed him the cash and he handed me two dell OptiPlex 780 and surprisingly with two new in box keyboard/mouse combos.

 

I got them home and fired them up and they ran great.   No fan noise, no error codes.  Great!  They both had win 7 pro COA.s so I slapped a fresh copy of win 7 on them and then burned them in for about 48 hours.    They had both come with 4 gigs of ram and onboard AIT video chips, so I shopped around on amazon and got a deal on 2 x 8 gig ram kits for 60 total that brought them both up to 12 gigs and had an  older Nividia gt 510 and a Nividia GTX850  video card lying about and put one in each.  The cards weren’t very good by todays standards, but they were a HUGE upgrade over the onboard ATI video systems and would allow me to run dual monitors.  A desktop feature I am completely sold on.   I priced the cards on ebay and in total they are worth about 30.00.

All in, I had two new Dell i5 dev systems for only 120.00.   Next I needed some monitors.  I had a couple of Hannsg 19 inch LED monitors laying about, but I totally lucked out one day at the local Cat Thrift Store.

Just down the street is the local cat shelter and they run a small thrift store on the side.   Every now-and-again I liked to stick my head in and play with the kitties and buy something to help the shelter buy cat food.   On day I stopped in that there were about 15 LCD monitors on the shelf.   I strolled over and eyeballed them and they had a mere $3.95 price tag on each of them.  Now, I thought these would be blown monitors and probably not worth the trouble, but at this price, I had to take a chance and it did help feed the shelter cats.    I had a sneaky suspicion these were the monitors from the same bank that upgraded an were from the i5’s I just got.   I selected five monitors, all fairly nice ones.   22 to 24 inch and there was even a 24 inch 30 bit HP precision monitor.   This monitor alone must have been a few k when it was new, but was now sitting in the back of a small town, cat shelter.  Such is the life of recycled computer equipment in the new digital age. All in for the five monitors I was into it for about $25.00

Anyway, long story short, got the monitors home and they all fired up and worked perfectly.   There may be a slight red shift in the 24isnch soyo monitor, but all the dell monitors display perfectly.  No blown pixels, nothing.  A few dings on the cases, general wear and tear type of stuff, but nothing more.     Go figure.   Score one for the Cats!

 

I had an old two port netgear monitor switch laying about, so I rigged the i5s up with a 22 inch Dell LCD and the 24 inch Soyo and I could switch back and forth between the two with a slight push of the button. I figure that was worth about $30.00 or so.

 

I had also been watching ebay for a good-ish system.  Sometimes you can find a real good deal and I stumbled across a Dell t3500 graphics workstation that had two, second gen i5 3.5 gihz CPUs, 20 gigs of ram, 2 terabytes of HD space and an higher end ATI card for $75.00.   The ad read well and there was a 30 day money back guarantee and the seller had hundreds of 4 star sales, so I took the chance and plunked down 75.00 bucks.  I figured if this system worked, I could swap out the video card and it should be plenty powerful enough to run a RIFT or VIVE.  I am particularly interested in using the Rift with Unity to actually build VR environments in VR.   I think that would be fun and this system should handle that easy enough.

About a week later the system showed up and I fired it up and found out why the system was so cheap.   The system fired right up and didn’t throw any errors, but after about ten minutes run time, the CPU fan kicked on and OH MY LORDS!!!!  It really sounded like a MIG jet engine powering up.  I mean, this thing is LOUD!  I have actually never heard a computer this loud before in all my years.  The bearing fan is blown, from running hard over the years I assume,    I contacted the seller and they were coolish about it and sent me a new fan and a tube of thermal paste.   I have yet to pull the old fan yet and replace.  It’s a dell case,  famous for their strange overlapping engineering, so it will be an adventure in itself, taking the thing apart to get to the fan in question  and experience has taught me I will need a youtube tap and a full day to accomplish this task.    I will report back when I get the machine up.

 

I also needed a new home for all this equipment and found the solution on CL once again.   Somebody was clearing out their failed small business and I scored two slick and sleek matching computer desks and a Vizio 24 inch LCD tv all for another  75.00.  The tables have a few dings and scratches but were in great shape and all the equipment fits nicely.

 

 

I loaded up Unity 5.6.5f, an old copy of photoshop 7 that I paid for years ago and still does everything I need in a graphics program to do textures and graphics and the like and slapped in the newest version of Blender 3D to help do all the 3d modeling assets needed to Unity and I’m up and running.

Light bake render times now, with full high resolution, 40 trextels, 30 point lights , and final gather set, now only takes about 1-2 hours, instead of 72+ hours.  The dual monitors are WAY more fun to work on then the one small 15 inch monitor on the laptop… and I have two system to bang away on, instead of just one, so that I can “multitask” while one system is light baking, I can switch over to the other and continue working on another level, or even a completely different project.

All in all, for a mere 360-ish bucks this was a HUGE upgrade and improvement in the dev process and frankly, I am kicking myself for not doing it sooner.  I’m not so bogged down with the slow technology and It’s now fun-ish again to do VR development.     ‘Cause, as they say, “ if it’s not at least a little fun, what’s the point?”