10 replies [Last post]
jeacom's picture
User offline. Last seen 38 weeks 1 day ago. Offline
Joined: 06/02/2016
Groups: Go Science

Hi, first I have to say I love the idea of this game and its pretty fun. I've been playing it for a short while and my impressions on it are that it's fun and making science this way is genius but the user interaction is kinda hard to get used to.

I come from a community of people who are kinda addicted to this kind of puzzle in its own way but dont know they are the blender-comunity and 3D artists in general.

3D artists have to invest lots and lots of time training their spatial reasoning because 3D modeling, is really hard.
I would go as far as to say that foldit as a game is as hard as another puzzle 3D artists have to solve: retopology.

I'm saying this because I suspect that the blender community in special is enthusiastic and hopeful enough to love playing this game provide part of their brainpower and hardware processing power to help science. but there's a catch: foldit is not blender and their interfaces are completely different.

One of my biggest struggles with foldit as a long time bledner user is that its UI is hard for me, not because its bad but because its too different for my 3D modelers' muscle memory to internalize.

I think a good solution for this would be to add external software communication to fold it. If the game could communicate with python, simple data like querrying scores, getting and uploading back protein shape, running wiggle, shake, etc from python, or a simple command line interface, it would be enough for me to make a blender addon that would allow using 3D modeling tools from blender to modify proteins and have foldit validate it.

I am sure that being able to design proteins and relp do science from within blender... these people would go crazy.

Joined: 05/19/2017
Groups: None
UI is indeed difficult!

Hey there, welcome in! I had the same gripes with the UI when I first started and uh...not much has changed, but they're working on it!

In the meantime if you want an idea of how a seasoned veteran like me uses and treats the UI, come see one of my streams live or on demand. The last stream has been archived so you can view it here: https://www.twitch.tv/videos/562292768
Happy folding!

agcohn821's picture
User offline. Last seen 2 days 4 hours ago. Offline
Joined: 11/05/2019
Groups: Foldit Staff

Hi Jeacom! Welcome! Thank you for the suggestion--I'll go ahead and pass that along!

joshmiller's picture
User offline. Last seen 1 day 14 hours ago. Offline
Joined: 09/08/2017
Groups: Foldit Staff
3D modeling controls

Hi jeacom!

Thanks for the feedback! I would love to hear what differences you notice between Foldit and Blender. I think it would actually be easier to enable new ways to interact with the protein within Foldit (making Foldit more like Blender) than to create an API.

jeacom's picture
User offline. Last seen 38 weeks 1 day ago. Offline
Joined: 06/02/2016
Groups: Go Science
Hi joshmiller. What I think

Hi joshmiller.

What I think makes foldit hard to use is the orbit controls and lack of more fexible manipulation tools, the protein and camera overall feel too stiff to manipulate.

We need a mouse sensitivity setting for the orbit sometimes I feel it too unresponsive, I have to move my mouse too much to rotate the view just a little.
And once you pan the view, The orbit center stay at the middle of the protein (selecting a residue and pressing Q every time is not ideal), ideally, if you pan the view, the orbit center should move along, staying always in the middle of the screen and when zooming, only the distance between the orbit center and the camera is changed.

Other thing that annoys me is that I can't move residues freely, the manipulation tool is too stiff (
moves the whole protein), using the rama map to rotate residues makes the whole protein move, not only one part of it. in blender we have a feature called "proportional editing" I would love to see something like this in foldit even if it breaks atom distances and lowers the score, we can use wiggle to fix.


I have other concerns with the interface layout too but those two above are the most important to me.

jeacom's picture
User offline. Last seen 38 weeks 1 day ago. Offline
Joined: 06/02/2016
Groups: Go Science
Inverse knimatics

Also, I wonder if its possible to make a inverse kinematics manipulation tool.

Like this a soft body simulation I wrote a while ago

bkoep's picture
User offline. Last seen 5 hours 12 min ago. Offline
Joined: 11/15/2012
Groups: Foldit Staff
Great feedback!

Thanks jeacom! It's great to have such specific suggestions and examples!

A translatable orbit center is coming soon! This feature is queued up for the next release (slightly delayed by the recent coronavirus hype), and you can see a preview of it around 1:24 of Lab Report #6. Mouse sensitivity settings are definitely possible; we can look into that as well!

