Today map making involves essentially stand-alone tools, manipulation of many files, heavy XML editting, and a file hosting and configuration process. While this is still more streamlined compared to where it has been, it's not ideal.
In progress, is work on an updated server technology that will make client-server interactions easier. From there I think there are some pretty nice improvements we could make.
In-Game Map Editting
The first update I've been thinking about is the stand-alone tools. It seems like it would be much easier to instead to start a game, do some edits, then have the game "save the map" as a complete map scenario. I'm suggesting that we bring all map tools into the game proper. In single player games, in addition to an 'edit mode', there would be a 'map making' mode that would expose all the needed map tools and we could re-use the same in-game UI for map creation. The existing tools we would re-incorporate into this mode, essentially a full 'map-making' menu.
Map Configuration Hosting
Editting a raw YAML file has its limits. With the new server, it has for some time seemed to make sense to host the map listing data on the server. Instead of the game client downloading a YAML file and then parsing it, the game client would instead send a request to the server to get a list of the games that are available for download. On the other side of this equation, we could enable the game to also send upload requests. This means essentially there would be an in-game UI sequence where maps, once created, could then be uploaded to the server and made available for download.
Decoupling Maps and Assets - Asset IDs
Last, it would be excellent to avoid redundant downloads of assets, facilitate uploading of individual assets, and allow for assets to always be made available. In part, it seems a win if we can simplify the map configuration and decouple the XML from asset data. Essentially have the maps be more or less just pure configuration data. Given all these details will be mostly hidden behind a UI, this should be mostly transparent to both map makers and players.
To this extent I've been thinking to have an 'asset' uploader as a new tool. It could be for stand-alone assets or would automatically grab all new assets from a new map and upload them with a new map. For example, from in-game, a person could upload flag images, or unit images, etc... On the server side these images would be tagged by an ID. On the map configuration side, the XML would declare its assets by ID and no longer have magic search paths to find the assets. For example:
<unit name="infantry" assetId="5555" />
<unit name="artillery" assetId="5252" />
When downloading maps, the game would scan for asset IDs and then ensure that it already has each one, any that are missing would then be downloaded.
I've been waiting some time before pitching these ideas as a lot of it is still pretty far off. Given the technology is now becoming feasible, it seem a good time to align the community to this vision and start the thought process of what this all would look like before we start building towards it.