Live data from Hacker News

Boids

en.wikipedia.org

61–70 of 84 posts

Re: Boids

#61

StarCraft 2 used boids, and I'm using boids to rewrite Age of Empires II: github.com/glouw/openempires

I’ve often pondered the feasibility of using boids (or a boid like rule system) to implement ancient combat formations like pike squares skirmish lines. Is that what you’re doing?

Yes, though I'm not at the formation stage just yet. Boids just know how to stear organically much like Zerglings do.

Boids just provide distancing at the micro level. Astar or Greedy First Best at the macro level ultimately provides the boid with a final destination, and the boids organically work together on path to their respective final destinations.

Rise of Nations did it almost perfectly in the early 2000s with left box drag for selection and right box drag for retangular placement. Rome Total War upped the antics a bit with 10,000 unit scales over Rise of Nations 200 unit scales, but suffered some serious bugs. In my opinion no one except Julius Caesar can "program" so many units to properly do their bidding!

Re: Boids

#62

I have an implementation here [0] if people want to play with it. Supports dynamically changing the controls, has obstacles and predators. Setting weights for separation, alignment and cohesion to zero and then increasing only one of them nicely shows which role each of them plays. It's actually made as a workshop [1] for my company, where the shell is provided and one has to implement it step by step. In Norwegian,…

Works great on my phone. I noticed that flocks tended to split when they wrap around the edge of the field, as if forces weren't being computed wrapped. Makes it hard to accomplish my goal of merging all the boids into a single flock :).

Yeah, the neighbourhood calculation doesn't wrap around. That's trivial to add, but then one has to account for the wrapping when calculating average neighbourposition so it's not completely off. Not too hard, but would have added complexity to the workshop.

Re: Boids

#63

I've confirmed with Craig Reynolds that yes indeed, then name of Boids was inspired by The Producers: https://www.youtube.com/watch?v=aL6mTMShVyk >"He's up on the roof with his boids. He keeps boids. Doity, disgusting, filthy, lice ridden boids." -The Concierge, not a Madam

I had no idea! I would have guessed it was a contraction of "bird-oid", or something like that.

I asked Craig if he had any good Boids links, and he dug these up! (Plus a few more I found.)

https://web.archive.org/web/19990117095925/https://http1.bru...

>Craig Reynolds' Boids

>"The motion of a flock of birds is... simple in concept yet is so visually complex it seems randomly arrayed and yet is magnificently synchronous. Perhaps most puzzling is the strong impression of intentional centralised control. Yet all evidence indicates that flock motion must be merely the aggregate result of the actions of individual animals, each acting solely on the basis of its local perception of the world." - Craig Reynolds

[...]

>References: "Artificial Life : The Quest for a New Creation" - Steven Levy

https://books.google.nl/books/about/Artificial_Life.html?id=...

Steve Levy's page on his "Artificial Life" book (with glorious 1997 web site design):

https://web.archive.org/web/19981202151154/http://www.echony...

Tal Cohen's Bookshelf: Artificial Life: The Quest for a New Creation / Steven Levy

http://neuro.bstu.by/ai/To-dom/My_research/failed%201%20subi...

Bruce Sterling. Artificial life.

http://lib.ru/STERLINGB/f_sf_04.txt

Half Life Wiki: Boid

https://half-life.fandom.com/wiki/Boid

>A "Boid" is a virtual entity used in "Boids", an artificial life program simulating the behavior of birds or fish in their flocks or schools, respectively (with each other, as well as their environment), developed at Symbolics Inc. in 1986 by Craig Reynolds, an artificial life and computer graphics expert, and named "steering behavior".[1] The source code has been released a few years after 1986, allowing the creation of many variants since then, including Valve's creature (that even resembles the original Boids by Reynolds). It is also implemented in the free C++ library OpenSteer, designed to help construct steering behaviors for autonomous characters in games and animation.

>The term "Boid" is the abbreviation of "birdoid" ("like a bird"), as the program rules applied equally to simulated flocking birds and schooling fish. It was also inspired by a scene from Mel Brooks' 1968 film The Producers where the playwright's landlord complained about his keeping pigeons on the roof, referring to them as "boids", or "bird" in a stereotypical New York accent. The term also linked up with the ellipsoid-based 3D modeling tool by Tom Duff at the Graphics Lab of New York Institute of Technology named "soids".[2] Therefore, in regard of the source of the creature's name, its proper in-universe name remains unknown.

Alvy Ray Smith used Tom Duff's "soids" (short for "ellipsoids") for Chromagnon:

http://alvyray.com/Art/Chromagnon.htm

>I modeled the skeletal hands from cylinders and spheres, using Tom's "soids" program.

Roadmap-Based Methods for Flocking Motion with Obstacles

https://www.cs.umd.edu/~mount/Indep/Kevin/Webpage/index.htm

>It was also inspired by a graphics modelling and rendering system by Tom Duff when he was at the Computer Graphics Lab of the New York Institute of Technology. It used ellipsoids as its primitive shape and was called "soids".

