Friday, October 31, 2008

Halloween

Here is an updated list of links to wiimote+pc information:

http://wiiflash.bytearray.org/

- the wiiflash website is about connecting the wiimote to flash. they do it through the use of an api and a server - this method works pretty well and I am currently using it for my project, caveats would be that it requires adobe flash 9 and above and learning actionscript3

http://wiimote.chloefan.net/wiimote.html

- this is a helpful site that utilizes the wiiflash.org way of connecting the wiimote to your pc and creating programs using adobe flash and actionscript3

http://www.wiicade.com/

- this site is for developing flash games for the wii

http://www.wiili.org/forum/

- the wiili.org forums have a lot of information on how to connect the wiimote to the pc and information on how to get started using GlovePie, a scripting program which works well with the wiimote

Wednesday, October 29, 2008

Whats it gonna look like?

I've been thinking a little bit about how I want the end product to look like and function. Ideally I would have a projection in a public place or a gallery on to a wall or a ceiling. Visitors/guests/participants/players whatever one wants to call them would wear special wiimote equipped apparatuses. The strap-on wiimote and the buttplug wiimote respectively.




The projected content would be some kind of arousing imagery displayed through Flash. The wiimotes will connect to Flash and be represented by icons (maybe hands?). Moving the wiimotes will move the icons. Initially the movie will be paused. There will be another set of icons displaying motions on the screen, overlayed on certain parts of the movie. In order to move forward in the movie players will have to match the motions displayed on screen by moving their bodies. In a way the participants become physical actors of the virtual content being displayed. If the arousing content displayed includes more than two actors then an equal amount of participants will be needed in order to continue the movie.

Tuesday, October 28, 2008

Debuggin

Have been trying to get the wiimote to work with flash for the past couple of hours. No success.

First attempt to get Flash to work with wiimote.
- software - flash 8
- wiimote
- method - labs.wiicade.com

I followed the instructions on the website: downloaded the api, placed it in the correct folder, created new flash document and added necessary code to connect the wiimote and flash. Tried the test swf file and got no response from the wiimote. I tested the bluetooth connection with glovepie and everything was fine there. I tried debugging the code and looking though the forums for troubleshooting but didn't find much help.

Second attempt to get Flash to work with wiimote.
- software - flash 8
- wiimote
- method - wiiflash.org

Downloaded the wiiflash server and network support for windows. All installed properly. Got the wiiflash server to detect the wiimote - everything is connected properly. Attempted to open the demo files and discovered that I need flash 9 and above to work.

Third attempt to get Flash to work with wiimote.
- software - flash 8 (hoping to get flash 9 or above sometime)
- wiimote
- ppjoy
- method - try to convert wiimote to joystick and connect joystick to flash.

This attempt is currently in progress

Tuesday, October 21, 2008

Flash

Trying to figure out how to connect the wiimote to flash. Came across a site called wiiflash.org which uses a server to work with flash I think. I downloaded the programs and got the wiimotes to connect to the server but I haven't figured out how to do anything with it. Currently I am creating an experimental game in flash that has users track movements in order to keep progressing.

Monday, October 20, 2008

Wii Scripts and Wii x2

Working on getting different scripts to run on the wiimote, ran into a potential problem when trying to get the right bluetooth stack/drivers. The bluetooth stack which comes with the dongle I purchased doesn't really work with the wiimote. Downloaded a trial version of BlueSoleil which does work with the wiimote, however it stops working after transmiting 2mb of data :(

Found a script for connecting two wiimotes and am looking into how to get that to work. May also be experimenting with the nunchuck attachment. Currently I am using this script (which came with the glovepie program) to use the wiimote as a mouse:

//WiiMouse Version 0.1
//www.wiiscript.co.nr
//Based upon Unplayable BF2 Control Script by Duke4ever

//WiiMouse 0.1
//Created by WiiScript.co.nr

//Ive came up with a mouse script that works really well! I hope you enjoy my script and if you have
//any ideas or problems please email me at sbraidley@yahoo.co.uk

//Instructions:
//A = Right Click
//B = Left Click
//Plus = Enter
//Home = Stop Script / Pressed twice close GlovePie
//Minus = Backspace
//1 = My Computer
//2 = Internet

//Please visit the website to check for updates
//www.wiiscript.co.nr

