Snofru's Space Maps

Here's a nice Random Duel Sized Space map made by attaching the Space part to a new random map.
HOW TO MAKE IT:
1. The random map must be [HEIGHT=40, WIDTH>=65], can be wider, but NOT higher. The map script that I used only allowed width of 60 or 72, so I chose 72. See further.
2. Start the map. Go to WB. Kill all the units. Save it as a WB save file. Open it in Notepad++ or similar. Copy the PLOT part from [x=0,y=0] to [x=64,y=39] in that file.
3. Before that (double copying, sorry, want to make it short), copy the Duel Space map and rename it to whatever your custom map will be.
4. Open that file as well. Replace the same PLOT part in the custom map. Save it. You have it.
Here you go, lol, enjoy.
Example below.
 

Attachments

  • Space Map - Duel World (Random #1).CivBeyondSwordWBSave
    1,006.4 KB · Views: 16
hey, I still didn't fully explore your v10 map, started prehistoric era and then played mostly other games:) I wanted to play mod again but I'm seeing this when trying any large map of versions 6-10, perhaps you know what could be reason? "public" ones work with no problems (1-11 standard and 1-5 large)

1677022336858.png
 
In fact only the version number has changed from 1 to 2...
I will work over all the maps in posting#1 but here you already have the adapted large map 10 (works on my system with current SVN). Enjoy!
 

Attachments

  • SM - Snofru Large10_V1.CivBeyondSwordWBSave
    1.9 MB · Views: 14
Hello there,
I read the last 2 pages of this thread and was wondering what's the status on scripts for generating earth maps including space as someone asked?
If it is still "totally undone" yet, I might give a a shot. I looked at a WB map and it doesn't seem too complicated. If someone started something, I might as well use that or improve upon that (depending on what 'that' is).

PS : My first and only game just ended in the industrial era by me vassaling all AI's. I know there is a mastery victory condition possible but I don't find playing solo without AI much fun so I didn't play in space yet.
 
Hello there,
I read the last 2 pages of this thread and was wondering what's the status on scripts for generating earth maps including space as someone asked?
If it is still "totally undone" yet, I might give a a shot. I looked at a WB map and it doesn't seem too complicated. If someone started something, I might as well use that or improve upon that (depending on what 'that' is).

PS : My first and only game just ended in the industrial era by me vassaling all AI's. I know there is a mastery victory condition possible but I don't find playing solo without AI much fun so I didn't play in space yet.
Mapscripts don't have space zone
 
Mapscripts don't have space zone
Hey guess what?
I did it (v43.1) :)
Added a button in WB, press it, now it exports the map adding space using a map from snofru.
Takes about 5 secs to process on my computer.
Was a bit painful cause I honestly never use python, but it works

