Immortal Glory update: A challenge is that users can make maps, and they can play games on the maps other users make. But if you started a game and then changed the underlying map, it would break.

Initially I was thinking you would "publish" a map and make it immutable. But now I'm thinking I can do better than that AND give map makers a version control system by effectively saving every iteration of the map.

So if you have a vertex in your map, the vertices table has a row with its ID, x, and y values. But it also has the version when you added it and the version when you removed it. So if it was added in version 5 and removed in version 20, then it would exist in any game played on versions 5 to 19 inclusive. When someone loads a map with a version number, the queries just need to filter out anything created later or removed earlier.