Jump to content

Meet The Flockers


Marleys Ghost
 Share

Recommended Posts

A small demo of swarming 3D qboids in LE2.

 

This is a slow motion video capture of how the rules effect the behaviour:

 

 

 

Controls

Cohesion - Q increase - A decrease

Alignment - W increase - S decrease

Separation - E increase - D decrease

Reset qBoids - R

qBoids - T increase - G decrease

 

you will need to Reset the qBoids for a change in number to take effect. All other settings are realtime.

The B key will toggle on and off the outline of the confinement volume, and the Z key toggles an application speed attenuation function which attempts to keep the qboids moving at roughly the same speed no matter how many (min 10 - max 250).

 

This is basically a proof of concept WIP.

 

For more information about this file:

http://www.leadwerks...t-the-flockers/

 

 

 

 

Rev 00

 

 

Rev 01

 

  • Upvote 3

AMD Bulldozer FX-4 Quad Core 4100 Black Edition

2 x 4GB DDR3 1333Mhz Memory

Gigabyte GeForce GTX 550 Ti OC 1024MB GDDR5

Windows 7 Home 64 bit

 

BlitzMax 1.50 • Lua 5.1 MaxGUI 1.41 • UU3D Pro • MessiahStudio Pro • Silo Pro

3D Coat • ShaderMap Pro • Hexagon 2 • Photoshop, Gimp & Paint.NET

 

LE 2.5/3.4 • Skyline UE4 • CE3 SDK • Unity 5 • Esenthel Engine 2.0

 

Marleys Ghost's YouTube Channel Marleys Ghost's Blog

 

"I used to be alive like you .... then I took an arrow to the head"

Link to comment
Share on other sites

@Mack: Thanks m8, working on your fish now lol

 

@Roland: Thanks and no, I did not read his papers but I did read one of his webpages, and another by Conrad Parker just to get a written definition of the rules down, I explain why I did it that way on my blog, as technical reading was the last thing on my "must do list" yesterday morning after a "busy" Saturday night lol ...

AMD Bulldozer FX-4 Quad Core 4100 Black Edition

2 x 4GB DDR3 1333Mhz Memory

Gigabyte GeForce GTX 550 Ti OC 1024MB GDDR5

Windows 7 Home 64 bit

 

BlitzMax 1.50 • Lua 5.1 MaxGUI 1.41 • UU3D Pro • MessiahStudio Pro • Silo Pro

3D Coat • ShaderMap Pro • Hexagon 2 • Photoshop, Gimp & Paint.NET

 

LE 2.5/3.4 • Skyline UE4 • CE3 SDK • Unity 5 • Esenthel Engine 2.0

 

Marleys Ghost's YouTube Channel Marleys Ghost's Blog

 

"I used to be alive like you .... then I took an arrow to the head"

Link to comment
Share on other sites

That is awesome MG, great job.

 

 

Thanks Paul, it's a lot more stable now than my first "early Sunday morning" draft version when all the flocking flockers flocked off ... rolleyes.gif

AMD Bulldozer FX-4 Quad Core 4100 Black Edition

2 x 4GB DDR3 1333Mhz Memory

Gigabyte GeForce GTX 550 Ti OC 1024MB GDDR5

Windows 7 Home 64 bit

 

BlitzMax 1.50 • Lua 5.1 MaxGUI 1.41 • UU3D Pro • MessiahStudio Pro • Silo Pro

3D Coat • ShaderMap Pro • Hexagon 2 • Photoshop, Gimp & Paint.NET

 

LE 2.5/3.4 • Skyline UE4 • CE3 SDK • Unity 5 • Esenthel Engine 2.0

 

Marleys Ghost's YouTube Channel Marleys Ghost's Blog

 

"I used to be alive like you .... then I took an arrow to the head"

Link to comment
Share on other sites

Very nice, would emulate shoals of fish well

 

Thanks Pix, yeah fish shoals are working .. had a small glitch in the mesh alignment function .. but had a little time today so rectified that.

 

 

@Diedir & Ken: Thanks, it's still very much a WIP.

AMD Bulldozer FX-4 Quad Core 4100 Black Edition

2 x 4GB DDR3 1333Mhz Memory