if Wiimote.home
if doubleclicked(Wiimote.home)
ExitPie
else
wait 200 ms
ExitProgram
endif
endif
var.trimx = 2
var.trimy = -26
var.trimz = 1


Up = wiimote.Up
Down = wiimote.Down
Left = wiimote.Left
Right = wiimote.Right


Mouse.RightButton = Wiimote.A

Mouse.LeftButton = Wiimote.B




Key.enter = wiimote.plus

Key.mycomputer = wiimote.One

Key.internet = wiimote.Two

Key.backspace = wiimote.minus



if 0 = 0 then
if var.kitt = 0 then
wiimote.Leds = 1

endif
if var.kitt = 1 then
wiimote.Leds = 3
endif
if var.kitt = 2 then
wiimote.Leds = 6
endif
if var.kitt = 3 then
wiimote.Leds = 12
endif
if var.kitt = 4 then
wiimote.Leds = 8
//wait 200 ms
endif
if var.kitt = 5 then
wiimote.Leds = 12
endif
if var.kitt = 6 then
wiimote.Leds = 6
endif
if var.kitt = 7 then
wiimote.Leds = 3
endif
wait 100 ms
var.kitt = (var.kitt + 1) % 8
endif


if Wiimote.B then
if var.rmbl = false
wiimote.Rumble = 1
wait 50 ms
wiimote.Rumble = 0
endif
var.rmbl = true
else
var.rmbl = false
endif


var.x = Wiimote.RawForceX + var.trimx
var.y = Wiimote.RawForceY + var.trimy
var.z = Wiimote.RawForceZ + var.trimz


var.sense0 = 1000
var.thresh0x = 2
var.thresh0y = 1

var.sense = 300
var.threshx = 10
var.threshy = 5

var.sense2 = 100
var.thresh2x = 15
var.thresh2y = 8

var.sense3 = 50
var.thresh3x = 20
var.thresh3y = 12


if var.x > var.thresh0x
mouse.x = mouse.x - 1/var.sense0
endif
if var.x < -var.thresh0x
mouse.x = mouse.x + 1/var.sense0
endif


if var.z > var.thresh0y
mouse.y = mouse.y - 1/var.sense0
endif
if var.z < -var.thresh0y
mouse.y = mouse.y + 1/var.sense0
endif



if var.x > var.threshx
mouse.x = mouse.x - 1/var.sense
endif
if var.x < -var.threshx
mouse.x = mouse.x + 1/var.sense
endif


if var.z > var.threshy
mouse.y = mouse.y - 1/var.sense
endif
if var.z < -var.threshy
mouse.y = mouse.y + 1/var.sense
endif


if var.x > var.thresh2x
mouse.x = mouse.x - 1/var.sense2
endif
if var.x < -var.thresh2x
mouse.x = mouse.x + 1/var.sense2
endif

//yaxis
if var.z > var.thresh2y
mouse.y = mouse.y - 1/var.sense2
endif
if var.z < -var.thresh2y
mouse.y = mouse.y + 1/var.sense2
endif


if var.x > var.thresh3x
mouse.x = mouse.x - 1/var.sense3
endif
if var.x < -var.thresh3x
mouse.x = mouse.x + 1/var.sense3
endif


if var.z > var.thresh3y
mouse.y = mouse.y - 1/var.sense3
endif
if var.z < -var.thresh3y
mouse.y = mouse.y + 1/var.sense3
endif

debug = var.x + " " + var.y + " " + var.z

I don't completely understand the code yet. So I am trying to learn how to program the wiimote enough so that I can use two wiimotes and have two cursors etc for a collaborative project.

Wednesday, October 15, 2008

Input Options

I've been researching different motion sensing options for the project. The first option that came to mind was the wii remote.

I looked at Johnny Lee's work using the wiimote to finger movements and head tracking.
http://www.cs.cmu.edu/~johnny/projects/wii/
Many of his projects used C# and other programs.

This is a forum website I came across with lots of info on connecting the wiimote to connect to the pc as well as programs to use wiimote input.
http://www.wiimoteproject.com/


This is a Japanese website that has written a program to use the wiimote and the PS3 six axis controller with a pc
onakasuita.org