Limitations for now:
- zoom a lot and dont look at bottom right when opening World Builder for export, to not be spoiled :lol:
- Map must not be more than 124 width I guess (didn't test but tiles would be missing)
- if map is smaller than 124 width, it works but the space part is truncated on the right, I guess I could at least center it but still stuff would be truncated. I'll attach a screen for example.

Height is not an issue, it's added at the top of your map, unless there is a max height in civ4 that I don't know and you provide a map with very large height maybe.

If someone were nice enough to provide a space map for each base width (duel, tiny, etc.), I could chose which space part to copy, so there is no truncated part in space.
I'm a dev but not much of an artist :lol:

Screens are on a tiny map so you see the truncated space issue. I guess I'll play with that for now.
Should I PR that?

EDIT : I should remove the "TODO" on the tooltip :mischief:
EDIT2 : I could also interpolate plots when width is too small, but honestly having tried that a long time ago on earth maps for reduction (civ5 I think), the result is most of the time "meh" on maps. It works but result is not great if I remember correctly. So a space map per width would clearly be better imho.
 

Attachments

  • space_ExportBtn.png
    space_ExportBtn.png
    107.4 KB · Views: 26
  • space_exportdone.png
    space_exportdone.png
    152.1 KB · Views: 22
  • space_originalmap.png
    space_originalmap.png
    89.1 KB · Views: 28
  • space_exportedmap.png
    space_exportedmap.png
    18.8 KB · Views: 29
Last edited:
Height is not an issue, it's added at the top of your map, unless there is a max height in civ4 that I don't know and you provide a map with very large height maybe.
Wow, this is very cool! This makes my tedious copy/paste work to produce my maps obsolete, great (I didn't have time to test it yet, though)!

There is a limit how big a map can be and IIRC it is something a little bit larger than 200, 203 or so. The large spacemaps are already at height 200, so the earth part shouldn't be higher than 72 tiles.
 
Wow, this is very cool! This makes my tedious copy/paste work to produce my maps obsolete, great (I didn't have time to test it yet, though)!

There is a limit how big a map can be and IIRC it is something a little bit larger than 200, 203 or so. The large spacemaps are already at height 200, so the earth part shouldn't be higher than 72 tiles.
Well atm it's only on my computer, I should PR that but not sure how long it takes to be available after that (quite long I think).
I can post the python files here (v43.1) though. I don't think I touched the dll at all IIRC, so a simple copy files should work.

I saw the height limit when adding double space on a map :lol: , or just once on a map that had about 90 height (forgot how much exactly) and indeed it crashed when trying to use the map as a scenario.
Atm I'm playing a game generated with this (truncated in space on width) and so far, no issue at all.

If you feel like providing space parts (editing what you have) for common widths (ie those generated by the game: duel, tiny, etc.), this would be great!

Ho and by the way, I had great fun on my first game with one of your map (standard10_v6) :thumbsup: Even if I never reached space ;)
 
Last edited:
I'll do a PR when I find some time, but meanwhile, here are the modified files for v43.1 (probably won't work on v44, didn't test). Just copy them in their respective directory, no need to recompile DLL.

So at least some pple may try it if they need it :)
I hope I didnt forget any file looking at diffs content.

I added a "exit and restart civ4" message at end of export, because for some obscure cache reason, if you don't restart you sometimes can't chose every civ (even though the map file got rid of them). Simply restarting game after export solves the issue.

I still think it is not fully done while we lack "a map with space part for each common width" and I edit the sources (see posts above).
Also there is no check on max height for now, but that should come with the above mentioned point.

EDIT : one sec, seems I can't upload python files here, I'll make a zip.
EDIT2: done (4 files inside with paths), just unzip and copy the whole directory content in \Assets\ of C2C (v43.1 !)
 

Attachments

  • ExportMap_AssetsChangedFiles.zip
    35.6 KB · Views: 9
Last edited:
@Leodim
I checked out your files and though I am on v44 (in fact I am on current SVN) I made it work with some tricks, more about this later. But in general I was able to produce new space maps easily which is great news, thank you!
Anyway there are 2 details I would ask you to change:

1. In my space maps there are 2 rows of polar ocean with ice between the earth part and the space part which are missing in the maps created with your world builder changes. These are important as a buffer so that cities that are built on the northern edge of the world can't have any space regions in their fat cross. Please keep those tiles in, you can consider them as belonging to the space part of the map.
2. You took my "SM - Snofru Standard10_V6" as reference for the large maps. This doesn't make a lot of sense as my "standard" maps have a quite unusual size of the "earth" part (124x56) and a very high space part. It is better to use the "large" space maps as a template as their "earth" part (108x72 tiles) fits perfectly with the large maps that are created with the "world" mapscript. They also have a somewhat condensed space area so they give a total height of 200 tiles, with the "standard" space maps as reference the maps become too big (208 tiles high).

While I don't want to force you to adapt your files to v44 I'd like to explain what I did to make things work anyway:

There are only a few changes that have been made to the space maps between 43 and 44:
  • They have been renamed starting with "SM -" instead of "Space Map -"
  • They are located in "PublicMaps" instead of "PrivateMaps"
  • The 2nd line is "Version=C2C_2" instead of "Version=C2C_1"
  • The names for 2 resources have been changed, BONUS_HELIUM3 to BONUS_HELIUM_3 and BONUS_QUANTONIUM_CRYSTAL to BONUS_QUANTONIUM_CRYSTALS.
So I overwrote my C2C copy (current SVN) with your files, then I renamed the "Space Map - Snofru Standard10_V6" to "SM - Snofru Standard10_V6" and copied it to "PrivateMaps". I then created a 124x56 map (you need to change C2C_World.py to be able to do so) and had the space map created from it in WorldBuilder with the help of your script. I changed the version# in this map to C2C_2, and could run it with the original C2C SVN version (with your files copied in it gives an error message and doesn't work).
 
@Leodim
I checked out your files and though I am on v44 (in fact I am on current SVN) I made it work with some tricks, more about this later. But in general I was able to produce new space maps easily which is great news, thank you!
Anyway there are 2 details I would ask you to change:

1. In my space maps there are 2 rows of polar ocean with ice between the earth part and the space part which are missing in the maps created with your world builder changes. These are important as a buffer so that cities that are built on the northern edge of the world can't have any space regions in their fat cross. Please keep those tiles in, you can consider them as belonging to the space part of the map.
2. You took my "SM - Snofru Standard10_V6" as reference for the large maps. This doesn't make a lot of sense as my "standard" maps have a quite unusual size of the "earth" part (124x56) and a very high space part. It is better to use the "large" space maps as a template as their "earth" part (108x72 tiles) fits perfectly with the large maps that are created with the "world" mapscript. They also have a somewhat condensed space area so they give a total height of 200 tiles, with the "standard" space maps as reference the maps become too big (208 tiles high).

While I don't want to force you to adapt your files to v44 I'd like to explain what I did to make things work anyway:

There are only a few changes that have been made to the space maps between 43 and 44:
  • They have been renamed starting with "SM -" instead of "Space Map -"
  • They are located in "PublicMaps" instead of "PrivateMaps"
  • The 2nd line is "Version=C2C_2" instead of "Version=C2C_1"
  • The names for 2 resources have been changed, BONUS_HELIUM3 to BONUS_HELIUM_3 and BONUS_QUANTONIUM_CRYSTAL to BONUS_QUANTONIUM_CRYSTALS.
So I overwrote my C2C copy (current SVN) with your files, then I renamed the "Space Map - Snofru Standard10_V6" to "SM - Snofru Standard10_V6" and copied it to "PrivateMaps". I then created a 124x56 map (you need to change C2C_World.py to be able to do so) and had the space map created from it in WorldBuilder with the help of your script. I changed the version# in this map to C2C_2, and could run it with the original C2C SVN version (with your files copied in it gives an error message and doesn't work).
That's really cool!

Remember me asking for a space map (only the space part is enough) for each civ4 width? That's (also) where it would come in handy! Plus truncated is not really good looking. I could already use 108 and 124 (124 is not a preset size I think).

Noted for the polar ocean tiles! Do you plan to ALWAYS have 2 tiles with polar ocean at top btw? Just to know if I should detect those by code or add them... which is the same I admit.

The minor changes you mentionned for v44 compatibility shouldn't be an issue at all, in fact you could do most if not all yourself even without being a coder :) Don't worry about it and thanks for the list! :) I'll use the version of the space map read and the other errors you got (paths, name) where just messages I put myself to make it quick but still useable for other people :lol:

@Toffer90 @Thunderbrd I suppose SVN has a read-only for most people, I would commit in it if I had write permissions but I don't think that's the current protocol for C2C modifications. I think it's only pull requests on github. Right?
 
Currently I have space areas fitting for 108 (x72), 124 (x56) and 60 (x40). Only 108x72 is a default size in the "World" mapscript and the 60x40 has never been fully adapted to later changes in space map usage. I didn't make these myself, just took over from other modders. I might consider to make other sizes, too, but that will take a while especially as I 1st have to learn how to do it! Missing sizes would be: 96 (x64, "Standard"), 84 (x56, "Small"), 72 (x48, "Tiny") and 48 (x32, "Duel"). I think 48x32 doesn't make sense but the others should be doable.

The 2 rows of ocean tiles (with ice) should always be there, not depending on the map size as cities can use only up to a 3rd ring (I think a 3rd row of ice always comes with the mapscript).
 
Currently I have space areas fitting for 108 (x72), 124 (x56) and 60 (x40). Only 108x72 is a default size in the "World" mapscript and the 60x40 has never been fully adapted to later changes in space map usage. I didn't make these myself, just took over from other modders. I might consider to make other sizes, too, but that will take a while especially as I 1st have to learn how to do it! Missing sizes would be: 96 (x64, "Standard"), 84 (x56, "Small"), 72 (x48, "Tiny") and 48 (x32, "Duel"). I think 48x32 doesn't make sense but the others should be doable.

The 2 rows of ocean tiles (with ice) should always be there, not depending on the map size as cities can use only up to a 3rd ring (I think a 3rd row of ice always comes with the mapscript).
Got it!

So considering what we have, we could use next higher width. Which atm would give:
- 48 use 60
- 72, 84, 96 use 108 (which is quite a large truncate for 72)
- others <= 124 use 124
- others > 124 missing.

I admit I also could:
- truncate using next higher width (like now but with 3 widths as just listed)
- OR fill missing part with empty space in space and use the next smaller (instead of the next higher) after centering it horizontally. Result would be a space map with more void but not truncated.
- OR use next higher width and interpolate (ie remove tiles)
- OR use next lower width and interpolate (ie add tiles)
Interpolation is a bit more work AND in my memory (on reduction) gives a bit disappointing results on maps "art-wise". But it's quite flexible for sure and since it is not "real existing maps", maybe we wouldn't see the difference much. Not sure.

Digression: I remember for example having to tweak it so "the english channel" and other small sea/land junctions is still there after reduction; and even then, it wasn't as good looking as what a good human would have done (useable though). But it was real maps, with a real comparison, so here (space) maybe it's fine. Not sure. Especially since I don't want to spoil myself too much and actually never looked at the space zone at all, except on minimap to do the code I posted above :lol: :lol: :lol:

I would be glad to hear your thoughts on what's best between these options.

I will think about it myself. I will be with no computers for 5 days so probably won't be around until then.

EDIT : if you have no idea what interpolation means here, https://en.wikipedia.org/wiki/Comparison_gallery_of_image_scaling_algorithms would give you an idea (bilinear is easy to do for example). Just think of the "pixel color" as a "tile terrain type", for maps.
Or https://en.wikipedia.org/wiki/Image_scaling if you are curious.
 
Last edited:
Top Bottom