21 new maps / Scenarios shared 2021-07 and later

Can you help improve your favourite game? Hardcore C mages, talented artists, and players with any level of experience are welcome!
Molo_Parko
Hardened
Posts: 158
Joined: Fri Jul 02, 2021 4:00 pm

Re: 19 new maps / Scenarios shared 2021-07 and later

Post by Molo_Parko »

Image

Elevation Landmass 50x50=3k, 81% land, Classic, Flat, v1.sav
Features a landmass generated to convey elevation, with the center of the map being the highest land, then declining toward the sea on all sides. Suitable for 8 players (the default) at 250 (land) tiles-per-player, or 20 players at 100 tiles-per-player. FreeCiv handles random starting positions well for this type of map, so no pre-set start positions are specified and the maximum number of players is at 150, which is the FreeCiv software limit.

This is my least favored of the scenarios I've posted thus far. Though there is an obvious visual difference from games generated by the built-in map generators in Freeciv, it "feels" too similar to me. I find it to be too easy, insufficiently challenging, etc.

Also attached is a shell script generator for this type of elevation based map. The script can create this type of map at different sizes/dimensions for more or fewer players, for instance.

This post begins page 3 of this topic. There are more scenarios on the other pages.
Attachments
map generator Elevation Landmass.sh.zip
(6.01 KiB) Downloaded 190 times
Elevation Landmass 50x50=3k, 81% land, Classic, Flat, v1.sav.zip
(7.39 KiB) Downloaded 191 times
Last edited by Molo_Parko on Wed Sep 29, 2021 9:07 pm, edited 2 times in total.
Molo_Parko
Hardened
Posts: 158
Joined: Fri Jul 02, 2021 4:00 pm

Re: 20 new maps / Scenarios shared 2021-07 and later

Post by Molo_Parko »

Image
^ Island pattern 1

Prison Islands 65x90=6k, 36% land, Classic, Flat, v1.sav
Islands imprisoned by islands. Why? The idea was to delay, for at least some tribes, expansion, access to other areas, and meeting other tribes for a different game experience than most maps provide. (In terms of diplomacy, this scenario is the opposite of "The Hunted" in which every tribe begins meeting others on turn zero -- right off the bat!) To escape, the inner island tribe must either build or capture a city on the outer ring island, or ally with the tribe(s) occupying the outer island for access to the greater sea. Even when not allied and without a friendly city on the outer island, it is still likely that the inner island tribe will meet other tribes eventually, when other tribes are visiting (or attacking, or allied with) the outer island tribe. 9 players=250 land tiles-per-player, 21 players=100 land tiles-per-player. There are 30 sets of islands in this map, so 60 players would leave no island unoccupied.

Also attached is a shell script generator which can create this type of map at different sizes/dimensions by repeating an island pattern with randomized terrain and river tiles. Five island patterns are available and any of them can be specified on the command line when running the script. The fifth pattern, shown below, provides yet another twist to the game -- the outer island is composed of arctic tiles on which settlers can not build cities and only engineers can transform those tiles, which delays all contact with other tribes until after Explosives technology has been researched (with the only exception being contact via Marco Polo's Embassy.) When a pattern using arctic tiles for the outer island is selected, no start positions are generated for the outer island. Each island pattern may also have a different ratio of land tiles for the outer and inner islands - more tiles on one than the other may give one tribe an advantage over the other.

Image
^ Island pattern 2 ( add "-i 2" on the command line after the script's path)

Image
^ Island pattern 3 (same as pattern 1 but oriented horizontally rather than vertically for a wider map rather than a taller map.)

Image
^ Island pattern 4

Image
^ Island pattern 5

EDIT: Incidentally, for anyone who can't or doesn't want to run a shell script on their system, some of the map generator scripts can be run successfully at http://www.onlinegdb.com/online_bash_shell

Just unzip the shell script file and open it in any (plain text) text editor. Select all, copy, and then paste into the browser window at the onlinegdb.com site and click the small green "Run" button at the top of the page. LittleSticks v1.1 also runs successfully there and those (Prison Islands and Little Sticks) are the only two I tested at the site.

EDIT2: Spiral Sea works there too.
Attachments
map generator Prison Islands.sh.zip
(7.24 KiB) Downloaded 172 times
Prison Islands 65x90=6k, 36% land, Classic, Flat, v1.sav.zip
(9.28 KiB) Downloaded 187 times
Last edited by Molo_Parko on Fri Oct 01, 2021 5:04 pm, edited 6 times in total.
Molo_Parko
Hardened
Posts: 158
Joined: Fri Jul 02, 2021 4:00 pm

Re: 21 new maps / Scenarios shared 2021-07 and later

Post by Molo_Parko »

Image
Fairspun 55x50=3k, 96% land, Classic, WrapX+Y, v1.sav
Inspired by the 'Fair islands' FreeCiv built-in map generator. This scenario's map is composed of repeated instances of a 5x5 tile pattern (always the same terrain tiles). The pattern is randomly rotated to achieve terrain fairness with the appearance of variance. The scenario has evenly-spaced, pre-set starting positions for 9 players which is about 290 (land) tiles per player. The map was generated via the attached shell script which can be used to generate the same style of map at different sizes.

Code: Select all

# 5x5 grid of terrain tiles to place
grid[0]="phpp+"
grid[1]="ppppp"
grid[2]="pfghg"
grid[3]="ggggg"
grid[4]="gfgfh"
^ The grid as specified in the shell script.
Attachments
map generator Fairspun.sh.zip
(6.05 KiB) Downloaded 181 times
Fairspun 55x50=3k, 96% land, Classic, WrapX+Y, v1.sav.zip
(8.41 KiB) Downloaded 173 times
Molo_Parko
Hardened
Posts: 158
Joined: Fri Jul 02, 2021 4:00 pm

Re: 21 new maps / Scenarios shared 2021-07 and later

Post by Molo_Parko »

Code: Select all

data=$(jot -s "" -b "gggfgp" 30) ; for ((i=1;i<66;i++));do echo "${data:${i}:${i}}" ; done | fmt -c | nl -v 0 -s '="' -w4 -n rz | sed -e 's/^/t/' -e 's/$/                                  "/' | cut -b 1-72 | rev | sed -e 's/^/"/' | rev
t0000="                                g                                "
t0001="                                gf                               "
t0002="                               fgp                               "
t0003="                               gpgg                              "
t0004="                              pgggf                              "
t0005="                              gggfgp                             "
t0006="                             ggfgpgg                             "
t0007="                             gfgpgggf                            "
t0008="                            fgpgggfgp                            "
t0009="                            gpgggfgpgg                           "
t0010="                           pgggfgpgggf                           "
t0011="                           gggfgpgggfgp                          "
t0012="                          ggfgpgggfgpgg                          "
t0013="                          gfgpgggfgpgggf                         "
t0014="                         fgpgggfgpgggfgp                         "
t0015="                         gpgggfgpgggfgpgg                        "
t0016="                        pgggfgpgggfgpgggf                        "
t0017="                        gggfgpgggfgpgggfgp                       "
t0018="                       ggfgpgggfgpgggfgpgg                       "
t0019="                       gfgpgggfgpgggfgpgggf                      "
t0020="                      fgpgggfgpgggfgpgggfgp                      "
t0021="                      gpgggfgpgggfgpgggfgpgg                     "
t0022="                     pgggfgpgggfgpgggfgpgggf                     "
t0023="                     gggfgpgggfgpgggfgpgggfgp                    "
t0024="                    ggfgpgggfgpgggfgpgggfgpgg                    "
t0025="                    gfgpgggfgpgggfgpgggfgpgggf                   "
t0026="                   fgpgggfgpgggfgpgggfgpgggfgp                   "
t0027="                   gpgggfgpgggfgpgggfgpgggfgpgg                  "
t0028="                  pgggfgpgggfgpgggfgpgggfgpgggf                  "
t0029="                  gggfgpgggfgpgggfgpgggfgpgggfgp                 "
t0030="                 ggfgpgggfgpgggfgpgggfgpgggfgpgg                 "
t0031="                 gfgpgggfgpgggfgpgggfgpgggfgpgggf                "
t0032="                fgpgggfgpgggfgpgggfgpgggfgpgggfgp                "
t0033="                gpgggfgpgggfgpgggfgpgggfgpgggfgpgg               "
t0034="               pgggfgpgggfgpgggfgpgggfgpgggfgpgggf               "
t0035="               gggfgpgggfgpgggfgpgggfgpgggfgpgggfgp              "
t0036="              ggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgg              "
t0037="              gfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggf             "
t0038="             fgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgp             "
t0039="             gpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgg            "
t0040="            pgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggf            "
t0041="            gggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgp           "
t0042="           ggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgg           "
t0043="           gfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggf          "
t0044="          fgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgp          "
t0045="          gpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgg         "
t0046="         pgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggf         "
t0047="         gggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgp        "
t0048="        ggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgg        "
t0049="        gfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggf       "
t0050="       fgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgp       "
t0051="       gpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgg      "
t0052="      pgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggf      "
t0053="      gggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgp     "
t0054="     ggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgg     "
t0055="     gfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggf    "
t0056="    fgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgp    "
t0057="    gpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgg   "
t0058="   pgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggf   "
t0059="   gggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgp  "
t0060="  ggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgg  "
t0061="  gfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggf "
t0062=" fgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgp "
t0063=" gpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgg"
t0064="pgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggfgpgggf"
Merry Christmas :)
Molo_Parko
Hardened
Posts: 158
Joined: Fri Jul 02, 2021 4:00 pm

Re: 21 new maps / Scenarios shared 2021-07 and later

Post by Molo_Parko »

New scenarios are posted in the "Collection of Scenarios" topic, here: http://forum.freeciv.org/f/viewtopic.php?p=108770
Post Reply