I'm not actually sure why your code doesn't work, but it seems the effects block is not your original block.
Anyway, by using code that works directly on the effects block, I got your circles to move. See the code in the TIME block...
REBOL []
block: copy []
x: [100 200 300]
y: [50 200 100]
r: [50 70 90]
place: [0x0 0x0 0x0 ]
for i 1 3 1 [
place/(i): as-pair (x/(i)) (y/(i))
append block compose [
circle (place/(i)) (r/(i))
]
]
view layout [
box black 400x400 effect reduce ['draw block] rate 30 feel [
engage: func [face action event][
switch action [
time [
; for i 1 3 1 [
; place/(i)/x: place/(i)/x + 1
; ]
effect-blk: face/effect/2
forskip effect-blk 3 [
effect-blk/2/x: effect-blk/2/x + 1
]
show face
]
]
]
]
]
Incidentally, REBOL's FOR is very slow (or at least was before View1.3.) If you can, it's better to use REPEAT. I think tests showed it was about ten times faster!
Umm, yeah - not been changed...
>> t: now/time/precise repeat i 1000000 [] print now/time/precise - t
0:00:00.11
>> t: now/time/precise for i 1 1000000 1 [] print now/time/precise - t
0:00:04.78
And I was rather kind on the "ten times"... :-) Your milage might differ...