Jump to content

"SciFi Interior Construction Kit" by Admin

Meet The Flockers


#1
Marleys Ghost

Marleys Ghost
  • Developer
  • 2,062 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/


Attached File  LE2_qBoids Demo.zip   1.65MB   109 downloads

Rev 00
Attached File  Flockers.zip   4.09MB   95 downloads

Rev 01
Attached File  Flockers Rev 01.zip   4.09MB   123 downloads
AMD Bulldozer FX-4 Quad Core 4100 Black Edition
2 x 2GB DDR3 1333Mhz Memory
Gigabyte GeForce GTX 550 Ti OC 1024MB GDDR5
Windows XP Home SP3

BlitzMax 1.45 • C++
MaxGUI 1.41 • UU3D Pro • MessiahStudio Pro • Silo Pro
AC3D • ShaderMap Pro • 3DWS • ADN - Gimp & Paint.NET

LE 2.5 • Project Anarchy
UDK • CE3 SDK • Unity 4.2.0 • 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"

#2
macklebee

macklebee
  • Developer
  • 2,490 posts
cool stuff MG... Posted Image
Win7 64bit / Intel i7-2600 CPU @ 3.9 GHz / 16 GB DDR3 / NVIDIA GeForce GTX 590
LE / 3DWS / BMX / Hexagon

macklebee's channel

#3
Roland

Roland
  • Developer
  • 1,061 posts
Impressive. You really got the boids flowing. Are you using Craig Reynolds papers from 1987? I started with that one, but like with many other things I didn't finnish it. Congratulations, really great for birds.
Posted Image
Windows - Leadwerks 3.x full

#4
Marleys Ghost

Marleys Ghost
  • Developer
  • 2,062 posts
@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 2GB DDR3 1333Mhz Memory
Gigabyte GeForce GTX 550 Ti OC 1024MB GDDR5
Windows XP Home SP3

BlitzMax 1.45 • C++
MaxGUI 1.41 • UU3D Pro • MessiahStudio Pro • Silo Pro
AC3D • ShaderMap Pro • 3DWS • ADN - Gimp & Paint.NET

LE 2.5 • Project Anarchy
UDK • CE3 SDK • Unity 4.2.0 • 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"

#5
Paul Thomas

Paul Thomas
  • Developer
  • 299 posts
That is awesome MG, great job.

#6
Pixel Perfect

Pixel Perfect
  • Members
  • 2,028 posts
Very nice, would emulate shoals of fish well
Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro,  Shader Map Pro. Development language: C/C++

#7
diedir

diedir
  • Developer
  • 164 posts
very impressive great job MG, as often...
I7 - 16Go - W8.1 - GTX770

#8
Road Kill Kenny

Road Kill Kenny
  • Developer
  • 642 posts
Hehe that is pretty cool...

It reminds me of an old 2D game called Liquid Wars
STS - Scarlet Thread Studios
AKA: Engineer Ken

Fact: Game Development is hard... very bloody hard.. If you are not prepared to accept that.. Please give up now!

#9
Marleys Ghost

Marleys Ghost
  • Developer
  • 2,062 posts

View PostPaul Thomas, on 06 February 2012 - 07:39 PM, said:

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 ... Posted Image
AMD Bulldozer FX-4 Quad Core 4100 Black Edition
2 x 2GB DDR3 1333Mhz Memory
Gigabyte GeForce GTX 550 Ti OC 1024MB GDDR5
Windows XP Home SP3

BlitzMax 1.45 • C++
MaxGUI 1.41 • UU3D Pro • MessiahStudio Pro • Silo Pro
AC3D • ShaderMap Pro • 3DWS • ADN - Gimp & Paint.NET

LE 2.5 • Project Anarchy
UDK • CE3 SDK • Unity 4.2.0 • 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"

#10
Marleys Ghost

Marleys Ghost
  • Developer
  • 2,062 posts

View PostPixel Perfect, on 07 February 2012 - 11:43 AM, said:

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 2GB DDR3 1333Mhz Memory
Gigabyte GeForce GTX 550 Ti OC 1024MB GDDR5
Windows XP Home SP3

BlitzMax 1.45 • C++
MaxGUI 1.41 • UU3D Pro • MessiahStudio Pro • Silo Pro
AC3D • ShaderMap Pro • 3DWS • ADN - Gimp & Paint.NET

LE 2.5 • Project Anarchy
UDK • CE3 SDK • Unity 4.2.0 • 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"

#11
Marleys Ghost

Marleys Ghost
  • Developer
  • 2,062 posts

View PostPixel Perfect, on 07 February 2012 - 11:43 AM, said:

Very nice, would emulate shoals of fish well



AMD Bulldozer FX-4 Quad Core 4100 Black Edition
2 x 2GB DDR3 1333Mhz Memory
Gigabyte GeForce GTX 550 Ti OC 1024MB GDDR5
Windows XP Home SP3

BlitzMax 1.45 • C++
MaxGUI 1.41 • UU3D Pro • MessiahStudio Pro • Silo Pro
AC3D • ShaderMap Pro • 3DWS • ADN - Gimp & Paint.NET

LE 2.5 • Project Anarchy
UDK • CE3 SDK • Unity 4.2.0 • 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"

#12
Pixel Perfect

Pixel Perfect
  • Members
  • 2,028 posts
haha ... love it :D
Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro,  Shader Map Pro. Development language: C/C++

#13
knowledgegranted

knowledgegranted
  • Developer
  • 56 posts
Very impressive!

Quote

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.

#14
Aggror

Aggror
  • Developer
  • 2,795 posts
That looks awesome! Really inspiring stuff. I hope to do that as well soon. Thanks for the post

#15
Marleys Ghost

Marleys Ghost
  • Developer
  • 2,062 posts
@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 2GB DDR3 1333Mhz Memory
Gigabyte GeForce GTX 550 Ti OC 1024MB GDDR5
Windows XP Home SP3

BlitzMax 1.45 • C++
MaxGUI 1.41 • UU3D Pro • MessiahStudio Pro • Silo Pro
AC3D • ShaderMap Pro • 3DWS • ADN - Gimp & Paint.NET

LE 2.5 • Project Anarchy
UDK • CE3 SDK • Unity 4.2.0 • 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"

#16
Marleys Ghost

Marleys Ghost
  • Developer
  • 2,062 posts
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)


Attached File  Flockers.zip   4.09MB   95 downloads
AMD Bulldozer FX-4 Quad Core 4100 Black Edition
2 x 2GB DDR3 1333Mhz Memory
Gigabyte GeForce GTX 550 Ti OC 1024MB GDDR5
Windows XP Home SP3

BlitzMax 1.45 • C++
MaxGUI 1.41 • UU3D Pro • MessiahStudio Pro • Silo Pro
AC3D • ShaderMap Pro • 3DWS • ADN - Gimp & Paint.NET

LE 2.5 • Project Anarchy
UDK • CE3 SDK • Unity 4.2.0 • 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"

#17
macklebee

macklebee
  • Developer
  • 2,490 posts
very nice MG...
Win7 64bit / Intel i7-2600 CPU @ 3.9 GHz / 16 GB DDR3 / NVIDIA GeForce GTX 590
LE / 3DWS / BMX / Hexagon

macklebee's channel

#18
Marleys Ghost

Marleys Ghost
  • Developer
  • 2,062 posts
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 2GB DDR3 1333Mhz Memory
Gigabyte GeForce GTX 550 Ti OC 1024MB GDDR5
Windows XP Home SP3

BlitzMax 1.45 • C++
MaxGUI 1.41 • UU3D Pro • MessiahStudio Pro • Silo Pro
AC3D • ShaderMap Pro • 3DWS • ADN - Gimp & Paint.NET

LE 2.5 • Project Anarchy
UDK • CE3 SDK • Unity 4.2.0 • 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"

#19
Marleys Ghost

Marleys Ghost
  • Developer
  • 2,062 posts
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


Attached File  Flockers Rev 01.zip   4.09MB   123 downloads
AMD Bulldozer FX-4 Quad Core 4100 Black Edition
2 x 2GB DDR3 1333Mhz Memory
Gigabyte GeForce GTX 550 Ti OC 1024MB GDDR5
Windows XP Home SP3

BlitzMax 1.45 • C++
MaxGUI 1.41 • UU3D Pro • MessiahStudio Pro • Silo Pro
AC3D • ShaderMap Pro • 3DWS • ADN - Gimp & Paint.NET

LE 2.5 • Project Anarchy
UDK • CE3 SDK • Unity 4.2.0 • 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"