Gigabyte GeForce GTX 550 Ti OC 1024MB GDDR5

Windows 7 Home 64 bit

 

BlitzMax 1.50 • Lua 5.1 MaxGUI 1.41 • UU3D Pro • MessiahStudio Pro • Silo Pro

3D Coat • ShaderMap Pro • Hexagon 2 • Photoshop, Gimp & Paint.NET

 

LE 2.5/3.4 • Skyline UE4 • CE3 SDK • Unity 5 • Esenthel Engine 2.0

 

Marleys Ghost's YouTube Channel Marleys Ghost's Blog

 

"I used to be alive like you .... then I took an arrow to the head"

Link to comment
Share on other sites

Very nice, would emulate shoals of fish well

 

 

AMD Bulldozer FX-4 Quad Core 4100 Black Edition

2 x 4GB DDR3 1333Mhz Memory

Gigabyte GeForce GTX 550 Ti OC 1024MB GDDR5

Windows 7 Home 64 bit

 

BlitzMax 1.50 • Lua 5.1 MaxGUI 1.41 • UU3D Pro • MessiahStudio Pro • Silo Pro

3D Coat • ShaderMap Pro • Hexagon 2 • Photoshop, Gimp & Paint.NET

 

LE 2.5/3.4 • Skyline UE4 • CE3 SDK • Unity 5 • Esenthel Engine 2.0

 

Marleys Ghost's YouTube Channel Marleys Ghost's Blog

 

"I used to be alive like you .... then I took an arrow to the head"

Link to comment
Share on other sites

Very impressive!

It's like JFK announcing the moon mission. He had no expertise in space travel, and no way of knowing if it would work. He just announced "we're going to the moon" and then they made it happen because everyone was on the same page and working towards the same goal. If he had said "well, let's get some people in space, and we'll see how far out we can get, and if I find someone to make a rocket strong enough, we could possibly approach the moon's orbit and maybe land" it wouldn't have happened.
Link to comment
Share on other sites

@Pix, Aggror & knowledgegranted: Thanks, I had a request for the exe that I used in the "Fish" video, it became a little more complex since that was recorded, as its now a small app I use to check for bottlenecks in the code and avenues for operational speed improvements. If I find time today I will update the demo.

AMD Bulldozer FX-4 Quad Core 4100 Black Edition

2 x 4GB DDR3 1333Mhz Memory

Gigabyte GeForce GTX 550 Ti OC 1024MB GDDR5

Windows 7 Home 64 bit

 

BlitzMax 1.50 • Lua 5.1 MaxGUI 1.41 • UU3D Pro • MessiahStudio Pro • Silo Pro

3D Coat • ShaderMap Pro • Hexagon 2 • Photoshop, Gimp & Paint.NET

 

LE 2.5/3.4 • Skyline UE4 • CE3 SDK • Unity 5 • Esenthel Engine 2.0

 

Marleys Ghost's YouTube Channel Marleys Ghost's Blog

 

"I used to be alive like you .... then I took an arrow to the head"

Link to comment
Share on other sites

Ok, heres a demo of the app I am currently using in my testing for those that have shown interest, its not that user freindly interface wise, but it was not written with "public" release in mind.

 

Rules:

 

Cohesion - Boids try to fly towards the average position of local flockmates in a given radial volume of 3D space

 

Separation - Boids try to keep a small distance away from other local flockmates in a given radial volume of 3D space

 

Alignment - Boids try to match velocity with other local flockmates in a given radial volume of 3D space, velocity is speed in a given direction.

 

Keys 1 -7 Change Boid Mesh

 

1 - qBoid

2 - Poly Arrow

3 - Fish

4 - Butterfly

5 - Seagull

6 - Parrot

7 - Shark

 

Controls:

 

Cohesion Radius - Q increase - A decrease

Alignment Radius - W increase - S decrease

Separation Radius - E increase - D decrease

 

Reset Boids - R

 

Number of Boids - T increase - G decrease (min 10 - max 500)

 

You will need to Reset - R - the Boids for a change in the number of Boids to take effect.

 

Boid Max Velocity - Y increase - H decrease - N Apply

Boid Max Turnig Force - U increase - J decrease - M Apply

 

