Sex, Circuits and Deep House
bunniestudios.com
bunniestudios.com
A great tidbit:
I designed a very simple protocol which will only reveal if your friends are nearby, and nothing else. Every badge emits a broadcast ping every couple of seconds. Ideally, I’d use an RSSI (receive signal strength indicator) to figure out how far the ping is, but due to a quirk of the radio hardware I was unable to get a reliable RSSI reading. Instead, every badge would listen for the pings, and decrement the ping count at a slightly slower average rate than the ping broadcast. Thus, badges solidly within radio range would run up a ping count, and as people got farther and farther away, the ping count would decrease.
decrement the ping count at a slightly slower average rate than the ping broadcast
Is he saying he's reducing the power of each subsequent transmitted ping, causing nearby units to see more pings than far away units, or something else entirely?
1. For each person, store an integer ("ping count").
2. Whenever you receive a ping from that person, increment the ping count.
3. Periodically decrement the ping count, stopping at zero.
4. When a person's ping count is zero, do not display them on the screen.
Let's say a ping is transmitted every second. "decrement the ping count at a slightly slower average rate than the ping broadcast" means that #3 should happen every 1.2 seconds.
The result of this is that, if somebody is solidly within broadcast range, their ping count constantly goes up.
If they are just past the edge of broadcast range, they'll start getting signal loss. The result is that some of their signals will be delivered and some won't. This will mean that their ping count will slowly drop. If someone is completely outside of broadcast range, their ping count will drop more quickly.
Cool tidbit: you can do the digital to analog for this with a low-pass filter.
Then as you stop receiving pings (I assume, I'm at work, didn't delve too deep), the ping decrement rate goes back to normal and they get "weaker" or farther from you.
Absolutely a super neat way to solve the issue of not being able to account for signal strength.
[0] - https://github.com/bunnie/chibios-orchard/blob/orchard-r2/or...
At school (in Israel) we learned that you have Dominant Genes and Recessive Genes, and Dominant trumps Recessive. Just a month ago I got to hear a more correct description from a biologist friend, which sounds much like Bunnie's implementation:
In order to capture the wonderful diversity offered by sex, I implement quantitative traits in the light genome. Instead of having a single bit for each trait, it’s a byte, and there’s an expression function that combines the values from each gene (alleles) to derive a final observed trait (phenotype).
By carefully picking expression functions, I can control how the average population looks. Let’s consider saturation (I used an HSV colorspace, instead of RGB, which makes it much easier to create aesthetically pleasing color combinations). A highly saturated color is vivid and bright. A less saturated color appears pastel, until finally it’s washed out and looks just white or gray (a condition analogous to albinism).
If I want albinism to be rare, and bright colors to be common, the expression function could be a saturating add. Thus, even if one allele (copy of the gene) has a low value, the other copy just needs to be a modest value to result in a bright, vivid coloration. Albinism only occurs when both copies have a fairly low value.
Also, Bunnie's blog has a great awesome to noise ratio. Check out his post about a tour in a zipper factory: http://www.bunniestudios.com/blog/?p=4364
Edit: text formatting
- Sex, Circuits & Deep House
- Name that Ware, September 2015
- Winner, Name that Ware July 2015
- Name that Ware, July 2015
- Winner Name that Ware June 2015
- Name that Ware, June 2015
- Winner, Name that Ware May 2015
- Name that Ware, May 2015
- Winner, Name that Ware April 2015
- Name that Ware April 2015
- Winner, Name that Ware March 2015
- The Heirloom Laptop’s Custom Wood Composite
See what I mean?
"I wanted to make a bit of lighting that my campmates could use to stay safe – and optionally stay classy by offering a range of more subtle lighting effects. I also wanted the light patterns to be individually unique, allowing easy identification in dark, dusty nights. However, diddling with knobs and code isn’t a very social experience, and few people bring laptops to Burning Man. I wanted to come up with a way for people to craft an identity that was inherently social and interactive. In an act of shameless biomimicry, I copied nature’s most popular protocol for creating individuals – sex.
By adding a peer-to-peer radio in each badge, I was able to implement a protocol for the breeding of lighting patterns via sex."
Also worth checking out BattleBlimps, which was developed by False Profit Labs: https://www.indiegogo.com/projects/battle-blimps. Hydrogen filled blimps, controlled by an xbox controller talking to an Arduino over a custom bluetooth protocol. When you collide two blimps together, one of them blows up, Hindenburg style.
Also, also, Horse Tornado, which was a persistence of vision art piece: https://www.tilt.com/tilts/horse-tornado-interactive-phantom....
Lastly, we had a revised art car this year too: https://www.youtube.com/watch?v=C0JzPgd9f9g. It was fun watching the muse dry-eeg light up the brain during the Thursday night party we attended.
Twas a good year.
So there are some constraints here that point toward what a version 2 could look like. Under the current paradigm, every child has a unique set of parents - there are no full siblings. And there are no cousins through the egg donor side. Like real sex, there is no way to take an exceptionally fit egg donor and see what the child could look like with different sperm donors - you can do this with Electric Sheep though. Electric Sheep breeds randomly and has an upvote/downvote feedback mechanism, some kind of additional feedback mechanism could be added to these badges to hasten evolution.
It seems like the constraints to the badge are by virtue of it relying on physical hardware of which finite instances are available, whereas Electric Sheep is limited only by much more vast software resources. So maybe the badge creatures have a lifecycle, when they reproduce instead of replacing the egg donor immediately, the child enters a pool waiting to spawn in the next available deceased badge creature?