Craig Reynolds Boids page

https://web.archive.org/web/19981202064632/http://www.hmt.co...

>Boids: Background and Update, by Craig Reynolds.

>[You need to be using an Java-enabled browser to see this demo.] (more information about this applet is available)

>In 1986 I made a computer model of coordinated animal motion such as bird flocks and fish schools. It was based on three dimensional computational geometry of the sort normally used in computer animation or computer aided design. I called the software boids.

[...]

Brunel University Artificial Intelligence Site / Artificial Life / Boids / Three "Boid" Term Sources

https://web.archive.org/web/20010505042228/http://www.brunel...

https://web.archive.org/web/20010224013859fw_/http://www.bru...

https://web.archive.org/web/20001004064622/https://http1.bru...

>I have learned (on extremely good authority!) that there were actually three sources of the term 'boid'! Here they are:

>"Boid" was an abbreviation of "birdoid", as his rules applied equally to simulated flocking birds, and schooling fish.

>It was also inspired by a graphics modelling and rendering system by Tom Duff when he was at the Computer Graphics Lab of the New York Institute of Technology. It used ellipsoids as its primitive shape and was called "soids".

>Finally, there was a Mel Brooks film called The Producers starring Zero Mostel and Gene Wilder which contained a scene where the playwright's landlord complained about his keeping pigeons on the roof ("You used to be able to sit on the stoop like a normal person, but not any more, 'cause of da BOIDS. Dirty, lousy, stinkin' BOIDS")

Re: Boids

#64

Boids are my favourite hello world for 3D simulation environments. For the last few weeks, I've been using boids to update my GPU programming skills and knowledge of related algorithms in Unity and Unreal. Yesterday I got 0.5 million boids simulating in Unreal Engine at 45 fps on a GTX 1080 [0]. The bottle neck is rendering so many instanced cone meshes, the simulation without rendering can do 1 million boids at 120…

Impressive! Mine linked here starts having trouble at around 2000 units on my CPU. Shows how ridiculously parallelisable this is.

Re: Boids

#65

Boids are my favourite hello world for 3D simulation environments. For the last few weeks, I've been using boids to update my GPU programming skills and knowledge of related algorithms in Unity and Unreal. Yesterday I got 0.5 million boids simulating in Unreal Engine at 45 fps on a GTX 1080 [0]. The bottle neck is rendering so many instanced cone meshes, the simulation without rendering can do 1 million boids at 120…

Thank you for that Firehose of Fun! Especially the GPU dynamic hashed grid, which looks super useful.

Amazing work! LifeBrush is Emacs for Cytoplasm! I've read that those little thing-a-ma-bobs in your cells move around at something like 30 miles an hour, bumping into each other. Is that accurate? Does that simulation show them slowed down a lot? Would it just be a blur in real time? Is that software available, please?

Re: Boids

#66

Boids are my favourite hello world for 3D simulation environments. For the last few weeks, I've been using boids to update my GPU programming skills and knowledge of related algorithms in Unity and Unreal. Yesterday I got 0.5 million boids simulating in Unreal Engine at 45 fps on a GTX 1080 [0]. The bottle neck is rendering so many instanced cone meshes, the simulation without rendering can do 1 million boids at 120…

Have you thought of making this into an educational game like Factorio or Satisfactory for life instead of machines?

https://www.youtube.com/watch?v=Oh2oF-eZTD8&list=PLrBjj4brdI...

Re: Boids

#67
post #18

If you're in 3D animation/modeling/whatever and have a little bit of experience, Blender has a pretty stable simulation of Boids that is lots of fun to play around with. It's been built-in into Blender since... For as long as I remember, and it has lots of properties you can play around with, and you can also make the boids be rigid bodies as well so they can interact with other elements in your scene. Some links if…

For even more Blender boid related fun, here's Ian Hurbert's ",lazy tutorial" for animating moths. He's fun

https://youtu.be/imkSdlbXB_U

Re: Boids

#69
post #27

I have an implementation here [0] if people want to play with it. Supports dynamically changing the controls, has obstacles and predators. Setting weights for separation, alignment and cohesion to zero and then increasing only one of them nicely shows which role each of them plays. It's actually made as a workshop [1] for my company, where the shell is provided and one has to implement it step by step. In Norwegian,…

I had fun playing with the parameters, thanks! Now, I want a wallpaper version of this with low maxSpeeds. Very relaxing.

Remember when Windows allowed you to set a .html file as a desktop background.

Wallpaper Engine [0] might be your next best bet.

0. https://store.steampowered.com/app/431960/Wallpaper_Engine/

Re: Boids

#70

I have an implementation here [0] if people want to play with it. Supports dynamically changing the controls, has obstacles and predators. Setting weights for separation, alignment and cohesion to zero and then increasing only one of them nicely shows which role each of them plays. It's actually made as a workshop [1] for my company, where the shell is provided and one has to implement it step by step. In Norwegian,…

That's awesome, nicely done! Lot's of fun to play with.
Post reply on HN