HTC Vive mounting bracket measurements & early game impressions

My HTC Vive arrived today, and after roughly 10 hours in VR I’m really impressed and quite tired. But I promised that I’d provide some mounting bracket measurements since I was annoyed a few days back that I couldn’t find anything reliable about that online.

Brackets measure as length 8.4 cm / width: 4.45 cm / depth: 3 mm (Where the screws pass through, slightly curved)

Mounting holes are symmetric and centered exactly 1 cm from the ends (6.4 cm center <-> center distance). Their diameter is 5 mm. The length of the included screws is exactly 4 cm (after the cap).

Bonus room setup process image:

Here are some very early and short (because I’m tired) impressions:

Overall, and this might be hard to believe, room scale VR with tracked controllers is just about as magical as you heard. I really did grin like mad simply by creating and popping a few balloons in the tutorial. And it obviously gets better from there.

The Lab:surprisingly polished and diverse, both graphically and in the types of gameplay demonstrated. My favourites were the archery game and Xortex (the bullet hell shooter). The interactivity in the lab itself was also amazing. Oh, and the trademark Valve  humor is there in robot repair and the calibration testing. I love the robot dog.

Space Pirate Trainer: it’s a very simple foundation, but despite the straightforward mechanics it actually seems to have a very significant stratification in terms of skill. I think it’s a game where, even at this early state, you can spend a lot of time playing and notice a continuing increase in your skill and accomplishments, which is always rewarding. Better anti-aliasing would be nice, it seemed a lot worse than all the other games I played today in that regard.

Water Bears VR: I got this for free in some promotion, and after the real physical exhaustion and sensory overload of Space Pirate Trainer (and Xortex in The Lab before it) we wanted to try something a bit more laid back. It’s a fun puzzle game with surprisingly good production values and very intuitive controls. It’s also really “complete”, unlike some of the other games which do feel like the early access titles that they are.
And the “Water Bears” (which you can interact with after completing each level) are extremely cute, so this is a game to show off to anyone enthralled by that.

Cloudlands VR Minigolf: it’s minigolf, in VR. Except the courses are often a lot more inventive than what you’d find in reality. The controls work very well after a small adjusting period, but the game is surprisingly challenging in how it sets the par for each hole. Room scale helps a lot here in being able to actually walk around the ball or get down on the ground and check the intended trajectory of a shot.

Audioshield: perhaps the game I was most hyped for, having played Audiosurf for over 400 hours. It does not disappoint. The best part was starting off with a random semi-obscure song (Dogfight by M.O.V.E.) and someone had already played it!

Anyway, I’ll probably be capable of more coherent thoughts later.

Also, by the way, I wrote a in-depth DS3 pc version technical analysis (good thing I completed that article before the Vive arrived!)

PC gamer article about UWP/UWAs

Yesterday an article I wrote about UWP/UWAs got published at PC Gamer.

I actually asked about writing this 3 weeks or so ago, but with my real job interfering it took a while to get done. In the meantime, the topic blew up with Tim Sweeney weighing in, which isn’t something I expected.

I go into details on the current state of things, my concerns about future developments, and 2 questions I’d like Microsoft to answer in that article. One thing I don’t discuss, mostly because it requires technical background to understand which would take a long time to explain from the bottom up is the technical details of application signing. I also won’t do that here – on my blog I can afford not to ;) – but I will provide my more philosophical thoughts on the matter.

Signing, in general, is a good thing. At the very least, it makes man-in-the-middle attacks far more dangerous to execute. On truly open platforms like Linux it is even a great thing, with all the control still resting with the user and no one interested in making some particular commercial signatures “more trusted” or “better” than the rest.

On a commercial proprietary platform, it is a double-edged sword. Yes, ideally, it provides all the same advantages it does on the open platform with no additional drawbacks. However, when ultimately controlled by a commercial interest its potential for either subtle or obvious abuse is extremely high. From simply showing a small warning pop-up if some software is not corporate-approved all the way to restricting some functionality only to a subset of signatures. Compared to that, the somewhat more dangerous wild-west environment of Win32 does not offer the same capabilities – even to its creator.

Anyway, many people have told me that they appreciate the article, either for the information contained in it about current UWA limitations, or for the message it sends, or both. There are also those who think I am  overreacting or painting too grim a picture. And in this particular case, I’d be ecstatic if they were right and I am wrong: if in 10 years I can still as easily mod a game as I can do with a Win32 executable today then I’ll join them in laughing about just how silly I was. Happily.