Here is another resource in wiki form.
http://www.wiili.org/index.php/Main_Page

While at Fry's electronics looking for bluetooth dongle's and wiimote accessories I came across this mouse which is like the wiimote in the sense that it has motion tracking capabilities. This would make connecting to the pc a lot easier however it is also expensive and probably has less creative development from hackers than the wiimote right now.
http://www.yankodesign.com/2008/09/22/logitechs-mx-air-wants-to-fly/


Wednesday, October 8, 2008

A Possible Project

Based on the ideas from the previous post I would propose creating an installation type of project set in a public space which asks people to use their bodies to navigate a gui to do social networking or collaborative actions. Here are the parts to the project:

  • Body based pointing device - most likely I will use some kind of motion tracking device with accelerometers, maybe a wiimote and have it attached to the body in some way. The wearer will have to do physical actions in order to do virtual or computation actions.
  • Display - I want the display to be for an audience rather than a single person, also I feel that projecting onto a surface is more versatile than using a monitor.
  • Software - most likely I will use Flash to program the connections between the body based pointing device and the gui/display. Also I will need to program the inputs and how to interpret the body language of the users.
  • Setting - a public arena, maybe the new Price Center or the wall of a residence hall a place where people will encounter and be confronted by the art. I want to get away from the private physicality of computing. I want to bring the openess of the virtual world to the physical side. However one obstacle maybe trying to get people to participate, online people feel protected from the safety of their homes and the facade of an avatar or screen name, in public that all goes away.

3 Main Ideas

Today computers are shrinking and reaching new areas of our lives. However, the majority of us probably still sit at a desktop computer and use a keyboard, mouse and monitor. This type of computing interface practically isolates and immobilizes our physical bodies. Today many of our body's functions have been taken over by the perspective of the machine. We use computers to view and explore the world, cars to travel, ipods to hear and so on. Our experience of the world is increasingly mediated by computers.

In a world where everything occurs through the use of machines, our bodies become increasingly obsolete. For example take transportation, most people in San Diego own a car and drive to any given destination; students living on campus will even drive a minimal distance to visit a friends dorm instead of walking. Cars have become the new bionic legs and arms of people today. Not having a car is like being physically handicapped. If one takes the bus or other commuting alternatives it is still a handicap - public transportation is the equivalent of dial up internet while private transport by car is more like typical isp service.

Another issue I would like to address in this project is the use of alternative interfaces. The touchscreen interface has been getting fairly popular with many portable devices implementing software gui that utilize this function. I feel like this is a step in the direction of moving away from the mouse and keyboard setup. However most touch screen interfaces only exercise the fingers. By having the user perform more physical activity, I hope to bring a sense of appreciation for all the work computers do for us and further breakdown traditional notions of interface. My inspiration for an alternative interface is ASL (American Sign Language). ASL utilizes the body's constraints and affordances to create a language composed of from the different forms one can make with their body and face. Its an utterly "human" language. Often times the metaphor for a "command line interface" is like giving out speech commands and having to explicitly describe all the actions. ASL brings a physicality to the navigation of a gui.

Finally the third issue I would like to address with the project is the private and public aspects of computing. Using the computer is mostly a personal affair, whether one is on a laptop in class or at home in the comfort of their home. Like the cell phone the desktop/laptop computer is a personal device - millions of people look at porn every day - this is possible due to the private nature of using a computer. This private nature often isolates one physically, however on the flip side - access to a computer is quite liberating and grants virtual freedom. Being on the computer can mean being connected to friends through websites like MySpace.com or Facebook.com, it also empowers Internet users with tools from Google or video broadcast sites. The Internet is a vast and seemingly public space yet people often access from a private physical bubble. The keyboard mouse interface is meant for one person, our culture approaches computers as personal devices, there are many factors which seem to isolate people and computers.

Proprosals Proposals Proposals

I've been thinking about the senior project this past week and nothing has really hit me as the "It" project. The main themes which I would like to focus on include:

- suburbanization vs. virtualization - these two processes seem to do opposite things yet they exists side by side
- related to this dynamic is public transportation and the bus system - something which I've had a lot of experience with because of my time at UCSD

- social networking - how and why did this phenomenon come about and what are the consequences and benefits?

- cognitive science in general - how this field of study might inspire artistic explorations of human nature