Show HN: Impossible Machines: declaratively program the physical world

(impossiblemachines.xyz)

36 points | by bhaprayan 19 hours ago

4 comments

  • skinfaxi 1 hour ago
    This is cool! I think it would be interesting to expand the language of the world. Right now the interaction with the bell or door is limited (basically binary). Even with binary it would be cool to say ring the bell three times or play shave and a haircut and then a mechanical device that could generate that frequency would be created (for ex a simplistic one would be to skip every other ring for ringing the bell). I guess that would require the world/the objects to account for interactions over some recording period.
    • bhaprayan 51 minutes ago
      Thanks! Great idea, I hadn’t realized the interaction is binary. It would be cool to allow for "continuous" inputs too. The world would have to account for interactions over a recording period right.

      Behind the scenes, I’ve tried to make the audio production realistic, so there’s some acoustic modeling going on (eg echoes, attenuation of sound, etc). But yes you could imagine having the input forces be continuous and having the mechanism trying to figure out how to reproduce the sound exactly.

  • mcphage 7 minutes ago
    Disney's research lab did something along these lines some years ago for making a point follow a path. You draw a path, and it generates the linkages required to match that path as closely as possible. They've had a lot of follow-up work since, but I remember this video for it: https://youtu.be/DfznnKUwywQ?si=F-5NZxKu4hP_mand
  • pshc 24 minutes ago
    The Incredible Machine vibes.
  • jdw64 50 minutes ago
    It seems people think alike. Something that inspired me in the past also had a similar implementation.

    [1]https://www.microsoft.com/en-us/research/publication/motion-...

    • bhaprayan 35 minutes ago
      That was cool! Watched the demo video, didn't go through the paper yet. I'm running a simple heuristic to test for candidate solutions and running them through Rapier (https://rapier.rs), but simulated annealing to efficiently search the configuration space would be a nice extension.
      • jdw64 30 minutes ago
        Your work is wonderful, too.