Man where do I start, it's really nice as a minimal framework and set of platform independent APIs (which I like), but if you try to use it in any way outside of it's intended usecase of small, toy games it starts showing it's limitations really quickly. The big one is require() works really differently than normal Lua require(), you can't load C modules even if you try using package.loadlib(), because Amulet's Lua is a patched version, separate from any other Lua implementation. Moreover, this Lua implementation isn't published anywhere so you can't even compile the C modules against it. This kinda makes sense when you're targeting the web browser, but this is the case even for Windows, Linux and OSX targets. (I still managed to do multiplayer in a game for this past year's jam using Javascript and PeerJS calling into it with Amulet's am.eval_js() , but it was really unpleasant). Amulet is great if you're sure everything you want to do is supported *by amulet* on the platform you're targeting, but if it's not in Amulet it can be between difficult and impossible to extend it's capabilities.
If you don't have a good reason to use Amulet (like you want it to work in a browser) I would go with Love2D, it's got better documentation, more users, and you can extended it when you hit it's limitations.
yeah, from reading the documentation that checks out, it does seem pretty fun, but those limitations... I think that I'll just stick to love honestly. if I want to use any of the features, I might just look into doing them in love. I don't really need browser support anyways.
thanks for the advice and explanation!