Archive for September, 2008


Exergaming, the sequel!

September 18, 2008

While I was bored at work I found a bunch of websites detailing all sorts of forms of Exergaming!


I just got my screwdriver to take apart my Wiimote yesterdayNow I’m polishing up on my hacking & woodworking skills and installing a Wiimote into the handle of my Bokken without destroying either. Until I get that done, or take some awesome photos of the process, I am putting up links with information about exergaming.


Here is a History of Exergaming and game controllers related.


Here is a sight for a company involved in advanced sensor technology, Virtus


Also, a French designer created a series of sensors you wear called Bodypad. I wonder how that works?


There is another company called In2Games that has created several versions of 3d tracking controllers.

Sorry for the lack of content today. I’ve actually been working at work lol.


Turning of the Tides in AoC?

September 17, 2008

A lot of gaming blogs are talking about it:


Fired or resigned? What do you think? I can take a pretty good guess though…

The game it seems people love to hate to love to hate to love is supposedly ‘making a 180’ and putting out some major changes. Oh yeah, and today they finally implemented the fabled PVP Patch that they have been promising since, oh idunno JUNE! Not to reiterate what has already been thoroughly explained across the blogosphere, but:

hmm, ok nevermind I can’t seem to find what is in the patch, but apparently it’s the PVP update, some new quests, new zones, and fixes for the memory leak(?)

I’m sure I’ll be able to look it up when I get home. This is big big news!


Oh yes, and I went on a pretty huge rant on the AoC forums too, I’ll post a link to it when I find it tonight.


What would you do, if I sang out of key?

September 16, 2008

So I was raiding last night, failing over and over again at Vistrix and getting extremely bored when I realized, “Why, I am going back to the same old thing I left!” I gave up on Everquest because raiding was starting to feel more like a job and less like a game. I mean, the fight is fun (assuming you win) but I’m not sure if I’m cut out for raiding in AoC yet, or raiding in any game. I enjoy being the sturdy dude that everyone relies on, and that’s what I remember about EQ.

My Shadowknight Thules in the world of EQ was a column of armored ogre that could take out anything dished to him. I would log on and feel almost ‘wanted’ in any group I could imagine. I led raids, or provided assistance to the raid leaders in accomplishing the goal of achieving “teh l00tz” by the end of the night. Humorously enough, raiding was more about providing others with a good time than making sure I was entertained. Not like I wouldn’t be able to do that in AoC, but last night I just couldn’t take it anymore. My friend called me, and instead of afk’ing I simply Alt+F4 and closed vent out.


I didn’t want to anymore, I couldn’t do it, and it’s been what… 2 weeks of raiding?


I think I need to take a step back, and work on this project instead of dividing my interests (or lack thereof). From here on in I’m going to focus on finishing this Wiimote for AoC thing, and then port it to WoW if at all possible. A friend of mine wants to casually level in WoW so we’re going to use that ‘Recruit a Friend’ program that everyone is talking about.


Now….how do I change my blog title? Hah!


No, just kidding yall. I’m still going to have AoC installed, but I am going to only be using my program for soloing and grouping at first. Taking such a complex form of interaction with my computer, and just plopping it on top of the hectic attitude of raiding is not going to go over well at all. Besides causing wipes, experimenting with this form of control during raids is not going to accomplish much.


Let’s start out with simple things, like jogging around Hyborea (or Azeroth)! Easy enough!


I have a busy afternoon today so I’m not sure if I’ll be able to write anything or progress in my project. Although there is some good news: I ordered rechargeable batteries for my 3 Wiimotes I’m using, I also ordered a Wiimote screwdriver (you need a 3 pronged screwdriver to take apart your Wiimote), and my wooden Gladius came in the mail today! It looks like putting the Wiimote chip + buttons into the handle will be a daunting task involving some creative woodworking. Maybe it’s something I can start this weekend if I get the tool before then.


So that’s my latest, folks. I will leave you with some interesting links though!

WindoWii Scripts Creator: GUI for simple Wiimote movements converted into keyboard/mouse commands.

This made me lol. It’s good to see someone that is as bonkers as me. But I personally think that light-sabers are nerdier.

This guys project is much more extensive, but the results are amazing.


And with that, I’m out! Have a great Tuesday 😉


I Was Wrong!

September 15, 2008

