Reorg’d!

Crap. I hate it when that happens. BAC EL merged the instructional designers, developers and quality management into one design team. And we got 2 levels of new management.

I should be more upset about it. But after being outsourced once, this “chage wave” just doesn’t seem as big. Roll with it.

Wii’re done

The BAC Wii project has come to an end for now – we delivered our final report yesterday. Hopefully word of what we’ve done will spread and we’ll be ask to share it with more groups. It was a really cool project to be on – the potential of the Wii and kinesthetic learning is an interesting area – and I don’t think that many people are doing much with it yet. Replacing the mouse with a Wii remote is a great way to increase engagement – I wonder if I could find a way to apply to compliance training? Would make for an interesting course assessment.

Anyway, I’m posting my outline of the Wii controller class that I spent all of January developing. It makes programming for WiiFlash super simple – just instantiate it and boom – Wii support in any Flash app. Works with all typical mouse events.

Wii Controller Engine

  • Is an interface between Wii controllers (Remote and Nunchuk) WiiFlash and the application or game
  • Enables quick ramp up for a developer without having to learn the intricacies of the Wii controllers or their data
    • Can add simple Wii controller to an app in as little as 3 lines of code
    • Contains about 1000 lines of code (not including virtual mouse or WiiFlash itself)
    • WiiFlash returns raw data – engine normalizes it up to make it useful for a developer
    • The Wii controllers return small, but long numbers – 0.000000007199879823173
    • “Smoothing” out the data – eliminates the hand jitter by throwing out small changes and/or averaging data over time
    • Accesses the cursor’s X and Y position – WiiFlash gives you the location of the IR points (prefers 2 of them) as the Remote sees them on a scale from 0-1 – not in relation to your screen area.  Engine handles switching from 2 IR points visible to 1 IR point and convert the data to exact X and Y coordinates of where you’re pointing
  • Creates a secondary “virtual mouse” that allows the Wii mote to act as your normal mouse (separate from WiiFlash’s built-in “mouse control” mode) within the boundaries of your Flash movie
    • Uses Senocluar’s VirtualMouse class
    • A button is single click, B is double click
    • Makes it simple to add Wii capabilities to your app since it works with the mouse controls that you’re used to developing for
    • Allows for custom mouse cursors and the ability to switch between them with 1 line of code
    • Mouse cursors are contained in an external SWF
  • Creates a standard way to getbutton press and release state information for the Remote and the Nunchuk.Provides “isDown” data for major buttons on the Remote and Nunchuk: A, B,C and Z
  • Controls rumble – set the duration
  • Provides Nunchuk data in the same way as the Remote: rotation, acceleration, etc.
  • Nunchuk thumb stick – returns the position of the nub from -100 to +100
    • Also can use the 8 corners as buttons, names represent a compass: N, E, S and W
  • Created (but not tested) with multiple Wii motes in mind – should easily scale to up to 4 Wii motes

WiiFlash 0.4 released!

WiiFlash 0.4 has been released today! New features include: 4 IR points on the sensor bar, tracking the size of the IR points (for determining depth), and battery information from the Wii remote.

Since Jason has been busy trying to get a good depth (z-axis) reading with the 0.3.2 release – this is very welcome news. I’d wondered how Nintendo managed to get this information and it never occured to me that the size of the IR point would be it – but it makes perfect sense.

Sadly our Wii research project ends tomorrow – we give our final presentation to the sponsors at 1pm. I hope that we get to keep the Wii motes and sensor bars – there are a few minigames that I’d like to make. It would be cool to make some WiiFlash games that Sophie could play.

Short deck on AS3 events and bubbling

This is a short presentation that I gave to the Bank’s Flash Platform Developer Community group 2 weeks about. Its about the event bubbling system in AS3 and includes an example of how I’m using it to trigger events in ramen Player. Also includes a screen shot of my current project at work – a demo for the new LMS system using an avatar character.

AS3 Event Bubbling Deck

The more I learn about events the better they get and more possibilities appear. I’ve added an audio player page object type that can control the avatar SWF by events. The whole thing is setup using XML – so it’s completely customizable.  You can do so much more than was ever possible in AS2 and with much less code. Probably doesn’t sound impressive, but they fact that they are all separate SWFs running though a player SWF with XML defined event data responding to custom events being passed from SWF to SWF, blah, blah, blah makes it sound more way more exciting. :)

Forking Ramen

Been busy at work lately! I’ve got a tight deadline on a big project that involves a system demo with an avatar character.

I’ve been working in XML and dynamic Flash for so long with my inFlite system (more info soon) that I have a hard time thinking in terms of time line based animation. So, I’ve forked RAMEN and am creating a version for work. I’m getting the opportunity to add a few cool features (which probably won’t mean anything since I haven’t shared much about RAMEN here): timer based animation triggers, image distortion, targeting MC’s inside of a loaded SWF, shape objects, eventmanger objects, blah blah blah.

The hardest thing with be to get it to talk to Lectora so that I can make a cohesive template.

Learning something new

Since I have a feeling of imminent doom at work, I need to get back into what happening in the online world again. So much has happened in the past 4 years that I just havn’t had the time to even explore: AJAX, Javascript becomming “DOM Scripting”, CSS2, Flex, Microformats, etc. I’ve bought a few Friends of Ed books on those topics and hope that I’ll find time to read them before the year is up.

Right now, I’ve settled on trying to learn Flex 2 and Actionscript 3. I bought Charles Brown’s book on Flex 2 and AS3, and plan on working through it over the next few weeks. I don’t think that I can come up with a “business use” for either of these, so it’ll probably be very slow going. If our client would upgrade to Flash player 9,they just now upgraded to 8, then the situation would be better – I feel like I’m really falling behind not learning AS3 right now. But if I can’t use it at work, I don’t have much free time at home to learn it.

I feel like I could pick up AJAX pretty easily, since I’ve got a lot of experience with JS and CSS in the past, I’ll try to pick that up in the fall.