Feature Request: MMP (Map export) support #1678
Labels
feature-request
A suggestion for new functionality.
help wanted
We specifically want more help on this one.
Description of requested feature:
MMP (I think it would mean Mud Map Protocol, maybe?) is a "standard" published by Iron Realms for exporting map data from server to client in the form of an XML document. This format is also supported by the Mudlet client.
Exporting map data would be interesting to us in order to serve as the dual purpose of passing the same to our web client. In this respect, using XML is not very useful - It'd be a lot better for us to use JSON. So an idea here would be to represent maps as Python dicts internally and convert them at the protocol level - to XML over the Telnet+GMCP bridge and JSON for the webclient / other connections.
Reasons for adding feature:
Map representation is a good feature to have and one commonly asked about. Whereas the client can already send a formatted map as-is, this implementation has the advantage of leaving it up to the client how to actually visibly represent the map data depending on its capabilities.
Expected result of feature
The ability of Evennia to prepare protocol-agnostic map data in Python-dict form and pass it to the client as XML/JSON depending on the protocol.
Extra information, such as Evennia revision/repo/branch, operating system and ideas for how to solve / implement:
A problem/limitation with the MMP which IRE acknowledges is that (in their own implementation) they send the entire map of a region all at once. This makes it less interesting to explore the map. They suggest it should be up to the client to cordon of parts of the map and only show parts of it as the user moves around ... but this appears to go against all rules of sane game server/client relationships. The way to do this would seem to be for the server to only pass the visible/discovered parts of the map to the client and show stub exits to locations not yet explored. It would need to be explored how well MMP would work for this kind of gradual presentation.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The text was updated successfully, but these errors were encountered: