Thursday, February 16, 2017

20170216 VR brainstorming

Tonight, we revised the games and experiences we had previously examined, and created a rough set of guidelines laying out what works, what doesn't, what's feasible for a small team. This covered art direction, animation, art, mechanics - essentially we're trying to find a recipe for what to make, based on our limitations.

Scheduling is in flux for the next few weeks, as a number of large video game conventions and conferences are looming, so we likely won't get back into things until the end of March.

However it's good to be pausing at a stage where we have a bunch of options for what to do when we're ready.

Tuesday, February 7, 2017

20170207 Vive Camera experiment

The chaperone effect is pretty neat if you like Glowing Edges in Photoshop. I do.
Tonight, we ran some experiments related to the HTC Vive's built-in camera, mostly riffing on how possible it might be to use as a real-world camera in which one might place virtual objects.

From what we can tell, the camera simply isn't high-definition enough to be useful for this, and given our three-hour session limit, it felt like too much of a rabbit-hole to re-fit the camera's image output to be suitable for use within the headset. My inclination is also that someone has already done this part somewhere out there.

We also took a side-trip and made a little cube character who would mimic your movements in reverse, thus mirroring you. Its name is HeadFriend and it is strangely compelling and 'life-like' despite being obviously not lifelike at all.

One fun little thing we ran into tonight was the weird feeling of watching the Unity Game view as someone else wearing the headset approaches you from behind. It is a chilling feeling, even though you know they are there, to watch someone approach you! Pretty interesting.

The overall outcome of tonight is that we're really starting to pick up the pace on the idea-implement-execute cycle. Some things this evening barely took 20 minutes to go from 'what if' to 'oh, cool!'. That feels good, for sure. Not bad for just 4~ weeks of VR experimentation.

Thursday, February 2, 2017

20170202 VR testing

Audioshield is a lot of fun.
Tonight we completed our testing that we had begun on Tuesday. Our conclusions remain mostly the same, with the exception that we saved a few 'best in class' entries for tonight, to avoid overly coloring our impressions of the others in the line-up.

Space Pirate Trainer is an excellent shooting gallery that results in quite a cardio workout as wave difficulty and intensity increases.

Budget Cuts has a particularly cool idea for modifying what the tracked controllers do, and I can almost definitely imagine using it in the future.

Overall our impressionss were:
  • Lots of physics and scripting is good and works well
  • As little animation as possible is fine - the player is largely more interested in how they can affect their surroundings.
  • If you do have loads of art and animation, it is very impressive but also looks acceptably very expensive
  • Games where you walk the least are the most engaging
  • Teleportation does not feel like 'the answer' to VR movement

Tuesday, January 31, 2017

20170131 VR testing night

Cosmic Trip is a beautiful game both technically and visually
This week, we opted to see what's out there in the VR market. We tested approximately 20-30 different games and experiences, looking for ideas on what works, and some already-established best practices (before we waste time stumbling to them on our own dev time).

Of tonight's tests, there were a couple of standout favorites, including Unseen Diplomacy and Cosmic Trip. Cosmic Trip is relatively deep in terms of design, so it's hard to get a real sense of it after just 40 minutes of testing. However, it's a seriously beautiful game, and impressive for what appears to be a small team working on it.

Unseen Diplomacy is a wonderful concept that suffers a little in its execution. That said, for $3 we got our money's worth, at least. When I first heard of room-scale VR, I had wondered how possible it would be to implement this concept, and the team behind UD have proved that it is possible, although it poses a huge number of edge-cases that are complicated to elegantly solve. Still, a lot of fun.

Thursday, January 26, 2017

20170126 - VR Prototype #4 - 8-way movement

A simple representation of our movement system

Tonight we finished the grid-based movement experiment, and are pretty happy with it.

We took the 4-way NSEW movement, and added the points between each of those, allowing full 8-way movement around a series of grid cells.

As it currently stands, you can look in a direction, and press the touchpad to be moved there. We also implemented an overhead map that is placed on your left-hand Vive controller for reference. This actually threw us into a pretty horrendous place that we inexplicably escaped. Something to do with using multiple cameras in a Steam VR scene in Unity. But we escaped, at least! We can hopefully fix this long-term if we come back to it.

This is the most impressive prototype so far, especially after just 6 hours of experimentation. We'll likely iterate more on this one after finishing our current schedule of experiments.

Tuesday, January 24, 2017

20170124 - VR prototype #4 - Point-based movement

Rough example of this movement system

This prototype was a simple concept that proved challenging due to initially not understanding how SteamVR tracks Y movement on the headset, but we got there in the end.

This experiment was based on a series of cells on a grid, allowing the player to point to a cell and move there. Sort of like being the king piece on a chess board - eight cells surround your cell, and you may choose which one to move to.

Tonight's progress got us to 4-way movement (North, South, East, West).

Sunday, January 22, 2017

20170122 Multiple linear regression using backward elimination