We definitely hear you about the free movement of individual residues! It seems you already understand that protein physics makes this difficult: the protein backbone has many degrees of freedom, but they are highly constrained (i.e. most of the space in the Rama map is white, meaning disallowed space), and it's very easy to access problematic bond geometry.

When we've tried to relax these constraints in the past, we've found that Wiggle is not enough to correct the geometry issues. The energy landscape is too rugged (or our energy function too coarse), and we tend to see lots of problems in the bond geometry of Foldit solutions. So, our current strategy is to prevent users from ever accessing problematic geometry; the downside is that user manipulations are very confined and "stiff."

That's not to say the problem can't be solved, and maybe we should revisit the issue! But I expect this would remain a pretty serious challenge.

jeacom's picture
User offline. Last seen 38 weeks 1 day ago. Offline
Joined: 06/02/2016
Groups: Go Science
Phisics is hard.

I am not a physicist or a biochemist but I want to give a suggestion for an algorithm. Not sure if its viable at all.

If I understand correctly the protein is represented by a pivot and a chain of residues where each one has a rotation and an offset from the previous and the ramamap displays those relative rotation offsets with the colored regions being more likely to form in nature.

My suggestion is to create a tool that explodes all residues to global space and instead represents them as a simple mass-spring system where each amino acid is represented by a single point in 3D space plus a twist vector.

I think a simple way to optimize this system would be to move each residue towards or far away from its neighbors to satisfy a distance constraint (spring step), do it locally and multiple times in small steps and it should converge, but interleaving with the spring steps, the residues could also be moved randomly multiple times then evaluated a local "Ramma energy?" if it improves the energy then keep the position else, discard the random motion and try again, kinda like a genetic algorithm.

I am not sure on how rough this energy space is but my rope is that it would make the protein will jiggle around and "snap" into a low energy state very quickly due to the randomness.

Then to add more user interaction, the player could grab one residue and move it, since the whole protein is bound by "springs" it would move entirely but also verry softly.

Not sure if it would work, just random thoughts I had.

Serca's picture
User offline. Last seen 1 year 17 weeks ago. Offline
Joined: 02/03/2020
Groups: Go Science
The idea about API is great

The problem is that Foldit interface communicates with the user telling what is wrong with the protein and where you can improve. I mean you will need to implement things like clashes and voids. And different protein representations for some puzzles, make the recipes(scipts) managing module and many more.

I would say that a new GUI would be interesting (now we have two interfaces, one is simple and another one with a bunch of hotkeys). But having an API may improve even Foldit native instruments pretty much and bypass scripts limitations.

jeff101's picture
User offline. Last seen 9 hours 51 min ago. Offline
Joined: 04/20/2012
Groups: Go Science
Which is more like Blender, the Original or Selection Interface?

Foldit has 2 main interfaces right now,
the Original Interface and the Selection Interface.
Each one has its own advantages and its own layout
of Foldit's tools. Is one of these Interfaces more
like Blender than the other? I think it is also
possible to customize Foldit's Hotkeys. Perhaps
this would help it behave more like Blender.
Finally, many of Foldit's tools have analogous
LUA commands for use in Recipes. Perhaps some of
the Blender tools can be simulated using Foldit

jeacom's picture
User offline. Last seen 38 weeks 1 day ago. Offline
Joined: 06/02/2016
Groups: Go Science
selection interface

The selection interface has a paradigm more similar to blender's but its still far, I dont mean foldit has to become a 3D modeling software it would not be a good idea.

But foldit GUI has some major issues that are shared in both interfaces, the navigation in sppecial needs improvement. and the fact that those interfaces keymaps are not compatible at all despite the fact that I have to switch from one to another all the time.

I also dont like the floating windows, they are hard to manage, I would prefer the dockable window design that is so popular in 2D painting programs like krita

eg. https://upload.wikimedia.org/wikipedia/commons/d/d0/Krita_4.0_animation_interface.png


Developed by: UW Center for Game Science, UW Institute for Protein Design, Northeastern University, Vanderbilt University Meiler Lab, UC Davis
Supported by: DARPA, NSF, NIH, HHMI, Amazon, Microsoft, Adobe, Boehringer Ingelheim, RosettaCommons