Ropes & other catenary curves

Post Reply
User avatar
Blockhead
Member
Posts: 1622
Joined: Wed Jul 17, 2019 10:14
GitHub: Montandalar
IRC: Blockhead256
In-game: Blockhead Blockhead256
Location: Land Down Under
Contact:

Ropes & other catenary curves

by Blockhead » Post

The catenary curve is the shape of a chain or cable hanging between two points under weight of gravity and with no support. Catenary curves applicable to block games may include leads for animals, ziplines, climbing ropes or power cables and wires.

Source engine has functionality that it calls cables and ropes, which hangs a length of rope between two fixed points and lets it hang. One end of the rope can also detach and the rope can still be preserved. Many people will be familiar with this from playing Half-Life 2 and/or Garry's mod. Visually, source engine cables seem to be drawn with a base sprite repeated at regular intervals along the cable's length.

Minecraft also implements a catenary curve for its Leads, which can be used to lead and tie up animals. The leads appear to use a repeating pattern of two shades of brown that is stretched uniformly over the length of the lead. Actually, looking closely, it appears the rope is not flat from the user perspective but is a number of X-intersecting planes, which leads to visible little pinpoints of the previous colour in the pattern overlapping the next. The tripwires featured in that game do not seem to have a dynamic catenary curve, just one that is drawn into the mesh of the tripwire hook.

I would like to discuss whether you think Minetest should have a rope feature, and how that would be implemented. In a 3D sense, would you use an approach more like Half-Life, more like Minecraft, or some other novel approach to the geometry of the rope? What would the appropriate data representation in-engine be? A special type of entity? (or is the engine averse to specialised types of entity?) How many ropes could you have an a bounded area? It would probably not fit in a special place in the mapblock, but if it did, you could limit the number of saved ropes per mapblock perhaps.

Feature-wise: I do not think applying force to objects connected by a rope is necessary, but the objects on both sides of the rope could preferably be moveable, so that two players or a player and a mob could have a rope between them. Player and mob physics overrides in Lua could take care of checking the rope state and applying forces. The mod would need to know when there is a rope connecting two entities or an entity and a fixed point, and be able to act on that. Rope length would be available to Lua mods, and the mod would probably have to check if the rope is overextended and do something like snapping one end or deleting the rope entirely.

If proper ropes were added we could expect to see mods that provide:
  • Nicely drawn mob leads
  • Power cables and wires, especially overhead wires like railway catenary
  • Ziplines, cable cars
  • Maybe even Abseiling?
Let me know what you think!
/˳˳_˳˳]_[˳˳_˳˳]_[˳˳_˳˳\ Advtrains enthusiast | My map: Noah's Railyard | My Content on ContentDB ✝️♂

Nicu
Member
Posts: 98
Joined: Sun Feb 16, 2020 15:21
GitHub: kneekoo

Re: Ropes & other catenary curves

by Nicu » Post

Yeah, we would also need this for the fishing rod line.

wsor4035
Member
Posts: 182
Joined: Sun Aug 11, 2019 21:23
GitHub: wsor4035
IRC: wsor
In-game: wsor

Re: Ropes & other catenary curves

by wsor4035 » Post

j5uBLfc6NxgersvVj5D5dIsiKDkoQb0o

Post Reply

Who is online

Users browsing this forum: No registered users and 7 guests