I've been plinking out a few ideas this afternoon and it's all starting to come together.
I'm looking at compressing all the map-square properties as I was saying before, then storing them in a bank and using a reference array (2355x1200) to store the bank addresses for the contents of each square.
As the editor builds the map file for the game it'll store all identical map squares (same terrain types, elevations, mineral deposits, owning nation etc) at the same bank address. There'll still probably be a few thousand combinations of data but, as you both say, that's considerably better than storing nearly 3 million separate squares.
Merchantman isn't going to be a particularly fast-paced game so as long as it doesn't take too much noticable time to query a map square I think the time overheads on the lookups will be OK.
Thanks a lot for the input guys, it's very helpful. I'll let you know how it works out.
I'm looking at compressing all the map-square properties as I was saying before, then storing them in a bank and using a reference array (2355x1200) to store the bank addresses for the contents of each square.
As the editor builds the map file for the game it'll store all identical map squares (same terrain types, elevations, mineral deposits, owning nation etc) at the same bank address. There'll still probably be a few thousand combinations of data but, as you both say, that's considerably better than storing nearly 3 million separate squares.
Merchantman isn't going to be a particularly fast-paced game so as long as it doesn't take too much noticable time to query a map square I think the time overheads on the lookups will be OK.
Thanks a lot for the input guys, it's very helpful. I'll let you know how it works out.