Work is proceeding well and I've got a new prototype to share with you today, the Ranger:
You'll notice a few things in that video. First off, the other person that you see on screen with the bow and arrow is just a "reflection" of myself sent back from the server so I can see what other people in the game would see. Notice that it's not fully functional yet (for example, it doesn't fire an arrow when I do), but it's a step in the right direction. More on that later.
The bow and arrow gameplay itself is similar to most other bow and arrow games currently out for Vive (such as the Longbow experience in Valve's The Lab title). You notch the arrow, pull back, and release to fire. I decided to make the arrows shoot quite a bit faster than other games, though, and straighter as well. All collision detection for the arrow is currently happening server-side, which is exactly what we want. So when you see a little purple explosion on an enemy that the arrow hits, that's the server registering a hit. Notice that later on in the video even though I teleport and shoot things far away, the server does a great job registering the hits correctly (as well as the misses).
Another thing I've been working on is going beyond the basic mechanic of each combat class. For the Ranger, you'll notice 4 little "radial bars" that fill up over time on the bow. Each one of these is an ability that you'll be able to use. They also correspond to 4 "virtual buttons" on the trackpad of the controller. It's really easy to hold the bow and then use your thumb to hit the trackpad button to trigger an ability. I also have it set up so that if you move your thumb around on the trackpad, in-game you will see the current button you are hovering over light up. I think this method of input will work well to replace the traditional MMO "hotbar." It's right on your weapon so it's easy to see, and it makes sense that where it's located is near where your thumb already is on the controller. I want to put some graphical icons inside the circle to differentiate the abilities, but overall I think it looks really slick already.
The other thing I've been experimenting with recently is Player Avatars. That is, how other players will see you in the world. I think having something that is a full-blown humanoid with a full body just ends up looking weird, since then you have to rely on Inverse Kinemetics to figure out where the arms need to be, and you would have to "simulate" walking from one point to another, or the avatar will just end up looking really rigid, never moving their legs or feet. I recently played Rec Room, a new game for Vive which has some really interesting ideas, and I loved the way that they chose to do avatars as basically disembodied hands, head, and torso. It's enough of a person that you get a sense of it being "someone", but it avoids the pesky issues of flailing arms or wooden legs. I went one step further than their model though and also added gear to the torso and head, which is what you can see here:
I'm still not totally happy with it yet, as I'd like to get a more realistic-looking "inside" (instead of just a capsule shape). I also haven't decided yet if I want to stick with putting the "VR headset" over the eyes, or put an actual face in there...again, the problem is that the face would either need to have some sort of random facial expressions or it would look very wooden.
I've been working on this game for about two months total now, and there are prototypes for 3 different combat classes, crafting, and fishing, as well as a server architecture. I've already solved lots of hard problems (such as server-side collision detection, running a server in NodeJS, building a binary packet protocol, server-side pathfinding, etc.). At this point I'm very excited about the game, and very committed to getting it out there for others to experience.
My primary goal right now is to get a fully-developed "slice of gameplay" video created that I can use as part of a Kickstarter campaign, which I'm planning to do in September. That gives me about two months to keep polishing the game prototypes that I currently have, plan out what the game will have at launch, find artists to hire as contractors, and flesh out the lore of the game. I'll continue to update this blog as I work toward that milestone.
Most of all, I'm looking forward to the first time that I'm able to enter the actual "virtual" world as a real character. The first time that I am doing things that will really shape the world. We're a long ways from that, but I can see it getting closer every day, and that's an amazing experience.
If you have comments on this post, please join the discussion on Reddit: https://www.reddit.com/r/Vive/comments/4rwixb/rangerprototypeandplayeravatardevelopmentin/