POIBOT ~ v0.5 Has arrived
:arrow: VERSION 0.6 OUT NOW ![]()
http://www.spherculism.com/help/poibot_009.html
Right, I've been busy programming this over christmas.
It's still got a long way to go but it's aleady got some great funcionality.
I've started you all off with a basic 3 beat weave.
From there you can:
Alter patterns in x,y,z axis (taken from 3dmax so no complaining about which is which!!!)
You can alter speed and spin direction of poi.
Change the maxBeat value, this determins how many half circles there are for 1 poi to do the whole pattern. ie 3 beat weave has maxBeat=6, 2 beat butterfly, maxBeat=4
Theres a slider for Isolate or giant variations
you can change the plane, wheel, wall, floor
And you can play with the pattern loader, which i'm still working on. This is where i'll put all the preset patterns for everyone.
See what you can do, 5bt Weave is pretty easy, isolated buzzsaw isn't too tough either.
ENJOY, feedback much needed,
¦m¦
- Facebook Like
- Log in or register to post comments



Comments
POIBOT ~ v0.5 Has arrived
great stuff .. wow I'm impressed 8O
.. more by this than by the parametric equations from NYC
gotta fiddle with it a bit to feedback you
POIBOT ~ v0.5 Has arrived
cheers olive,
i wanna hear what people can make it do.
Challenge:
Make poibot do a 3 beat butterfly
I really need to learn how to save the patterns to a text file on the server so that you can save and load other peoples experiments.
Anyone know how to save and load .txt. or .php files from Flash to my server? I vaguely know but it never seems to work.
m
POIBOT ~ v0.5 Has arrived
Nifty looking
Does indeed seem to need some work in some areas - changing the initial weave into wall plane doesn't actually give a wall plane weave for instance, but I'm very impressed and look forward to more funkiness 
POIBOT ~ v0.5 Has arrived
that's because the pattern is still in the x axis, if you transfer the pattern to the correct axis you'll get the 'move' you want
I'm gonna make a button so you can copy a pattern to a different axis, kinda like the shift buttons that move the pattern up and down beats.
Once the pattern loader is finished you'll be able to load stuff the way you want to.
m
POIBOT ~ v0.5 Has arrived
This is amazing.
You are a God.
Simple trick...
From a weave to a butterfly weave, just flip the red poi's "direction".
Took me two damn years of arguements to figure that one out and I could have gotten it in a second with this.
POIBOT ~ v0.5 Has arrived
That's F'ing awesome!
Must find time to play with it
:5
POIBOT ~ v0.5 Has arrived
Just got a 3beat TTN.
Damn.
I should go get some real work done.
POIBOT ~ v0.5 Has arrived
Matt- thats fantastic, a brilliant achievement- haven't played with it much but from what I've seen so far this has so much potential (and realised potential)
Now I've just got to get it working on my phone and I can plot patterns on the tube
Chut
POIBOT ~ v0.5 Has arrived
Cheers poiple, i love it too.
NYC: please send me any pattern you make. You can either press Ctrl + PrtSc (print screen copies what ever is on your monitor to the clipboard) then paste into a new file in photoshop (or similar) and save a a jpeg.
Or it might be easier to just tell me.eg
x-axis: ALL Lo
y-axis: hi, hi, lo, lo, mid, mid
z-axis: All Hi
or something like that
Today I managed to load variables from a txt file on my pc and hopefully by tonight i will have managed to save files to a new text file. Then you can just open the text file on the server (or your pc) and copy the text into a thread. or something
Anyone know how to use loadVars(object) in FlashMX ?????
m
POIBOT ~ v0.5 Has arrived
i wish i had a computer that played flash properly so i could play with this porpperly now. im gonna sneak onto my dads later and have a play there i think
sounds kicking though
although you do realise im not gonna be happy til its got style
you reckon its possible to program style? seems to me thats mostly what poi is about though.
maybe you could giveit a brain and it could learn style. i remember a while ago rev was telling me some science dudes had managed to link a few bbrain cells up to a flight simulator and eventually 'the brain' taught itself to fly. or i think thats how the story went...
POIBOT ~ v0.5 Has arrived
:5 :7 :5
Very nice! Good job! Revolutionizing the Poi world - once again
Ill have to play with it a little bit more ...
:idea:
POIBOT ~ v0.5 Has arrived
That is most impressive


