I am a game developer working on a project and I had an idea to create the following puzzle.
There are two robotic "tentacles", each with 4 joints. The player can control some, but not all of the joints; this is by design. The player can control them by rotating the joints in $30$–degree intervals up to three times, before the tentacle returns to its original position. In addition to this, some of the joints are interconnected, i.e. moving one will affect the other.
In the diagram, the actions are not precisely what I have implemented but it should give an idea. Basically, while each button limits the joint to be moved to 4 positions, it can be in more positions if another button also rotates that joint (by interconnection), or a lower one is used which then rotates all the elements above it.
For example, rotating the closest joint on the left arm will cause the whole left arm to turn (obviously), but in addition to this, the top joint of the right arm will rotate because the two joints are interconnected.
The goal would be for both tentacles to reach particular position.
The problem is that I cannot see how to make it solvable logically instead of randomly rotate individual parts. Is there something I could follow to make it like that?