Tales of Zestiria article, and the state of GeDoSaTo stability/compatibility

Starting with the good news, I’ve completed another port analysis for PC Gamer, this time around for the recent Steam release of Tales of Zestiria. In short, it’s about as good as a 30-fps-locked port can be, and I was particularly impressed by its keyboard and mouse input support.

To mark the occasion I’ve also pushed a profile for the game to the GeDoSaTo repository, which allows correct mouse mapping while downsampling and includes a PSHash for HuD toggling and HuD-less post-processing/screenshots.

Talking about GeDoSaTo, I’m well aware that the most recent version introduced serious compatibility/injection issues for some, and I’ve already invested some time in trying to pin those down. At this point, I’m still not sure what’s going on, but my best guess is that it’s related not to any code change but to switching to the latest version of Visual Studio and its runtime library. In general, getting the redistributable for Visual Studio 15 might help.

Overall, I fear like the only solid solution to this issue is creating a separate “shim” .dll for GeDoSaTo which doesn’t link any CRT library, injecting only that in all processes, and making the decision whether to actually load GeDoSaTo in that separate dll. This is a heavier undertaking, and I plan to give it a go this weekend.

If anyone has any ideas (well, viable ideas, not pure speculation) about other potential causes for these recent issues I’d be happy to hear it.

FF Type-0 Article – Snatching Defeat from the Jaws of Victory

I wrote a pretty in-depth port analysis of FF Type-0, for PC Gamer as usual. The game is intriguing: it’s clearly a far more technically competent port (it even uses some compute shaders!), with none of the random performance drops, but held back by a baffling regression in output resolution choice.

It also got a very bad rep initially on Steam because the options perhaps aren’t labeled expressively enough – the “high” and “highest” AA options perform 2.25x and 4x downsampling, basically, so they have a very significant performance impact. Many expected to just “max everything” in this port, so that came as a surprise.

What I didn’t expect is that the game actually has some decent improvements over the console version beyond just rendering resolution, including a high-end shadow option, a very fully-featured screenshot mode, and a speedup toggle.

DirectX 12 article on PC Gamer

I wrote an article about DX12 for PC Gamer. It discusses the differences between high-level and low-level graphics APIs and what that means for gaming. It also features some insight gained from talking to Dan Baker at Oxide games about a few related topics, which was a big help.

I went a bit wild in terms of technical detail in the middle section of it, but it could be up your alley if you read my blog (and hopefully also interest some PC Gamer visitors).

Article about PC Game Features, Development Updates

An article I wrote for PC Gamer has now come online:

The features PC gamers want — an open letter to developers and gamers

I really liked the idea for this article when I was first approached about writing it. While writing, I turned it from something addressed mostly at developers into also trying to make gamers understand the cost of features and how to interpret comparative performance across games.

The final article is about 50% longer than initially planned, but I still missed at least two important features, which I will shortly discuss here. I’d add those to the “important” category.

  • Audio support: Just like with display devices, people use a lot of different audio setups on their PCs, both in terms of output and in terms of processing. Decent positional audio should be supported for at least the common speaker configurations and headphones.
  • Custom Server Hosting / Server Browsers: For online games, supporting match-making is nice, but it should never be the only option in a PC game. Traditionally, PC games which offer the option to host custom servers and browse servers by various criteria have a much longer active online life and foster a stronger sense of community.

One thing I did certainly not expect is to get feedback from some developers within a few hours of the article going live. I know of at least three who are forwarding it to the relevant parts of their team (some having it translated even), and others have said that it’s nice to have something “official” (even if it’s just an article) to show the decision makers when discussing PC features. This is honestly already a much better outcome than I had expected!

Development on GeDoSaTo and PtBi

As some of you might have noticed, development on these projects has slowed down considerably over the past few weeks. This is primarily due to my “real world” work load, which has increased significantly due to the unfortunate confluence of the semester starting in October here (teaching), paper deadlines (research), and project proposals in-flight (shit).

I still try to merge external contributions to both projects regularly, so please help out if you can. My own situation should normalize somewhat in November, and allow me to work on them once again. (By the way, I actually wrote most of the article discussed above roughly two weeks ago)