Today I performed a multiple linear regression using backward elimination, which is the next section on the Machine Learning course I've been following.

This course is a little too low on theory for my liking. I'm performing a lot of impressive actions, but I lack the context on how they work or what they are really 'for'. Still, it's something fun to tinker with.

Thursday, January 19, 2017

20170119 - VR prototype #3 - Physics rowboat

Prototype #3 was a test of physics-based implementation of movement through the water. We used the same scene as #2.

This experiment involved tracking the two oars we had created for the boat, and monitoring when they were in water. Beyond that, it was a (relatively) simple case of reflecting boat movement in whichever way the oars had moved. Again, this worked surprisingly well. We also ran into an incredible bug whereby if water friction was too low, and you could really ramp up quite horrifying speeds. It was fun, though!

Tuesday, January 17, 2017

20170117 VR prototype #2 - Rowboat

Tonight we started our second set of locomotion prototypes. We started by creating a simple wooden boat in the middle of open water in a Unity scene, with a few trees scattered around to behave as way-points.

Prototype #2 involved implementing a rowing-machine method of method, akin to what you might find in a gym. The system was 'reach forward, pull triggers and pull back towards chest, release triggers' to calculate movement. It took a little longer than we might have liked, but it worked alright after a few hours of tinkering.

Monday, January 16, 2017

20170116 LAMP + Web server VM

I think this is maybe the second time in my life that I've successfully started the Apache service...

Tonight I:

  • Installed LAMP stack on my Linux Mint VM
  • Got everything up and running - it turns out this can be achieved using a single command!
  • Set up port forwarding to make my server visible to the wider world
  • Created my first three (incredibly basic) PHP pages
Pretty fun! Web development is pretty immediately rewarding. The write-run loop is super duper quick, plus it's fun that the weird little things you make can come alive literally from the moment you save the file in its editor. I mean, assuming you're live-editing your pages. And at the tier I am at, why not?

Wednesday, January 11, 2017

20170111 Machine Learning

Tonight I:

I'm taking a course in Machine Learning. Tonight I waded through the 'Getting Started' parts, as well as Data Preprocessing. Lots of packages to install, and fiddly things to fiddle with:

  • Installed R
  • Installed RStudio
  • Installed Anaconda
  • Using Spyder for Python

Learned how to preprocess a dataset:

  • Empty cells
  • Categorical data
This course is curious because it takes place concurrently over Python and R, giving you the how-to for both languages, one after the other in each lecture. I'm sticking with both for now, examining how tasks are performed in each language. I expect to choose one over the other eventually, likely I'll go with Python, but that is yet to be decided.

Next steps look to involve learning how to operate on datasets directly. Looking forward to it.

Tuesday, January 10, 2017

20170110 Virtual Reality prototyping

Tonight I:

Completed the first of a series of VR prototypes I have devised with a friend. We made pretty astonishing progress inside of around 2 hours, making use of the Unity Asset Store to build a quick proof-of-concept.

What's more surprising is that we used a don't-do-it style of locomotion, yet it didn't induce motion sickness! That was pretty surprising, but it might be because we weren't testing it for particularly long.

I don't have much to share on this work, visually, but suffice it to say that it's going well, and ought to continue for a while (a few months, at least).

We currently have approximately six prototypes outlined, that we intend to spend around eight hours on, per concept. More updates to follow.

Thursday, January 5, 2017

20170105 Virtual Reality beginnings

Tonight I:

Worked through this guide to getting started with HTC Vive development in Unity.

The entire thing took around three or four hours, with plenty of distractions and sidesteps. The guide itself is pretty straightforward, but my development partner and I spent a bunch of time fiddling around with a couple ideas that were inspired by parts of the guide, mostly in terms of 'I wonder if we can do this?' - which worked out, thankfully!

All in all, it was a surprisingly easy first step into working in VR. More to come.

Wednesday, January 4, 2017

20170104 Virtual Machines

