So, the semester has progressed and the project seems actually viable. Here is my project proposal, summerized:
"Real Maze Building & Virtual Maze Running (working title) is inspired by paper and pen maze challenges we'd draw for each other as kids. This game would pit a real person armed with colored building blocks (the Builder) versus a player at a near-by computer piloting an avatar (the Runner). The Builder would construct mazes with the asortment of building blocks in a specified area on a table top. A camera would be trained directly above. The color coded blocks could then be converted into coordinates with MAX/MSP. These cords would then be linked from MAX to 3d gamestudio, translating the real blocks into virtual blocks many times the scale. The blocks would be spawning objects that could be instantly and precisely placed. This means that if the Builder were to alter the maze the changes would be reflected in the virtual maze. In addition to the over-head camera, a projecter would also be overhead so the Builder can follow the Runners progress. This structure would create a unique game dynamic between the Builder and Runner. The builder could simply make winning impossible, but who would want to play with that Builder? For this reason, the rule set is loose, allowing the details to be decided by the players. For example, a rule could be established that the Builder can only move a certain amount of blocks once the game has begun and it must always be possible to exit the maze."
How will this be made possible?? Getting the physical corrdinates of the blocks on the table will be easy enough with a camera and MAX/MSP. Building the maze enviroment and the characters physics will be simple matter with 3d Gamestudio. The difficulty that is presented here is how MAX will communicate those cooridnates with 3d gamestudio, especially in realtime. Both MAX and 3d gamestudio will be running on the same machine, both are C based. Having MAX export a text doc has been suggeted, but that would probably not work if changs could be made realtime. Another suggestion is to wrap both programs so they could be called by java. Two threads could be started, one for each program, and they could communicate by some kind of mailbox thing. This hasn't been verified however.
Below is a link to documentation for a game called Playas that accomplishes a similar feat. People in the audience who walk through the gallery space are picked up by camera and then spawned into the game:
http://www.jigglingwhisker.com/jack/research/courses/playas/playas-stenner.pdfSo. If you made it through all of that and have any ideas how to make it work, people to talk to, resources to check out, etc. Please let me know!
thxs
owen