Proof of Concept: Interface Testing
by Demolishun · 07/02/2012 (12:25 pm) · 4 comments
I am working on a project that uses biometric feedback for game input. I decided I wanted to use a full blown popular existing game to do some testing with. I decided to test with the game Oblivion. It already has an interface for writing C++ plugins via OBSE. I modified the example plugin for my testing.
The first part of my testing with this engine is partially working. My goal was to get the game engine communicating with an external Python program via UDP. That is working and my transport over UDP is JSON, mostly for ease of integration with other data sources. The next part will be to complete the UDP plugin and then do some input testing via biometric interfaces. No, this is not an ideal interface. That is why I am calling it a proof of concept test. I will release the UDP plugin once it is complete as a general purpose UDP interface to Oblivion.
Another one of my tests I will do besides biometric input in controlling a game like Oblivion from a webpage. The idea is to provide a casual game that is much more immersive than say a flash game. It could be a simple: "set up a situation and watch it play out" interface. Or it could be a full blown goal oriented interface. A user could set a goal with their cell phone and go do something else. They could come back and watch it play out on Youtube or some other streaming interface.
Some of the things I have learned during this process:
There are more tests to go, up to and including getting my interface working with the T3D engine. Obviously that interface will be much simpler in nature as I have full access to the engine executable.
The first part of my testing with this engine is partially working. My goal was to get the game engine communicating with an external Python program via UDP. That is working and my transport over UDP is JSON, mostly for ease of integration with other data sources. The next part will be to complete the UDP plugin and then do some input testing via biometric interfaces. No, this is not an ideal interface. That is why I am calling it a proof of concept test. I will release the UDP plugin once it is complete as a general purpose UDP interface to Oblivion.
Another one of my tests I will do besides biometric input in controlling a game like Oblivion from a webpage. The idea is to provide a casual game that is much more immersive than say a flash game. It could be a simple: "set up a situation and watch it play out" interface. Or it could be a full blown goal oriented interface. A user could set a goal with their cell phone and go do something else. They could come back and watch it play out on Youtube or some other streaming interface.
Some of the things I have learned during this process:
- No matter what you do, if someone wants to write code for your engine people will find a way. OBSE actually injects itself into the Oblivion executable at runtime. It is a very impressive piece of software.
- Based upon the first item in this list it would be a good idea to provide a nice interface for people to change the game (if it makes sense to do so) so they can enjoy it more.
- The 'boost' C++ library is awesome. I am using this library to do threading and networking in my OBSE plugin. I had never written threads in C++ before and needed one to handle the UDP data so it did not bog down the engine. boost provided all the tools i needed and then some.
There are more tests to go, up to and including getting my interface working with the T3D engine. Obviously that interface will be much simpler in nature as I have full access to the engine executable.
About the author
I love programming, I love programming things that go click, whirr, boom. For organized T3D Links visit: http://demolishun.com/?page_id=67
#2
07/03/2012 (5:27 pm)
Well, I am using the term to describe inputs other than with hands. Like feet movement or maybe even tracking a persons heartbeat via pulse rate.
#3
07/04/2012 (8:59 am)
I'm just having with ya. "Biometric" makes me think of all kinds of clockwork orange movies.
#4
07/15/2012 (2:35 pm)
Now if you could just use a retinal scanner to track eye movements for the "look" in-game, you would then be a god. :) 
Associate Charlie Patterson
Default Studio Name