wizdishThere is now another omni-directional treadmill project on Kickstarter, this one called the Wizdish. It’s a passive design, similar to the Omni, however it does not allow the user to lift their feet. It works by wearing special shoes with low-friction tiles on the bottom. This allows you to slide your feet back-and-forth easily without the need to pick up your feet.

I actually got to try a prototype of this device, and it was certainly interesting. It did not blow me away, but seemed intriguing enough for me to want to get in on the Kickstarter. And this isn’t even that only other ODT coming out soon. There are at least two other projects in the works, this is turning into a highly competitive space. Looks like the Wizdish is still pretty far from it’s goal, with 28 days left, so jump in the Kickstarter now if you’re interested.

3D Game Engine Architecture

In preparation for my 3D game engine, I have been trying to read all I can on 3D engine design and architecture. Although there are some good books out there, it’s very difficult to find a text that will walk you through everything you need to know. That said, 3D Game Engine Architecture: Engineering Real-Time Applications with Wild Magic by David H. Eberly gives it a good attempt.

The book covers the author’s Wild Magic engine, and discusses certain choices he made when developing the engine. It briefly touches on OpenGL, discusses abstracting away platform-specific details, 3D mathematics (and there is a lot of math in this book), an object system, scene-graphs, level of detail, render states, sorting, terrain, animation, collision detection, physics, and more. A lot of ground is covered in less than 800 pages.

However, I found much of the book difficult to follow and still feel like I could have a better picture of the “architecture” of an engine. When I think of “architecture” I think about a broad 500 foot view of a project. I think of flow charts or UML. I expect discussion on how all these disparate elements come together a form a whole. Sadly, that is mostly missing from this book. What the author provides is a good insight into his particular engine, and certain specific aspects of that engine. While this is still a great example to look at, I feel the text could have been more robust in terms of painting the big picture. Some of the things that I found missing were an event system, which seems crucial to an object-oriented engine, or a component architecture, really any type of  structure that allows communication between classes.

Additionally, I found myself getting lost multiple times while reading the book. The author would frequently put in dense mathematical equations and proofs, sometimes spanning multiple pages, and by the end you would be left to wonder what the purpose of the equation even was. I feel like having proofs of equations was not really relevant to the architecture, and surely there are many books on straight math if the reader needed that. Some math is necessary, of course, for a 3D engine but the space could have been used for more important topics.

Not really a jab at the book so much as it is the author’s coding conventions, I really did not like his style. I realize this is somewhat of a holy-war with programmers, but I guess we all have a style that is comfortable for us. Personally I found the author’s style to be really obtuse, and made reading the code snippets more difficult. For example, for a camera’s forward vector, he would use something like:

m_pkFVec

Where “m_” was a member variable, “p” is a pointer, “k” is of a class type, and “FVec” for forward vector. Personally I would use simply:

forwardVector

Just glancing through the code, which one is more apparent to what it is? This really bothered me to no end, but I guess you can chock it up to personal taste.

All-in-all it may sound like I am putting down on this book, but I actually did find it useful in a lot of ways. Certainly if you are aiming to create a 3D game engine from scratch, you will need any and all the help you can get. So yes, still read this book. However, I had much higher expectations and I feel it was a missed opportunity for the author. While it is still a decent resource, this should not be your first stop in engine development.

ARAIG

Looks like there’s yet another virtual reality project on Kickstarter. Well, I guess this is not strictly a VR thing, but it certainly could be used as such. Basically the ARAIG is a vest that you wear while gaming, and it provides force-feedback when you are getting hit in the game. While it does include vibration (like current controllers), it also has direct stimulation with TENS, which could get pretty intense depending on how much power they are pumping through. I really think a vest like this can add a lot of immersion, specifically in first-person shooters. I backed the project at the $299 level, and I suggest anyone interested in VR with some cash to spare do the same. The creators still have a long way to go to reach their $900,000 goal, but you never know.

 

The above video is demonstrating a 4.5″ flex sensor made by Spectra Symbol that I got from Sparkfun. Hooked it up to an Arduino and had it print the values to the serial monitor. Since I don’t have a tripod, it was going to be difficult to demo with only one hand, so I ended up taping the sensor to my finger. Ghetto? Yes. But it actually was pretty fun, and gets me psyched up to buy a glove to mount this on. So far it seems to work good enough for my needs.

Virtuix Omni

The Virtuix Omni Kickstarter campaign was fully funded within hours of the doors opening this morning. If you haven’t heard of this device before, it’s basically a passive treadmill. It allows you to walk in any direction inside a virtual world, without actually moving in the real world. At the time of writing, they are sitting on over $454,000 with 47 days left to go. An amazing achievement and testament to how popular virtual reality has become recently. I backed them for $399. Let’s hope they actually ship next January.