Supporting really large maps

Koshling

Vorlon
Joined
Apr 11, 2011
Messages
9,254
I recently stated that I thoguht GEM was approaching he practical limit for maps in C2C. Howveer, havign thought about it some more I have an idea:

We could use the new multimap capability (when we have it, which will be soon) as follows:
  • Overall (whole world) map is not used as an actual playing surface. Instead all play takes place on theatre-of-war maps
  • Theatre of war maps have a maximum size, probably about half the area of GEM (anything up to GEMish size is possible, but there are advantages performance wise to keeping it lower)
  • Play on theatre-of-war maps is just the usual Civ play and rules
  • Each theatre-of-war map is just a window into the overall map. Actual movement and fighting etc. really takes place on the entire world model, but it's just that you can never see it all at once
  • The overall map display is a 'blocky' picture (for the sake of example suppose each tile represents a 2-by-2 square of 'real' tiles. No units appear on it, though cities probably can, and it can certainly be coloured by culture.
  • A UI allows the user to define a new theatre-of-war dynamically by selecting areas of the overal map to include (simplest UI would just set a center point and allow you to control overall heigth and width up to the maximum for a theatre of war map)
  • Any defined theatre's of war display as grey outlines on the overall map. They can probably be named, and slected by name from a list or something as well as we see fit
  • The user may switch to any selected theatre of war whenever they want to
  • Ideally (though not in the first version maybe) we have some sort of multiple waypoint defintuion system so that waypoints can be set up in one theatre and used as destinations from any other (so as to allow for units to traverse long paths, such as across oceans, without having to define a number of intermediary theatres and step them through manually)

Imagine a truely gargartuan GEM (let's say 1000 X 1000). A player strts as England, and defines his first theatre of war to be a map window onto the British Isles and north western europe. For th first 1000 turns it's probably all they need, so play is essentialyl indistguishable from today's play except for the greater map scale. Much later in the game maybe he establishes colonies in Africa, so he defines a new theatre that covers Africa. The expanded waypoints allow his to define routes for shipping to travel easily btween the home theatre and the African theatre. When playing a turn he essentially plays one theatre then the other (or if he's a diligent micro-manager he chedks out what is happening in each theatre in tun, then goes through them again making moves).

Later still he adds a North American theatre say, and so on...

Note - this is NOT a straightforward use of the multi-map capability since it also requires separating the logic underlying tiles from their map representation, which the basic multimap doesn't do, but I AM convinced it's possible.
 
Question; LyTning said that it takes about fifteen seconds to switch between Huge maps, would that switch time remain? I could pretty easily get annoyed if it took fifteen seconds every time I wanted to see a different part of my Earth empire.

Is it possible to reduce that time, or is that an unavoidable constraint of the engine?
 
Question; LyTning said that it takes about fifteen seconds to switch between Huge maps, would that switch time remain? I could pretty easily get annoyed if it took fifteen seconds every time I wanted to see a different part of my Earth empire.

Is it possible to reduce that time, or is that an unavoidable constraint of the engine?

Unavoidable. The time will be proportional to the size of the maps being swapped, which is why I say having smaller 'theatre' maps will help.
 
You had me sold at 1000x1000 tiles, but, I would definitely need a utility unless I can do map editing by theatres as well. (Pretty sure my laptop will be angry at me, and it is above average specs. Not by much now I suppose)
Next is, how well will the AI handle the 'theatre' system?
 
You had me sold at 1000x1000 tiles, but, I would definitely need a utility unless I can do map editing by theatres as well. (Pretty sure my laptop will be angry at me, and it is above average specs. Not by much now I suppose)
Next is, how well will the AI handle the 'theatre' system?

I should be abale to work it so that worlbuilder just sees the current theatre at a time.

It's transparent to the AI since it doesn't use a 'viewport or grpahics' - it operates on the underlying 'real' tiles map, which really is 1000 X 1000.
 
Very good idea. Looking forward to it! :cooool:
 
Very good idea. Looking forward to it! :cooool:

lol, it's just an idea for feedback, not an undertaking to develop it yet! It would hve to be a major focus, and it seems logical that it should eb afetr the basic implementation of multimap for galacic, so we'er talking at least 2 releases away.
 
What about just splitting it into 4 maps ...

- Northwestern Hemisphere
- Northeastern Hemisphere
- Southwestern Hemisphere
- Southeastern Hemisphere

This would make it generic and could support random maps as well.

My first thought... however I'll probably break it down further.
Hear me out, 250x250 (from the 1000x1000) would still make each quadrant a fair bit bigger than the current GEM scenario.

SO you would probably have to break it down into 8 parts to see any improvements in gameplay and turn time.
 
What about just splitting it into 4 maps ...

- Northwestern Hemisphere
- Northeastern Hemisphere
- Southwestern Hemisphere
- Southeastern Hemisphere

This would make it generic and could support random maps as well.


Why limit it to fixed quadrants? - I'd rather choose how I center my own 'theatre' map on the underlying map to match the map geogpraphy. Also if I can't create overlapped maps, then the edges would be unplayable because nearby tiles would be on another (theatre level) map from one another.

I don't understand your comment about generic maps - the whole point is that allowing users to define what theatre maps they want dynamically is that it IS generic.
 
What about just splitting it into 4 maps ...

- Northwestern Hemisphere
- Northeastern Hemisphere
- Southwestern Hemisphere
- Southeastern Hemisphere

This would make it generic and could support random maps as well.

maybe every Hemisphere could have its own bunch of recources. For example rice, silk ore tea just show up in the east
 
I think I misunderstood you. Could you please explain it some more?

There is only one 'real' (logical, play surface) map which is potentially very large. What the game displays however is a smaller 'viewport' into the underlying map. These individual viewports would be user-definable (by selecting a center-point and heigth/width) on a non-playable representation of the underlying map (effectively a sort of meta-minimap if you link). You then switch between the theatre maps that you have defined using the multimap code capabilities, but all you are actually doing is switching between viewing windows onto the 'real' underlying map. Because the minimaps you are switchign between are really just viewports they can overlap arbitrarily, or have large gaps between them - it doesn't really matter - would be up to what the user needed as a visible set at that stage of the game.

The idea is that the game engine just sees the windows and it treats them as if they are all there is, so it only has to allocate graphics for the stuff that falls within the theatre window. The DLL code (AI etc.) however, sees the entire map, so all play and ruleset interpretation actually take place there. This combo should allow for very large paying surfaces with manageable memory use.

The same technique could also be used to reuce memory usage of 'standard' sized large maps (like the current GEM) to make them playable on computers with less memory (by havign theatre maps that are only as large as a 'small' standard map or something say)
 
So what happens when you reach the "edge" or your view port? Will the unit jump to another view port?

Nothing. You'll just need to have an overlapped viewport defined you can switch to, so that the edge isn't an edge from that view. If you do not switch you won't be able to click to the target plot which is 'off the (viewport) map', so you can't even try to move off it with the mouse. If you move it off the edge with the keyboard it'll move fine, but you'll no long be able to see it (on that theatre map) because it will have moved off it.

Realistically I can see two scenarios here:

  1. The theatre maps are separate land masses separated by water. In this case you cold define an overlapping theatre map (or maps) for the ocean and manually move across it, but this is the scenario where I want to extend the waypoint system, so that you can define named waypoints on any theatre map, and tell units to go to them independently of which theatre map your looking at them on at the time. So for example I could define a waypoint in my city of New York, and from the European theatre tell ships to head to the the named 'new york' waypoint. They'd path off the european theatre map and eventually you'd see them arrive in your northern America theatre and head into New York.
  2. One large landmass is too big for any single theatre map, and your empire spans across it all (or your war does). In this case you best advised to set up overlapping theatre maps so that for any particular local area you have one you can give orders from where you're away from the edge.
 
Hows it going on these view points, i am very very very interested in this concept (if plausible)!! This would be so game changing and fabulous.

It's just an idea really, but I mentioned on the boards for the mltimap mod, and the author of that is picking it up. Once v23 is leased I'll probably move to working othis with him as a focus.
 
It's just an idea really, but I mentioned on the boards for the multimap mod, and the author of that is picking it up. Once v23 is leased I'll probably move to working othis with him as a focus.

Sounds :goodjob: to me!!;) btw, let me know when your ready for me to release, or PM me, thx.
 
Back
Top Bottom