Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Crochet Simulation Video Game
#1
Lightbulb 
Mr. Tassev, have you ever considered making CrochetPARADE a video game?

I'm an indie game designer planning out a cozy life simulation game called Textisle, in which the core mechanic is a real-time, player-controlled crochet simulation. The player executes stitches one at a time using button inputs, and the fabric grows stitch by stitch as they work through a pattern. Players harvest and process fiber, spin it into yarn, then crochet and block wearable, usable, and giftable objects. The goal of the game is to introduce new people to the pleasure of crochet and to allow experienced crocheters to design quickly and without the expense of materials (like CrochetPARADE)! I have attached a simple UI wireframe demonstrating the idea. (Please forgive that the stitches in the upper bar don't make sense with continuing in the round; I wanted non-crocheters to be able visualize that it's pattern-based rather than just have a bunch of plus signs for the SCs.) When I posted it in crochet communities with the game idea, the overwhelming response was, "Where can I playtest this?" which was very exciting.

I found CrochetPARADE while researching and wanted to ask whether the graph.cpp layout algorithm could be adapted for real-time interactive use. My current prototype built in Godot 4 uses pre-made stitch mesh scenes placed on anchor points. It's a purely topological approach where stitch formation is recorded as data and geometry is constructed from known state rather than simulated physically. This works for the prototype, but I'm thinking ahead to what the fabric geometry system needs to look like at scale.

The documentation describes a weighted graph where nodes are stitch-level material points and edge weights encode stitch-scale distances, with geometry reconstructed via shortest-path distances and annealed gradient descent. Does the algorithm require the complete connectivity graph upfront, or can a new node and its edges be appended to an existing solved embedding and relaxed locally?  I'm an experienced crocheter but a beginner developer (my day job is in the legal field), so I'm sorry if my question is obvious or dumb. Any guidance would be appreciated. 

Thank you for building and open-sourcing this. It is so cool and I think I think wrapping it in a free-to-play game could bring it to people who would never find it otherwise!


Attached Files Thumbnail(s)
   
Reply
#2
Hi there!
That's a really nifty idea! Let me know how your project unfolds. I'd be curious to look at it.

To answer your question, take a look at one of the keybindings on the website:
"ctrl+Enter (experimental!): Keep positions of already placed stitches. Then calculate positions of newly added stitches since last calculation. Speeds up calculation, but results will be poorer than rerunning whole calculation by pressing on "Calculate..." button or pressing shift+Enter."
Unfortunately, there is a downside to that feature. As the project grows, repeated calls to ctrl+Enter would lead to quite a bit of distortion as the previously laid down stitches won't be updated with the constraints that come from the new stitches.

A better way to implement what you have in mind is to use graph.cpp directly: it comes with a variable called ic_guess. Set that to true and supply the coordinates to the previously laid-down stitches/nodes of the graph as calculated before you added new stitch(es). Then when you add new stitches/nodes, those old coordinates will be reused as initial conditions and the model will be updated consistently. The old stitches will shift after you add the new stitches, but not by much, especially if you are adding one stitch at a time. That is unless a stitch/set of stitches force a topology change or a rapid curvature change of your model.

Hope that helps!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)