POIBOT ~ v0.5 Has arrived
Realised last night that not only can poibot be easily modified for say staff or meteor, but it could also be altered for diablo, 2 diablo, or even contact juggling.
m
POIBOT ~ v0.5 Has arrived
Dude, that is awesome, plain and simple
POIBOT ~ v0.5 Has arrived
could you colour the persons body so you can see which hand would be holding which poi to see the leading hands and when arms are crossed etc?
POIBOT ~ v0.5 Has arrived
Will do, the arms will match the colour of the poi
POIBOT ~ v0.5 Has arrived
While you're at it can you make the poi disapear when they go behind the little man? it does it on the left view but not the front which means any reels look pointless.
And maybe an isometric view...? 8O
POIBOT ~ v0.5 Has arrived
does anybody else get a weird stop and flash when the pattern loops? Maybe it is because of mozilla... It shows up some weird shit over the top left and right guys too.
POIBOT ~ v0.5 Has arrived
I do too mcp.
other than that matt, excrement!! thats quality, will play more after revising! just tryin to work out what the lil XY + Z up dn thingys do lol
Jim
POIBOT ~ v0.5 Has arrived
screw isometric, i want perspective view with fully movable camera
left view was the first to have the person set to level 0 so the poi appear behind it. I'll hook up the other views too
POIBOT ~ v0.5 Has arrived
yeah meg, when it loops it reads the 7th beat for a sec and then loops. The original didn't then it picked up a glitch, easily sorted.
m
POIBOT ~ v0.5 Has arrived
looks great! With loadVars, you mean loadVars(url)? I might be able to help with that, it's been a while. Why not use xml instead? I can send you a wrapper class to use that makes using xml really easy in flash if you'd like. Send me a pm if you want matt. Great job tho, still needs some work(the math needs some refining), but is definitely a great start. Did you use a 3d to flash program(like swift or illustrate) to make some of the animations? Thanks for doing this.
POIBOT ~ v0.5 Has arrived
musashii: indeed i mean loadVars(url).
I want to send all the variables to a txt file on the server so that people can save pattterns they make.
Then I want to be able to load the variables back from that txt file so anyone can load any pattern.
that is, i don't wanna have to preset every combination and even if i did it would never be up to date. If everyone can update it all the time it'll be sweet
On another note. How possible do you think it will be to get poibot to define say "3 Beat Butterfly Weave" or "Isolated 5 Beat Buzzsaw Weave"???
I mean if it knows all the variables (eg poi going in same directions, split time etc) and it knows the pattern for each axis. Surely it can say what that pattern is ~ if we got the system right it might even clear up a lot of conversations about what moves are what.
just a thought,
Working on a slightly updates version with a "Randomise All" button, i'll upload it before i go home tonight.
¦m¦
POIBOT ~ v0.5 Has arrived
randomise is wicked, you're gonna love what poibot can do
gonna code a random freestyle mod
POIBOT ~ v0.5 Has arrived
just put some basic arms on the bugger
POIBOT ~ v0.5 Has arrived
http://www.spherculism.com/help/poibot_009.html
Click the link above for new version of poibot v0.6, now with arms (kinda)
:47 :47 :47 :47 :47 :47 :47
Randomise All: This button will randomise every variable including speed, direction and isolation/giant.
Freestyle On/Off: This button randomises the previous beat so next time that beat repeats it will be different. Infinite, random freestyle
You can then tweak the slider setting to get a proper pattern.
My mate Rikets called me while i was making this, he tells me he has a degree in artificial inteligence and "Please can i put some AI in poibot, let it make decisions for itself"
I'll be meeting up with Mr Rikets to discuss
enjoy,
¦m¦
POIBOT ~ v0.5 Has arrived
SICK
AS
FUCK
POIBOT ~ v0.5 Has arrived
Those arms look pretty uncomfortable

Could you possibly have an option to switch the path from following directly from one input to the next, to following a kind of fitted curve drawn out by the inputs? It might make it look a bit less 'robotic', not that it's always a bad thing...
POIBOT ~ v0.5 Has arrived
StoneT you're totally right
At the moment if say a hand moves from left to right it follows a straight line graph. I think it's probably more like a sine wave, ie the motion starts slow, accelerates toward the center then slows down near where it stops.
Perhaps by altering how it goes from point to point we could add a little style??? Robotic Or Flow
m
POIBOT ~ v0.5 Has arrived
horizontal / floor plane is a bit fucked....
POIBOT ~ v0.5 Has arrived
Fantastic


