• Our friends from AlphaCentauri2.info are in need of technical assistance. If you have experience with the LAMP stack and some hours to spare, please help them out and post here.

Supporting really large maps

To be honest, this should improve gameplay on the GEM scenario.

WTB GEM with the same level of detail as the Atlantica maps! (would be pretty big). I should be able to write something that scales an existign map (aka GEM) up by whole number factors (just replace each tile with a rectangular block of identical tiles at the laregr scale), to serve as a starting poitn to edit the detail in.
 
This would be great! But... and not to be a naysayer here since I'm really just inquiring, isn't the majority of the processing that taxes the computer primarily stemming from the ai determinations on hundreds of thousands of units and hundreds of cities? I can see how this would loosen demand on lesser computers by an extensive amount but how effective would it really be in light of the ai taxation? I'm wondering if there's a way to somehow additionally run those processes not ongoing in your current screens in a separate block in between turns (particularly in multi-player play) to make the whole game 'picture' easier for the processor to digest.

And how effective would this be on a multi-player platform? Would the selection of theater have to apply to all players at a time or would it be independent to the individual user's current selection?
 
This would be great! But... and not to be a naysayer here since I'm really just inquiring, isn't the majority of the processing that taxes the computer primarily stemming from the ai determinations on hundreds of thousands of units and hundreds of cities? I can see how this would loosen demand on lesser computers by an extensive amount but how effective would it really be in light of the ai taxation? I'm wondering if there's a way to somehow additionally run those processes not ongoing in your current screens in a separate block in between turns (particularly in multi-player play) to make the whole game 'picture' easier for the processor to digest.

And how effective would this be on a multi-player platform? Would the selection of theater have to apply to all players at a time or would it be independent to the individual user's current selection?

There are lots of different aspects:

1) memory - mostly graphics - shouldnt be an issue so long as you dont try to have too large of a viewport

2) Processing time - yes, this is largely proportional to AI unit number and a few other factors (though animals cost very little). I'm continually working to make those aspects faster, and there is no doubt that more will need to be done, but even the current DLL can play (apart from memory issues) GEM sized maps several times faster than it could a few releases ago, so equally it can play several times larger maps at the speed it used to play GEM. It comes down to a balance, which will be found in different places for different people (and different hardware). However, I think there is still LOTs of scope for improvement here, so GEM doubled in all dimensions doesn't scare me (for example)

3) Multi-player - I'm not really an expert here, but since the DLL (including the net messags it generates and receives) only sees the undrelying map I dont think it would make any difference - peopel with viwerports in different places would eb just like players with different parts of ther map displayed in their main window (ie - in different parts of the minimap) today. MULTI-maps however, would certainly need an extension of the new message parameters to include a map id. Multi-maps is actually a harder problem than the viewporting is.
 
Great answers! Thanks for the discourse. It helps to get an idea of how this might work and the benefits. I'd been thinking of proposing something along these lines but it hadn't become a fully formed thought yet and I don't have as good a grasp on the overall programming picture as you do so I had kept it to myself until I could think it through more. You're 10 steps ahead of me already on this and I'm all for it.
 
@Koshling:

I've been trying to do some memory usage analysis on C2C, mainly to see what the scaling factor is for non-graphics memory. I have found that the base mem usage, with no game loaded whatsoever, is 800 MB of RAM, but I'm trying to get a more detailed breakdown of memory usage between graphics and non-graphics when I'm playing a game, and Task Manager is wholly inadequate for that task. Do you know of any good way to get a more detailed breakdown of where the RAM is going?
 
If this does work would it be possible to increase the amount of civs playable and give each civ more cities

PS. I think this would be super super awsome if it does work
 
@Koshling:

I've been trying to do some memory usage analysis on C2C, mainly to see what the scaling factor is for non-graphics memory. I have found that the base mem usage, with no game loaded whatsoever, is 800 MB of RAM, but I'm trying to get a more detailed breakdown of memory usage between graphics and non-graphics when I'm playing a game, and Task Manager is wholly inadequate for that task. Do you know of any good way to get a more detailed breakdown of where the RAM is going?

No, that's the best you can do without an instrumented memory allocation system, and we don't have one (and can't add one because we have to use the the game engines alloctaor because of the way it passes STL objects around across the engine-DLL interface.

What you can do is differentiate between memory used by code, and memory allocated on the heap, by querying that directly in explicit code and dumping it periodically. If you look at the load sequence in the debugger you'll see it outputs memory allocated so far figures periodically as it goes through, and as it loads a save. From that you can draw some inferences about where it's going.
 
Anything I can do to help generate big maps easier? I'm having a hard time trying to generate Gigantic maps with around 40 civs, especially perfectworld or perfectmongoose.

Usually about 1 out of 5 maps gets finished. Other times it just doesn't ever finish generating the map or all tiles are grassland. Also are there any settings that would help? For example perfectworld never works with 'Allow pangaias' option.

I've got 8Gs of RAM so that shouldn't be a problem?
 
Anything I can do to help generate big maps easier? I'm having a hard time trying to generate Gigantic maps with around 40 civs, especially perfectworld or perfectmongoose.

Usually about 1 out of 5 maps gets finished. Other times it just doesn't ever finish generating the map or all tiles are grassland. Also are there any settings that would help? For example perfectworld never works with 'Allow pangaias' option.

I've got 8Gs of RAM so that shouldn't be a problem?

Anything over 4G is irrelevant. Civ is a 32bit game, and cannot use more than about 3G or so itself however much physical RAM you have. This is a limitation imposed by Civ4 itself, and not something we can do anything about as long as we remain a mod to that game.

Make sure you have the /3G switch set (if relevant to your OS, which it isn't for Win7 or above). Also use viewports for larger map sizes.
 
Also use viewports for larger map sizes.
I don't really have problems with the playing part but just with generating the maps. I'm playing oversized 200x200 right now and it works fine. Just have hard time with getting the mapscript to finish.

edit: The mapscipt doesn't crash it just freezes takin 100% of cpu like it is in infinite loop or something.
 
I don't really have problems with the playing part but just with generating the maps. I'm playing oversized 200x200 right now and it works fine. Just have hard time with getting the mapscript to finish.

edit: The mapscipt doesn't crash it just freezes takin 100% of cpu like it is in infinite loop or something.

Oh, that bug was fixed last week on the SVN. You must be using V26, right?
 
Back
Top Bottom