Q3osc: works

From CCRMA Wiki
Revision as of 22:43, 11 May 2008 by Rob (Talk | contribs) (Instructions)

Jump to: navigation, search
shot0041a.jpg

q3osc is a heavily modified version of the ioquake3 gaming engine featuring an integrated oscpack implementation of Open Sound Control for bi-directional communication between a game server and a multi-channel ChucK audio server. By leveraging ioquake3’s robust physics engine and multiplayer network code with oscpack’s fully-featured OSC specification, game clients and previously unintelligent in-game weapon projectiles can be repurposed as behavior-driven independent OSC-emitting virtual sound-sources spatialized within a multi-channel audio environment for real-time networked performance.


Quintet: 5 for 4

Quintet: 5 for 4 is an improvisatory etude written for the Stanford Laptop Orchestra using q3osc and ChucK.


Files

q3osc Installer: [q3osc.zip]

Quintet ChucK script: [quintet.ck]

Instructions

TO LAUNCH:

Type "q3osc" to launch bash script in /Users/slork/slork/scripts/

	"q3osc <user-number> <sounding-radius> <host-ip>"

e.g.:
 
 	shabushabu:~ slork$ q3osc 3 900 10.0.1.189
 
 		- calls "chuck -c8 /Users/slork/slork/users/rob/q3osc/quintet.ck:3:900
 		- launches /Applications/OpenArena and connects to ip address 10.0.1.189 on default port 27660
 		- exec's a specific config file for each performer based on their user number:
 			1:	pspeed.cfg
 			2:	gspeed.cfg
 			3:	hspeed.cfg
 			4:	gravity.cfg
 
 example call: /Applications/OpenArena.app/Contents/MacOS/ioquake3.ub connect 10.0.1.189:27660




1) Double-click

To copy updated files to clients:


scp quintet.ck snickers.local:~/slork/users/rob/q3osc/ scp quintet.ck xiaolongbao.local:~/slork/users/rob/q3osc/ scp quintet.ck padthai.local:~/slork/users/rob/q3osc/ scp quintet.ck transfat.local:~/slork/users/rob/q3osc/ scp quintet.ck seventeen.local:~/slork/users/rob/q3osc/

Running clients:


NOTE: client 0 = center, clients 1-4 are respectively top, right, bottom, left

chuck -c8 ~/slork/users/rob/q3osc/quintet.ck:0:900 chuck -c8 ~/slork/users/rob/q3osc/quintet.ck:1:1000 chuck -c8 ~/slork/users/rob/q3osc/quintet.ck:2:1000 chuck -c8 ~/slork/users/rob/q3osc/quintet.ck:3:1000 chuck -c8 ~/slork/users/rob/q3osc/quintet.ck:4:1000


Key-Commands


Settings are stored in q3config.cfg file located in ~/slork/Application\ Support/OpenArena/ccrma/

(w) move forwards (s) move backwards (a) strafe left (b) strafe right (SPACE) jump (c) crouch

(8) select plasma gun (9) select bfg

(b) toggle Plasma Bounce on/off (n) toggle BFG Bounce on/off (y) toggle Plasma Persist on/off

(h) toggle Homing on/off (p) toggle Parent Homing on/off (j) toggle Parent Homing Only on/off (u) toggle BFG Homing on/off (i) toggle Plasma Homing Persist on/off (o) toggle BFG Homing Persist on/off

(v) toggle client weapon damage on/off

Each client uses number keys 1-7 to control different attributes of the game world:

/bind 1 rcon g_plasma_speed 10 /bind 2 rcon g_plasma_speed 100 /bind 3 rcon g_plasma_speed 500 /bind 4 rcon g_plasma_speed 1000 /bind 5 rcon g_plasma_speed 3000

(1) Set Plasma speed to 10 (2) Set Plasma speed to 100 (3) Set Plasma speed to 500 (4) Set Plasma speed to 1000 (5) Set Plasma speed to 3000

/bind 1 rcon g_speed 10 /bind 2 rcon g_speed 100 /bind 3 rcon g_speed 500 /bind 4 rcon g_speed 1000 /bind 5 rcon g_speed 3000

(1) Set client speed to 10 (2) Set client speed to 100 (3) Set client speed to 500 (4) Set client speed to 1000 (5) Set client speed to 3000


/bind 1 rcon g_gravity 10 /bind 2 rcon g_gravity 100 /bind 3 rcon g_gravity 500 /bind 4 rcon g_gravity 1000 /bind 5 rcon g_gravity 3000

(1) Set world gravity to 10 (2) Set world gravity to 100 (3) Set world gravity to 500 (4) Set world gravity to 1000 (5) Set world gravity to 3000

(') Take snapshot (saves to ~/slork/Library/Application\ Support/OpenArena/ccrma/screenshots/)


At start of game press fn+F1-4 where # is the same as the number you enter on the command line:


Player 1: /bind F1 "exec pspeed.cfg" Player 2: /bind F2 "exec gspeed.cfg" Player 3: /bind F3 "exec hspeed.cfg" Player 4: /bind F4 "exec gravity.cfg"