POIBOT ~ v0.5 Has arrived
Hey matt i love it man. I like the idea and i see you have a great love for programming Flash MX Just like me.
I would love to help you with it ill show you some of the stuff i made.
Latest Game...Volcano Runner :: http://img122.exs.cx/my.php?loc=img122&image=bouncermxfinalagain0vb.swf
Easing :: http://img122.exs.cx/my.php?loc=img122&image=easing2qy.swf
Easing Varation :: http://img122.exs.cx/my.php?loc=img122&image=easing16tp.swf
Another Varation :: http://img122.exs.cx/my.php?loc=img122&image=easingrandom6au.swf
I also love API. Thats where you make thinkgs using only code. Here check these out. Just copy and paste straight into your actions panel
Change Background Colour to BLACk
Change FPS to 25
Change Stage Width to 550 and Height to 100
Copy and paste
[code:1]
) {
sw = Stage.width;
sh = Stage.height;
side = 12.7;
function addBo
addedBox = createEmptyMovieClip("box"+i, i++);
addedBox.lineStyle(1, 0xFFFFFF, 0);
addedBox.beginFill(Math.random()*0xFFFFFF);
addedBox.lineTo(side, 0);
addedBox.lineTo(side, side);
addedBox.lineTo(0, side);
addedBox.lineTo(0, 0);
addedBox.endFill();
addedBox._x = sw-30;
addedBox._y = Math.random()*sh;
addedBox._rotation = Math.random()*180;
addedBox.xspeed = Math.random()*3+7;
addedBox.yspeed = Math.random();
addedBox.rotation = Math.random()*5+10;
addedBox.up = Math.random()*1<0.5;
addedBox.left = Math.random()*1<0.5;
addedBox.onEnterFrame = function() {
this._x -= this.xspeed;
this.up ? this._y += this.yspeed : this._y -= this.yspeed;
this.left ? this._rotation += this.rotation : this._rotation -= this.rotation;
if (this._x<0) {
this.removeMovieClip();
}
};
}
setInterval(addBox, 100);
[/code:1]
A Varation to this is
[code:1]
) {
sw = Stage.width;
sh = Stage.height;
side = 12.7;
function addBo
addedBox = createEmptyMovieClip("box"+i, i++);
addedBox.lineStyle(1, 0xFFFFFF, 0);
addedBox.beginFill(Math.random()*0xFFFFFF);
addedBox.lineTo(side, 0);
addedBox.lineTo(side, side);
addedBox.lineTo(0, side);
addedBox.lineTo(0, 0);
addedBox.endFill();
addedBox._x = sw-30;
addedBox._y = Math.random()*sh;
addedBox._rotation = Math.random()*180;
addedBox.xspeed = Math.random()*3+7;
addedBox.yspeed = Math.random();
addedBox.rotation = Math.random()*5+10;
addedBox.up = Math.random()*1<0.5;
addedBox.left = Math.random()*1<0.5;
addedBox.onEnterFrame = function() {
this._alpha -= 1.75;
this._x -= this.xspeed;
this.up ? this._y += this.yspeed : this._y -= this.yspeed;
this.left ? this._rotation += this.rotation : this._rotation -= this.rotation;
if (this._x<0 || this._alpha<=0) {
this.removeMovieClip();
}
};
}
setInterval(addBox, 100);
[/code:1]
Another Varation which looks cool is
[code:1]
) {
sw = Stage.width;
sh = Stage.height;
side = 12.7;
aa = Math.random()*6;
ab = Math.random()*6;
ac = Math.random()*6;
function addBo
addedBox = createEmptyMovieClip("box"+i, i++);
addedBox.lineStyle(1, 0xFFFFFF, 0);
addedBox.beginFill(col);
addedBox.lineTo(side, 0);
addedBox.lineTo(side, side);
addedBox.lineTo(0, side);
addedBox.lineTo(0, 0);
addedBox.endFill();
addedBox._x = sw-30;
addedBox._y = Math.random()*sh;
addedBox._rotation = Math.random()*180;
addedBox.xspeed = Math.random()*3+7;
addedBox.yspeed = Math.random();
addedBox.rotation = Math.random()*5+10;
addedBox.up = Math.random()*1<0.5;
addedBox.left = Math.random()*1<0.5;
addedBox.onEnterFrame = function() {
this._x -= this.xspeed;
this.up ? this._y += this.yspeed : this._y -= this.yspeed;
this.left ? this._rotation += this.rotation : this._rotation -= this.rotation;
if (this._x<0) {
this.removeMovieClip();
}
};
}
setInterval(addBox, 100);
_root.onEnterFrame = function() {
red = Math.sin(aa += .02)*127+128;
green = Math.sin(ab += .05)*127+128;
blue = Math.sin(ac += .09)*127+128;
col = red << 16 | green << 8 | blue;
};
[/code:1]
Those are a few i have loads more varations.
Heres a few more
Change Background Colour to BLACk
Change FPS to 30
Change Stage Width and Height to anything you want
[code:1]
sw = Stage.width;
sh = Stage.height;
aa = Math.random()*6;
ab = Math.random()*6;
ac = Math.random()*6;
i = 0;
function shapecreate() {
shapey = createEmptyMovieClip("shape"+i, i);
red = Math.sin(aa += .02)*127+128;
green = Math.sin(ab += .05)*127+128;
blue = Math.sin(ac += .09)*127+128;
col = red << 16 | green << 8 | blue;
with (shapey) {
i++;
lineStyle(Math.random()*5+10, col, Math.random()*50+50);
moveTo(Math.random()*sw, Math.random()*sh);
lineTo(Math.random()*sw, Math.random()*sh);
shapey.onEnterFrame = function() {
_alpha -= 2;
if (_alpha<=0) {
removeMovieClip(this);
}
};
}
}
setInterval(shapecreate, 100);
[/code:1]
Also I was bored so i made a few text tools.
A program which counts the number of letterts in some text :: http://img122.exs.cx/my.php?loc=img122&image=codewordcount1at.swf
And a program which does all the ceaser shifts to some text :: http://img122.exs.cx/my.php?loc=img122&image=ciphershifterfinished5xn.swf
Well thats it i have loads more experiments to show but it would take up to much time. so thats it.
If you like anything contact me at
Hope you like it
~Amish
POIBOT ~ v0.5 Has arrived
Hey Amish, that stuff's really cool. I've got a load of flash experiments, i'l dig them out and stick them on line somewhere.
I do love a bit of actionscipt. I'll make the fla file available when i've tidied it up a bit.
Started learning director so i can make a fully 3d version of poibot, so there probably won't be any more tweaks to poibot v0.6 in flash, youll have to wait for v1.0 in shockwave.
As for the horizontal plane, the problem is that poibot is way too tall
m
POIBOT ~ v0.5 Has arrived
Matt, that's fuckin' awesome.
I'm Natas, a buddy of Matt(NYC). I did 3D computer graphics and virtual reality programming for 7 years. So if you need any help with the 3D algorithms, let me know.
Getting the arms to move naturally is a pretty tough problem (solving multiple simultaneous equations with constraints), but doing the move from the text description is doable, just need a little parser with the basic patterns defined.
Adding some trails of variable length would be cool to see where the poi have been, to look sort of like zuni poi, or those trails you see when you're.... yeah, whatever.
Damn nice work!
Find me on AIM if you wanna chat
POIBOT ~ v0.5 Has arrived
yeah man id love to share ideas. I cant wait.
Also where are you learning director is it the same as flash or harder. I would love to learn it.
POIBOT ~ v0.5 Has arrived
I think Director's harder, at least in the programming environment, Lingo is alot more difficult to use than javascript.
Hey matt, it looks like Shockwave understands IK rigging from 3ds max, so in theory you should be able to import your constraints from your IK rig, just means a little less programming in the end. If you need a fully rigged human body, I'm probrably not the only person here you could get one from, from the sounds of things
This page also has a link to the shockwave export plugin for 3ds max.
http://www.macromedia.com/devnet/mx/director/articles/char_anim.html
main index page
http://www.macromedia.com/support/director/work_3d/models_use_in_sw/index.html
Ahh, here we go. Lingo Bones, an api to program Bone rigs. That seems to be what you'll need for director.
here's the entire scripting ref, I found lingo bones buried in the 3d objects area
http://livedocs.macromedia.com/director/mx2004/release_update_en/wwhelp/wwhimpl/js/html/wwhelp.htm?href=20_3d_a3.htm
Hope this helps, you may well already be past this :twisted:
POIBOT ~ v0.5 Has arrived
ImmortalAngel said about the juggling simulator a while back
"That was the sole most amazing computer simulation program I have ever seen...
And yes, the cries of joy will be heard all over the world the day we get one of those for Poi."
I heard those cries
POIBOT ~ v0.5 Has arrived
musashii ~ i've been getting busy with director and it ain't so tricky. We've made a little 3d driving game. You get to drive a tortoise around a track that was used in a recent hotwheels game (my flatmate works in the games industry doing 3d models and texturing) the track detects collisions with the tortoise and there's even a couple of jumps. It's wicked.
I've been playing with the Havok engine too. Which simulates real world physics amazingly well.
check this site out:
http://www.fbe.unsw.edu.au/Learning/Director/3D/Havok/
Making a boned character in max is not too difficult, adding the relavent physics is about as difficult as picking 'havok' from a list
I'm hopefully gonna be landing a sweet freelance job using director ~ fingers crossed everyone. If this work comes about i'll have to learn lingo very quickly and poibot 3d will come about pretty soon after that.
¦
¦
POIBOT ~ v0.5 Has arrived
Wow... Someone had a lot of time on their hands... *lol at the irony*
Very pretty. Well done! :5 :5 :5
POIBOT ~ v0.5 Has arrived
ahh, thats great man..I was wondering wtf Havok was until I saw that reactor is made by havok. Pretty nifty that you can import all of those physics dirtectly from 3ds. Reactor's a great plugin
Does the latest version of director allow you to script with languages other than Lingo?
POIBOT ~ v0.5 Has arrived
You can use javascript too, which is very similar to actionscript but i'm trying to learn lingo.
Last night i managed to make a poi (torus for a handle, 5 cylinders for the sock and a sphere for the head). Bone it together with dampened springs and apply the physics.
It's wicked, moves aroung in 3d very much like a poi moves ~ well, i very stretchy poi being spun in treacle but pretty close and totally interactive, i.e you can click and drag any part of it and the rest moves as you would expect.
Very cool indeed.
¦m¦
POIBOT ~ v0.5 Has arrived
I think the one advantage that javascript over lingo is how it's a bit more object oriented, one big preference for me anyways. You have it rendered in shockwave?? heh, you definitely get props for adding the stretchiness of socks. Hyperloops will be a bitch to implement methinks
POIBOT ~ v0.5 Has arrived
shockwave automatically detects collisions in 3d, hyperloops and wraps are not too hard
I've a feeling that the only difference in director between using lingo or javascript is the syntax but it's nice they've added that option.
POIBOT ~ v0.5 Has arrived
1st damn
2nd DAMN
looks awsome matt
can u make it downloadable?
iv can only use it for a min before the browser cuts out and i lose whatever iv been simulating. also some times the arms fuck up (they go through each other) no biggie tho.
yeah once some of us get used to using it then it won't be 2 long before we nail all the basic patterns.
nice work
POIBOT ~ v0.5 Has arrived
Yeah, it can be downloadable, in fact if you have used it on your pc then you have already downloaded it
try searching for 'poibot'.
That's weird that it turns off after a while tho. Which internet browser are you using? Spherculism runs best (as do most things) on Mozilla Firefox.
But if you just find the file on your puter then it should work fine, or of course you could 'make available offline'
Just need to find an easy way of allowing you guys to upload patterns. My flash skills aren't yet good enough to upload patterns to the server. How about if poibot just spits out a load of text on the screen which you can copy and paste into a thread on the forum, then if you wanna check out that pattern you could just copy it and paste it into poibot ~ not a very elegant way of doing it but at least it would be a start. I'm learning how to integrate flash and php at the moment on another project so it shouldn't be too long before i can code a better method.
enjoy,
matt
POIBOT ~ v0.5 Has arrived
Well Damn! 8O
This is so sweet! Just found it as I seemed to miss it while on my holiday!
Great work!
***Garth hangs head in shame cause he said he'd do something like this and never got around to it***
Sooo Much better That I caould have done. You have the programming skills and the artistic talent. My programs always look like crap and I never finish them!
No we just need an addon that translates Revs posts to moves on the poibot!
(Just kidding Rev
I'm starting to understand some of your posts now after finding my own way there. Still way behind you but looking back on some of those earlier posts I got confused on I'm starting to see the light. Anti spin rocks!
Although you have moved on since then! )
Nice work Matt!
POIBOT ~ v0.5 Has arrived
cheers garthy, I love flash cos you can do the coding then add whatever graphics you like to it very easily, wouldn't be hard to cut out my face, torso, arms and legs and stick them on.
you might be able to help tho.
I need to figure a way that poiple can play with poibot then save what they've done to the server.
Then anyone else can load the script.
I figure saving a big array of all the variables to a txt file on the server, i think i can do it but i've never tried ~ found a great tutorial on similar stuff tho.
Take it easy, sorry i couldn't make it to bristol for your birthday, gutted i missed it actually.
m
POIBOT ~ v0.5 Has arrived
Hey mat you wouldnt by an chance want to release the fla for poi bot would you. You knwo so we or i could take apeek at the programming??
POIBOT ~ v0.5 Has arrived
I will do once it's in a good state to release, at the moment loads of it needs to be put into functions and generally tidied up, plus i'll go through and put a few useful comments in it.
I opened it up the other day and had absolutely no idea how it worked
What kind of coding do you do? I only ever learnt a tiny bit of pascal and even less c++ and then self taught actionscript, so my code's pretty messy generally but i'm getting better.
m
POIBOT ~ v0.5 Has arrived
how did i miss this shit?!!??
matt, you seriously rock dude
cole. x
Pages