Daedalus ex Machina-DexM

From Medialab Prado

Jump to: navigation, search

Image:daedalus.jpg

Contents

Description of the project

function Virtual?(number : Integer)
    if number == 0 then
        return true
    else
        return Physical?(number-1)
 
function Physical?(number : Integer)
    if number == 0 then
        return false
    else
        return Virtual?(number-1)

[[recursive]descent] is a 'strange loop' which traverses the real and the virtual through the use of videogame technology augmented with a live video feed from a webcam. The installation is embedded in a site-specific setting where a viewer's descent down a staircase is contradicted by the projected scene before them. This results in the destabilisation - if only briefly - of experience; an unsettling interaction between architecture and sense.

The installation is a spin-off from the originally proposed project 'DexM' (www.lowstandart.net/daedalus), and part of it's ongoing development.

Technologies

The entire project is built upon OpenSource software and content, and it's codebase (Subversion repository) and technical description (readme.txt) can be found at http://moddr.net/svn/lowstandart/ .

core technologies used:

Ubuntu OS - Debian flavoured GNU/Linux operating system

OpenArena - a "violent, sexy, multiplayer first person shooter based on the ioquake3 fork of the id_tech_3 game engine" <open source/open content>

luvcview/libwebcam - driver/libraries and viewer for the Logitech Quickcam used

OpenCV - Open Computer Vision Library used for interfacing between webcam, /dev/shm/, and game-engine

ZeroRadiant - level editor based upon the GTKRadiant­_1.4.0 architecture and design


here's a quick and dirty summary of the tech setup thus far, i will expand and clarify the individual steps in due time and produce a more comprehehnsive howto from this:


setup for Logitech QuickcamPro90000 (lots of stuff to add here, complicated setup >> check the README files in src directories for more info):

- libwebcam (view README)

External dependencies: - uvcvideo (Linux UVC driver) - libxml2 and libxml2-dev - gengetopt (optional)


also needs cmake: apt-get install cmake

svn checkout http://svn.quickcamteam.net/svn/qct/Linux libwebcam cd libwebcam/Apps/uvcdynctrl make cd ../.. make

- luvcview (view README)

svn checkout http://svn.quickcamteam.net/svn/luvcview luvcview

!!!Important notes on the uvcvideo and uvcdynctrl dependencies:

       Compiling the luvcview sources requires three source files to be present.
       If you already have these projects on your system, you can link them, e.g.
       using the following commands:
       ln -s ~/uvcvideo/trunk/uvcvideo.h
       ln -s ~/uvcvideo/trunk/uvc_compat.h
       ln -s ~/libwebcam/Common/include/dynctrl-logitech.h
       Alternatively, the latest versions can be downloaded directly from the
       corresponding source code repositories:
       wget http://svn.berlios.de/svnroot/repos/linux-uvc/linux-uvc/trunk/uvcvideo.h
       wget http://svn.berlios.de/svnroot/repos/linux-uvc/linux-uvc/trunk/uvc_compat.h
       wget http://svn.quickcamteam.net/svn/qct/Linux/Common/include/dynctrl-logitech.h

Once you have the SDL headers installed and the three above header files in the luvcview source directory you can continue as normal.

To compile luvcview simply type:

make

To install it in /usr/local/bin type (as root):

make install


- OpenCV:

sudo apt-get install libcv-dev libcvaux-dev libhighgui-dev

- untar Camproxy.tar.gz and compile it > run make, and then run it:

tar -xvf Camproxy.tar.gz cd camproxy make ./camproxy


Openarena/ioQuake3:

- get dependencies and build openarena

sudo apt-get build-dep openarena (get the build dependencies) apt-get install openarena-data (install the open_content data-packages)

- check out the openarena sourcecode from Subversion repository:

sudo apt-get -s source openarena (this code is maintained at svn://svn.debian.org/svn/pkg-games/packages/trunk/openarena/)

- cd into the source directory and patch the sourcecode with the Livecamera.patch:

patch -p0 < livecamera.patch (fixed bug in initial patch version >> missing librt reference, added -lrt to ldflags: "LDFLAGS=-ldl -lm -lrt" (line 160 in livecamera.patch)

- compile and copy into the openarena directory:

  1. Change into the top level directory (it contains the ui and code directories.)
  2. Run make.
  3. Set $COPYDIR to the directory you installed Openarena to and make the copyfiles target. 

Make sure you are changed to the owner of this path (probably root). COPYDIR=”/usr/share/games/openarena″ make copyfiles

OR:

check the openarena.bin (shellscript) file to check how the paths are set ('which openarena'), then run something like this: ./ioquake3.i386 +set fs_basepath /usr/share/games/openarena +set sv_pure 0 +devmap unnamed


GTKRadiant:

to be added/expanded: ran into some bugs like directory permissions (chmod a+w) and the shader implementation (see below) :

http://www.qeradiant.com/cgi-bin/trac.cgi

http://ubuntuforums.org/showthread.php?t=188250


implementing the shader:

!!! 'onsignal_live' is a placeholder for 'livecameraimage.jpg', so if we edit 'shaderlist.txt' and add 'onsignal' to the list > the 'livecameraimage.jpg' shows up as 'onsignal_live' (add shader below to 'scripts' directory and mkdir 'textures/onsignal' and add 'livecameraimage.jpg' to it. !!!

shader: ___ textures/onsignal/onsignal_live {

       qer_editorimage textures/onsignal/livecameraimage.jpg
       {
               map $livecameraimage
       }

} ___ /shader.


command to run openarena with the modified engine binary:

./ioquake3.i386 +set fs_basepath /usr/share/games/openarena +set sv_pure 0 +devmap unnamed

Actual state and next steps

Parts in wich the project is divided in and percentage of it that has been finished. Here you can also comment wich parts are still not finish and ask for collaborators.

Project's author

Walter Langelaar is a Dutch artist currently based in Rotterdam. His working interests include Open Source game engines, bot AI and neural networks, and "strange loops" through virtual and physical realities. He works with a wide variety of media - including computer games, hacked electronic devices, software, video, sculpture and performance -, and graduated from the Media Design MA course at the Piet Zwart Institute in 2007. His work has been internationally exhibited and he is a co-founder of the "moddr_" media lab at WORM, Rotterdam.

http://lowstandart.net

http://moddr.net

http://wormweb.nl

Collaborators

Julian Oliver :: conceptual feedback, AugmentedReality magician and vimtutor >> http://julianoliver.com

pix :: apt-get_101 and maintainer of sane build environment >> http://pix.test.at

critical feedback :: Eduardo Navas, artist and media researcher >> http://remixtheory.net

translocal;

Nancy Mauro-Flude :: original concept development and uncensored_data-queen >> http://sistero.org

Arjan Scherpenisse :: author of the original ioq3 webcam implement >> http://on-signal.org

Links

Interesting links, inspiration, useful guides, etc.



Categoría:Interactivos Categoría:Talleres

Personal tools