My very first pet ghost computer!
Tonight, I:

  • Set up a brand-new-in-box Brix Pro i7 to run ESXi,  a virtual machine host OS
  • 'Hacked' (is this even hacking? I don't know) an ESXi customizer program to not flag Windows 10 as an non-modern Windows operating system (it thought it was pre-XP...)
    • For this, I edited the .cmd (in Notepad) and found the function that was messing with it
    • I changed the if statement within the function to not flag an error if the version of Windows was not 9.? (isn't this the whole joke about why Windows 10 happened?!)
    • I saved the file, and it worked!
    • I felt clever
  • Re-compiled a custom ESXi .iso to make it play nice with the Brix Pro
    • Some issues with the HDD and the Network Adapter
    • Required two extra packages, and a lot of searching around
  • Made a bootable USB of the .iso
  • Installed the .iso to the Brix Pro
  • Successfully loaded the web client in order to install machines
    • Experimented a little, creating and destroying VMs
  • SSH'd into the host machine
  • Downloaded Linux Mint 18 to attempt installation of a VM from .iso
    • Made another bootable USB
    • Created a Linux VM
    • Couldn't get the VM to see the bootable USB in host machine
    • Uploaded Mint.iso to datastore
    • Gave VM a CD drive that was directly linked to the datastore .iso file
    • It worked! It is pictured up at the top of this post
    • Installed using the prompt pictured above
Quite an adventure, and a lot of fun! Total time, end to end, was 3 hours.

Software acquired:
  • ESXi Customizer (to re-compile the .iso)
  • VMware PowerCLI (I ended up not using this)
  • Universal USB Installer
  • VMware vSphere
  • Putty
  • Linux Mint 18
Thanks to Matthew Wegner for the inspiration and coaching.

Tuesday, August 25, 2015

The (pleasant) surprise of life with a Chromebook

It started, as so many things do these days, with a conversation on Twitter.
You can click that link about and view the full, exciting, and ultimately fulfilling meeting of the minds that occurs following it, but the TL;DR is that it got me thinking about my biggest gripe with tablets.

I hate holding tablets.

I don't want to be this person ever.
I've been slowly developing a theory on this (largely based around having spent too much time on laptops) that my brain/body cannot develop an straightforward acceptance of tablets. Every time I use one, the ultimate frustrations are that I wish it could do a couple more things, I wish typing on it was easier, and I wish I wasn't holding the damn thing the entire time.

At best, they feel clumsy. A strange halfway point between laptop computing and using a smart, and trending too closely to the latter that they come off worse. I began considering the Chromebook concept in depth. I began to see it less as a stunted laptop, but a broadened tablet. I began to start understanding what a Chromebook might be useful for.

When tempted to purchase anything that crests over the $100 mark, I have a simple system: if I'm still thinking about the item in 2-3 weeks, I'll give it more serious thought. It's a pretty handy way to let your short-term memory work over and forget things that don't really matter, but sure looks neat or cool or whatever.

I knew I was sold when I found myself sharing my new-found Chromebook perspective with a friend.

'It's a laptop that runs a browser and nothing else - I'd go crazy. It's such a weird idea.'

'Video-editing or any creative powerhouse stuff? For sure you're going to miss out. Think about everything else, though. Web-based email, Tweetdeck, etc. Maybe it's not so crazy for light work.'

It was too late. My subconscious had already ordered a Chromebook. My reality just had to catch up.

I started browsing online, reading reviews, watching videos and trying to crack the code of whether the Chromebook made sense in the lives of anyone who was a more-than-average computer user. For reference, I probably spend something close to 16 or more hours using a computer per average day. At a high level, it seems difficult to comprehend how a Chromebook could make sense. I discovered this article, 'Why I left my Macbook for a Chromebook' by Simon Phipps of Infoworld. If Simon had managed to find himself happy with a Chromebook as a daily computer back in 2012, perhaps there was hope after all.

It looks like a massive toy, which is to its credit.
A few days later, and I've settled on the model I liked the most: the Acer Chromebook 15, with a 32gb SSD, 4gb RAM and 10 hours of battery life. Upping the RAM from 2gb to 4gb afforded the 1080 resolution screen, which was my #1 priority for a 15.6" screen. Most Chromebook reviews focused on 13.3" or smaller screen. I already own a Surface Pro 2, and for everything it does well, the 11" screen makes every action take 1.5x to 2x longer than it should, and it gets frustrating real fast.

Amazon heard my call, and knocked 40% off it within 2 days. My $350 laptop had become $260. I awaited its arrival.

All of the bluster left me with a limited use-case that would absolutely satisfy me: the Chromebook had to let me walk away from my computer in the evenings, and take a break doing mindless things like watching movies, listening to music, all the while letting me do casual browsing, tweeting, etc.

The big surprise? My desktop machine is now the evening machine.

The Chromebook arrived on Thursday. On Friday morning, I decided to conduct an experiment: If I opened up my Chromebook to start work, how long would it take before I was obliged to turn on my PC?

Logging into,,, and opening the Tweetdeck app, I began about my day as usual. It wasn't until 6pm that I realized I hadn't looked to my PC once. Those 10 hours of battery life meant that I didn't even plug it in to charge until later that night.


Of course, a lot of this will depend on how invested you are in Google's app ecosystem, especially in terms of Gmail, Drive, etc. However, since that day, I haven't used my PC for anything except playing games in the evening. Instead of working hunched over a desk, I lie back on my recliner. Is this worse for my back? That's for another blog post. The Chromebook has effortlessly transitioned into being my daily machine for work, with few sacrifices to tip the scales either way.

What began as mild curiosity about the state of ChromeOS (spoiler: hard to notice there's an OS here at all) has morphed into a surprising discovery - that there's more of me in-browser than I would have expected.

If that new MacBook seems just a little beyond your budget? Look up a Chromebook. It's a small amount to gamble for something that might really surprise you.

-Written, edited, and published with a Chromebook