Thursday, April 13, 2017

20170413 Playtesting

Tonight we did a rush-job on some objects for testing, and then brought in two friends who had not yet seen the prototype, and invited them to check it out and provide us with some feedback.

One of them had trouble learning and picking up the techniques, while the other tester understood the mechanics pretty immediately.

Both overall had fun, but with the caveat that it's pretty bare-bones right now.

It wasn't immensely productive, but it's always interesting watching people experience something you've created.

Tuesday, April 11, 2017

20170411 Checklist stomping

Tonight, we continued the momentum, and added a number of QOL improvements for testing and experimentation.

We fixed a physics bug that, as with all good physics bugs, did not possess an entirely apparent cause. We removed some early Debug.Log statements that were no longer useful, and were clogging up our console window during tests.

We fixed a prefab deletion error - this was something we had written but never properly investigated. It was not a huge surprise that it needed some TLC.

We adjusted a key system to allow for better cueing, and then out-did ourselves by doubling our feature set possibility space straight after that.

All in all, pretty solid work.

Thursday, April 6, 2017

20170406 Bug fixes, recalibration, and design whiteboarding

Tonight we got a lot done. It was good to have an evening of few distractions. We worked pretty solidly from 7pm until 10pm fixing bugs, recalibrating some problems with room tracking and our general feature tests, and we even squeezed in a whiteboarding session to map out a few directions that we are going to take our existing feature set.

My partner and I outlined three use cases that we feel will serve as a decent suite of concept proofs before we take the plunge on more hefty quality-of-life work that will follow, should these prove as enjoyable as we hope.

The plan from here is to spend two weeks on each of the three prototypes, moving onto the next if we happen to finish early, and then likely running some friends and colleagues through them to see what they think.

Things are looking good, and I still have to keep reminding myself that we've only been working on this idea for about a month (and very casually, time-wise), and yet it's moving pretty steadily. It'll be interesting to see how our first proof-of-concept works out!

Tuesday, April 4, 2017

20170404 Unexpected first playtest

Tonight we accidentally stumbled into our first playtest! We were testing hand capture, and added a few spheres to allow for small-scale juggling testing. As we were working, a colleague brought a few of his friends in to check out the office, and one of them happened to be a keen juggler.

Before we know it, she's asking to check out juggling in VR. This was really useful to us, as we'd been testing out the juggling/throwing/catching for a few minutes, and were having trouble figuring out why it felt so inaccurate. After 30 seconds or so, she had figured it out - our system to joint the spheres onto the controllers was creating joints not in line with where the hand typically would be holding something. As a result, when players chose to release the sphere, they were releasing it on a trajectory that did not match their desired angle, resulting in the sphere most often moving out forwards from the player.

This was great, however the real excitement came from her playing with the primary mechanic of the prototype. An initial question I had been exploring with this mechanic was related to something I'd considered regarding medium-scale player populations in locations such as social areas in MMOs - When server data is not available, could it be possible to feed players their own actions on a time delay and have them believe they are watching someone else?

The answer is yes.

Thursday, March 30, 2017

20170330 Short session, good outcome

We only had a single development session this week, but it went very well.

This past weekend, the office we use for work, Indies Workshop, relocated from SoDo to Capitol Hill. With that move came the loss of our previously large VR development space. In its place, we must (at least temporarily) make do with a small converted conference room.

With the help of another member of the office, I spent the late afternoon getting the room ready for work. This meant that part of tonight's work was focused on figuring out how to most optimally arrange the room in order to facilitate getting work done, and not getting in each other's way. It has enough space for about 4 people sitting at a table, but 2 people can only just walk around without getting in each other's way.

That said, we found a setup that worked for the most part, and commenced the next steps on our prototype. Namely, refactoring some code and breaking things out into their own scripts (at this stage everything was running in a single script, which was messy for a whole bunch of reasons), and adding the next 'ability' that we wanted to explore. It went great. Our initial planning was way over the top, and we were happy to see that Unity does exactly what we want without the slightly complicated vector math that we had planned for.

Another successful evening! If things continue on this path, I think we'll have something demonstrable by the end of June.

Thursday, March 23, 2017

20170323 Prototype progress

Tonight's session was probably our strongest so far. We've really found our rhythm when it comes to approaching and solving problems, whether they occur during fiddly programming tasks, or while thinking through design challenges.

We have outlined a few tasks, and spend our development sessions tackling them top-down. Tonight finished with us solving a problem so quickly, completely, and immediately that we looked at each other in surprise (and joy!) and decided to stop while we were feeling good.

Tuesday, March 21, 2017

20170321 First day back after pause

Tonight was our first evening back in action since the month-long break for a few work commitments.

As expected, our previously-compiled list of research into 'what works and what doesn't' for VR on small projects with small teams and small budgets proved extremely useful. We spent most of the evening poring over it, and agreeing on a few principles for our experiments going forward. The previous window for work was 3 months, give or take, and since things worked well, we agreed to continue for another 3 months on a few 'idea++' concepts - taking things that worked well during our initial tests, and building upon them.

The evening finished with a clear direction in mind, and we began work on our first 'proper' prototype!

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.

Thursday, February 9, 2017

20170209 VR porting experiment

Tonight we tried porting a friend's Unity first-person project to VR - not the whole thing, just testing a scene.

Ran into a litany of weird Unity errors - this is our first time interfering with someone else's project, and it was pretty offputting!

Something to do with Unity versioning, and/or plugins.

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.