Max Velocity and Max Turning Force are not realtime adjustments and need to be applied to take effect, as they are tied in directly to the individual Boid Type structure which I will be using later for some additional individual behavioural functionality.

 

Update Cycle - I increase - K decrease

 

The update cycle changes how many cycles have to pass before calls to the update Boids functions are made. When set to 1 this means every update cycle, 2 means every other update cycle and so on.

 

Animation Speed - O increase - L decrease

 

For those Boid meshs that have animations, this will increase and decrease the playback speed in realtime.

 

The B key will toggle on and off the outline of the confinement volume, and the Z key toggles an application speed attenuation function which attempts to keep the Boids moving at roughly the same speed no matter how many, this will have very little or no effect when Vsync is on.

 

Toggles:

 

Z - Attenuation

X - Wireframe Mode

C - AntiAlias

V - VSync

B - Outline of the confinement volume

P - Mesh Freedom

 

Mesh Freedom changes the rotational constraints of the Boid mesh "Pitch - Roll - Yaw" means it can rotate about all axes (X,Y,Z), "Yaw Only" means it will only rotate left and right (Y axis)

 

 

 

AMD Bulldozer FX-4 Quad Core 4100 Black Edition

2 x 4GB DDR3 1333Mhz Memory

Gigabyte GeForce GTX 550 Ti OC 1024MB GDDR5

Windows 7 Home 64 bit

 

BlitzMax 1.50 • Lua 5.1 MaxGUI 1.41 • UU3D Pro • MessiahStudio Pro • Silo Pro

3D Coat • ShaderMap Pro • Hexagon 2 • Photoshop, Gimp & Paint.NET

 

LE 2.5/3.4 • Skyline UE4 • CE3 SDK • Unity 5 • Esenthel Engine 2.0

 

Marleys Ghost's YouTube Channel Marleys Ghost's Blog

 

"I used to be alive like you .... then I took an arrow to the head"

Link to comment
Share on other sites

Thanks Mack, once I get the basic flocking streamlined I can then think about adding other behaviours, next on the list though is to tie in the individual Boids velocity magnitude and acceleration to the animated Boids animation speed.

AMD Bulldozer FX-4 Quad Core 4100 Black Edition

2 x 4GB DDR3 1333Mhz Memory

Gigabyte GeForce GTX 550 Ti OC 1024MB GDDR5

Windows 7 Home 64 bit

 

BlitzMax 1.50 • Lua 5.1 MaxGUI 1.41 • UU3D Pro • MessiahStudio Pro • Silo Pro

3D Coat • ShaderMap Pro • Hexagon 2 • Photoshop, Gimp & Paint.NET

 

LE 2.5/3.4 • Skyline UE4 • CE3 SDK • Unity 5 • Esenthel Engine 2.0

 

Marleys Ghost's YouTube Channel Marleys Ghost's Blog

 

"I used to be alive like you .... then I took an arrow to the head"

Link to comment
Share on other sites

ok, a small revision for those that have shown interest. I had an hour to kill so have added dynamic animation speed to the shark mesh. Each individual Boids swimming animation speed is now controlled as a function of that Boids velocity vector magnitude with respect to the Boids maximum allowed movement speed, basically the faster the Boid goes the faster the mesh "swims". The only difference to the controls in the app is that when the shark mesh is selected (number key 7) the "Animation Speed" adjustment will be for the maximum animation speed possible. All other Boid meshes remain the same for the moment.

 

Controls

 

 

 

AMD Bulldozer FX-4 Quad Core 4100 Black Edition

2 x 4GB DDR3 1333Mhz Memory

Gigabyte GeForce GTX 550 Ti OC 1024MB GDDR5

Windows 7 Home 64 bit

 

BlitzMax 1.50 • Lua 5.1 MaxGUI 1.41 • UU3D Pro • MessiahStudio Pro • Silo Pro

3D Coat • ShaderMap Pro • Hexagon 2 • Photoshop, Gimp & Paint.NET

 

LE 2.5/3.4 • Skyline UE4 • CE3 SDK • Unity 5 • Esenthel Engine 2.0

 

Marleys Ghost's YouTube Channel Marleys Ghost's Blog

 

"I used to be alive like you .... then I took an arrow to the head"

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...