Play Bevy plugin
Charred-Path's itch.io pageResults
Criteria | Rank | Score* | Raw Score |
Documentation | #1 | 4.000 | 4.000 |
Original | #1 | 5.000 | 5.000 |
Polish | #2 | 2.000 | 2.000 |
Useful | #2 | 1.000 | 1.000 |
Overall | #2 | 3.000 | 3.000 |
Ranked from 1 rating. Score is adjusted from raw score by the median number of ratings per game in the jam.
Source code
https://github.com/CharredLee/charred-path
Leave a comment
Log in with itch.io to leave a comment.
Comments
I'll have to admit - I don't really grasp what this plugin is useful for. I can imagine why one would want to track the path the player (or some NPC?) took, but what I don't get is:
Of course, maybe I'm just biased because I didn't like Algebraic Topology when I took that class so many years ago...
In a more practical note - is a String really the best way to represent the path? Wouldn't it make more sense to provide an iterator over the points, and use a custom struct that will also tell you the orientation the entity circled around each point?
Great questions! You're totally right that in lots of ordinary cases, this plugin provides machinery that doesn't fit, but that's not why I made the plugin. (Also, if you look at the development roadmap in the README, you'll see that I have plans to include more traditional path algorithms.) There are a few reasons I prioritized this niche case during development:
There are also a few specific use cases I had in mind:
However, there are use cases I can imagine outside of the context of debugging. You could utilize this plugin to introduce new mechanics into a game:
As for your point about the use of String: the word() method gives a representation of the loop as an element of the fundamental group π_1. The tools are already there to accomplish what you suggest, but I prioritized debugging over expanding the public API when making this.
Also, one minor point -- it's not homology, because the order of traversal does matter. H^1 is the abelianization of pi_1, so if it recorded the homology, going around A and then B would be the same as B then A.