Ok, I’m not going to skip to my loo to Java quite yet. After looking at some tutorials, and being completely overwhelmed by the massive amounts of knowledge I will need to pick through, there is no way in hell I could figure out how to do what I want in less than a few months.


So, that being said: I recruited my best friend who, among other things, worked for Microsoft at one point, and knows Java like the back of his own hand. Sometime soon he’ll be spending a weekend or two at my house so we can get together and work on my little project. He even said he’d help make a graphic UI for me! Wee!


Therefore until that weekend happens, I am stuck with what I know, and I’m coming back on my hands and knees with GlovePIE for another week.


On the good side of this I did find a script for GP that lets you:

1) Put a Wiimote in your pocket

2) Start jogging

3) GP recognizes that you are jogging!

It also recognizes walking. So I can use this as my ‘running script’ for creating movement in game. I’d like to thank Rhys Legault for his awesome script creation of magical shinyness! Now if I could only figure out a turning script with the same Wiimote (if you can’t tell by this point, I’m not too bright in the realm of programming) Actually, just thinking about it, it might not be that hard!


Here is the running script that I found on Friday (oh and if you can’t tell, I don’t blog on the weekend because I have a life hehe)


/*                  Wii R Walking v1.0
*                 Created by Rhys Legault                 *
*                        *
*             Last Modified: February 19th, 2007          *
*  Feel free to use, modify and redistribute this script  *
*  About:
*  This script identifies if you are still, walking or running
*  Requirements: 1 Wiimote
*  Directions:
*  Throw the wiimote into you pocket and start walking or running
*  This can be around the room or on the spot it doesn’t matter.
*  Just don’t run into anything!
*  The debug window will show that you are either still, walking or running
*  If required, adjust the threshold values to suit your needs.
*  If you want to use this script inside of another script use the
*  Search->Replace tool and replace all Wiimote values to Wiimote2
*  You won’t be able to use any of the buttons the Wiimote while it’s
*  in your pocket so you will require another Wiimote for any button
*  assignments
*  Notes:
*  To protect your Wiimote you can put it into the original plastic packaging
*  of an additional Wiimote (not the Wiimote’s packaging in the Wii bundle)
*  It fits perfectly & the buttons will not be pressed while you’re running

//Amount of time between calculating movement status
//1 = 25ms, 4 = 100ms, 5 = 125ms, 10 = 250ms, 20 = 500ms, 40 = 1000ms
var.Timing = 20

//Threshold values for Walking & Running
var.WalkingThreshold = 20
var.RunningThreshold  = 60

//Sets the maximum forces applied to the wiimote
if abs(Wiimote.RelAccX) > var.MaxAccX then var.MaxAccX = abs(Wiimote.RelAccX)
if abs(Wiimote.RelAccY) > var.MaxAccY then var.MaxAccY = abs(Wiimote.RelAccY)
if abs(Wiimote.RelAccZ) > var.MaxAccZ then var.MaxAccZ = abs(Wiimote.RelAccZ)

//Adust var.Timing if you want to change how often the TotalForce is calculated
if (PIE.Frame % 40) % var.Timing = 0
   //Calculates the total of the max forces applied to the wiimote
   var.TotalForce = var.MaxAccX + var.MaxAccY + var.MaxAccZ

   //Resets the max forces applied to the Wiimote
   var.MaxAccX = 0
   var.MaxAccY = 0
   var.MaxAccZ = 0

//Displays movement status
if var.TotalForce < var.WalkingThreshold
   debug = “Still”
elseif var.WalkingThreshold < var.TotalForce < var.RunningThreshold
   debug = “Walking”
   debug = “Running”

If I could get a decent Mouselook script going, then I would have a perfect Movement/Vision script and at least that portion would be finished. I think this is what I’m going to work on tonight!


Goodbye GlovePIE, Holla Java!

September 12, 2008

So, last night I rolled up a noob toon on Deathwhisper named Thules, just to test out my set up on Tortage.


Yeah…and… it actually worked! Minus a few bugs it was fairly successful. I ran around the island slicing left, right, down all the while bonking alligators with the giant broken oar I had. It didn’t quite get my heart pounding, but I can see a lot of potential for this.


If I can figure out a way to create a mechanism that makes your character jog when you jog, and turn right or left when you do (hehe, and jump when you jump!) it definitely would be better. And I know I am not going to accomplish this with the Dance Pad, so I’m going to have to retire it. But what would replace it?

I really wish the guys at would respond to the emails I send them, because that looks like something I could use. In the end I will probably do something like create a Wiimote/Nunchuck belt that responds to the up & down motion of jogging, and turning etc.


Even though I was able to use my rudimentary bonking and running abilities on Tortage, for some reason the IR mouse in my left hand was being stubborn, and none of the buttons on EITHER Wiimote were working properly. I think that my script is simply too complex for GlovePIE, or I am doing it wrong. Either way, I believe at this point it would be better to ‘borrow’ some projects done by others, and basically weave them together to make what I want. In that way, I would only have to learn a minimal amount of scripting/coding in Java instead of trying to start from scratch with GlovePIE. I’m going to use Java because theoretically it is a cross-platform language, and the gesture recognition library I want to use is written in Java as well.


So, looking at Java APIs for the Wiimote, I have these three so far:



A very simple Java based API for the Wiimote with a graphic UI that is fairly intuitive. It’s very similar to WiinRemote in that it can set commands for all the buttons, and do IR Mouse application. Aside from that, it doesn’t really support gesture recognition so I would have to figure out how to add WiiGee to it for swing recognition support.



“Motej is a slim Java library for Wiimote communication” according to their website.

It simply allows for Wiimote communication and the data from the Wiimote is as unchanged as possible. There seems to be several ‘packages’ that come with it that I don’t completely understand yet. Here are the features comprehensively listed though.

  • Discover and connect to Wiimote devices
  • Wiimote IR Camera in both basic and extended mode
  • Wiimote Accelerometer
  • Wiimote rumble feature
  • Wiimote player LEDs
  • Wiimote buttons
  • Read Wiimote EEPROM memory
  • Write Wiimote registers
  • Wiimote Status Information
  • Wiimote Calibration Data

So it definitely allows for comprehensive data gathering from a Wiimote. Now to interpret that data into actual key strokes might be a different monster all together.


Also, there is no graphic UI, so I might have to add that myself? (gulp) Although it provides several ‘demos’ with it.


Wiimote Simple

I’m not exactly sure how ‘Simple’ this API is. Although it claims to have “less functionality than WiiremoteJ” the features it lists are the same as Wiiremotej

The features listed are:

  • Read accelerometer data, useful for responding to dynamic swinging actions.
  • Read infrared camera data, useful for cursor pointing.
  • Respond to button pushes.
  • Vibrate Wiimote.
  • Set lights on the Wiimote

    The one thing that interests me is the “useful for responding to dynamic swinging actions” in that it mentions “swing” and not “flick” because so far the only action that I can read or interpret from the Wiimote is an almost-instantaneous flick action.


    In the end, I want to combine one of these API’s with the WiiGee Java-Based Recognition Library so that I can have button interpretation, an IR mouse, AND complex gesture recognition so that both Wiimotes will be able to properly & comprehensively communicate with AoC. So for now I’m dumping GlovePIE. It was great while it lasted, but unless I’m scripting retarded with it, I’m pretty sure that the language is a bit too limiting for what I want to do. Therefore, on to Java!

    I guess when I get home I’ll install Java and the Bluetooth Java Library etc and see how it all works. Maybe I know more about Java than I think I do.


    Exergaming FTW

    September 11, 2008

    Another night of updating the code, and fixing a few small bugs. After restarting the ‘Swing Recognition’ script that I wrote, I’ve had better success, but for some reason it won’t trigger if, say, you swing a Wiimote left for 45 ms.


    Here is an example of the code I wrote for the Down swing.

    //Swing script Sept 10

    //Amount of time allowed between sequence actions
    PIE.SeqReadGap = 50ms

    //Amount of accelation required for action to occur
    var.AccelerationThreshold = 1.5

    //Amount of time between a flick action
    var.ActionGap = 150ms

    //Amount of time to hold key press
    //Used in example functionality (Delete if unused in custom functionality)
    var.HoldKey = 50ms

    if var.WiimoteFlick = false

    //Swing Down
    If Wiimote.RawAccY <= -29 m per s per s and Wiimote.Roll < 45 and Wiimote.Roll > -45 then
    var.WiimoteFlick = true

    //Custom script functionality starts here
    say “Wiimote down”
    wait var.HoldKey
    //Custom script functionality ends here

    wait var.ActionGap
    var.WiimoteFlick = false

    Basically, what it does is checks to see if the Wiimote is not tilted more than 45 degrees in either direction from the face-up position, and if it’s Y Acceleration is going down (is negative). As far as I know, there is no temporal function in GlovePIE aside from detecting velocity since the last script frame. Because GlovePIE is not a linear programming language (which means, I think: it simply repeats itself over and over as fast as it can) it can’t read something like “If Wiimote does X movement, for Y amount of time, then execute Z.”


    Is that correct? Do any of you programming/coding people want to comment? I’m lost with that one. I mean I’d love to figure out how to do Gesture Recognition, because then I could implement it into other programs like World of Warcraft where you have like 30 separate battle skills. So if you traced a circle shape in the air, you would use the Intercept ability (or whatever).


    I don’t think you can achieve accurate gesture recognition with GlovePIE unfortunately.


    Tonight I’ll work on the Diagonally Up Swings that you receive at later levels. I actually could run around Hyborea last night and do some rudimentary swings fairly effectively (albeit awkwardly), but I think if someone got used to this, it would be possible.


    Obviously as I mentioned before, some things would be extremely difficult such as selling/buying at the auction house.

    Off-Topic: Check out what this guy did with the Wii Balance Board! This would be pretty cool to use. Too bad it’s all in a different language.


    Ok so, update from last night. I got the movement script for the Dance Pad finished. I’d really like it if you ran in place your character would move, like the video, but that would be difficult to do (I think) with a DDR pad and I don’t own a Wii Fit. Maybe I could write a script that makes your character run by jogging with a Wiimote in your pocket? Once again, any suggestions of coding/scripting would be helpful, the last time I wrote any script before this was when I was 8 on my mom’s commodore 64!

    Oh yes, and I’d like to add I found this little gem on Youtube. Very interesting idea, but a treadmill is kind of expensive and takes up a huge amount of space. Plus, what if you wanted to stop fast?


    The Forza Workout Program

    September 10, 2008

    Digressing from the realm of Conan & Wiimote at the moment. I want to take some time in explaining the actual workout that this idea (in theory) would provide. After looking through different martial arts involving the use of the katana, or Wooden Katana called a Bokken, I decided on using certain exercise movements put together in a book written by Ilaria Montagnani. She creates an exercise technique called Forza, which is Italian for “strength”. They are extremely specific, and I should be able to interpret the movements in this book so they can be detected on a Wiimote imbedded in a Bokken.


    On that note, I also received my Bokken yesterday, and I think the Wiimote could be transplanted into part of the handle with a little bit of deconstruction, sodering, and reconfiguring. But that is a whole nother project in itself, as I will have to purchase a tiny 3 pronged screwdriver to take apart my Wiimote. So let’s save that for another day.


    I am going to use illustrations from the article and show the first basic 3 cuts that one would use with a Bokken, which will translate into the first three cuts used in AoC until level 40 (or 50? I forget)


    Here would be the Forward, or Vertical cut.


     Where basically the Wiimote’s Roll = 0 and it’s RawAccY < 0.

    The next cut would be the Left/Right Swing, or Horizontal Swing




    Where basically the Wiimote’s Roll = either -90 (right) or 90 (left) and it’s RawAccY < 0.



    So, this is what I’m going to use as a swing model. I’ll also work a bit on getting these exact motions down as the Forza Workout suggests, because being able to focus such a swing exactly/perfectly would be an excellent exercise.


    As I get the script for these 3 swings finished, I will work on the last 2 swings gained at higher levels.


    I found out that there is a function in GlovePIE to record movement over time which I didn’t think was available before. It’s similar to taking a derivative of movement on a graph, in that it is Delta(x) as written in GlovePIE. So I’m going to see how that works in relationship to getting a swing recorded.


    Also I was looking around, and I found a guy who wrote a script to do Fishing in WoW by mimmicking the same movements used in fishing. While what he wrote is nothing new, I’m going to give his code a try to see how responsive it is.


    Oh yes, for those that think I am going to put a hole in my monitor, or endanger myself. Here is a photo of my ‘rig’ or ‘set-up’ if you will. Granted the futon on the left will be moved back about 6 feet or so. Maybe I’ll take a photo of myself and the whole set-up later when I get it working better.