Announcement

Collapse
No announcement yet.

Generated Worlds

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Personally, I'd rather live in a dessert than a desert. Specials could be spun sugar and big rock candy mountain. More useful for keeping people happy than oil and oases. We're all learning; keep civin'.
    No matter where you go, there you are. - Buckaroo Banzai
    "I played it [Civilization] for three months and then realised I hadn't done any work. In the end, I had to delete all the saved files and smash the CD." Iain Banks, author

    Comment


    • #17
      Shade,

      English is your second language!? You write better than many Americans I know!

      You may be interested in some other Civ "re-creation" efforts. Check out the Alt.Civ area of Apolyton:

      Most notably FreeCiv.
      FreeCiv's homepage: http://www.freeciv.org/
      Apolyton's forum on FreeCiv: http://apolyton.net/forums/forumdisp...s=&forumid=111
      It's open source so you could see potential ways to code Civ2 stuff. I believe one of it's creators is active on Apolyton.


      Originally posted by Blaupanzer
      Personally, I'd rather live in a dessert than a desert. Specials could be spun sugar and big rock candy mountain. More useful for keeping people happy than oil and oases. We're all learning; keep civin'.
      I believe dessert's whale-group special is Molasses Swamp (3 movement points). However, even normal dessert squares produce a lot of food. Great for pumping out settlers in the early game.

      Comment


      • #18
        AND dessert settlers work more intensively on their first turn. However, they later tend to s.l.o.w w..a..y d...o...w...n.
        No matter where you go, there you are. - Buckaroo Banzai
        "I played it [Civilization] for three months and then realised I hadn't done any work. In the end, I had to delete all the saved files and smash the CD." Iain Banks, author

        Comment


        • #19
          English is your second language!? You write better than many Americans I know!
          second...wait
          first: Dutch
          second:French
          third:Latin
          forth:English
          Fifth:German
          something like that
          (this certainly is not to brag,only Dutch and English are good enough for other ppl to understand)

          Dessert-squares en Dessert-settlers... my God Noooooooo....


          all problems are solved and i uploaded a new version,now it works. (if the CIV2 editor doesn't want to load the map just try again it should work)
          => resources are back


          Shade
          ex-president of Apolytonia former King of the Apolytonian Imperium
          "I have not failed. I've just found 10,000 ways that won't work." --Thomas Alva Edison (1847-1931)
          shameless plug to my site:home of Civ:Imperia(WIP)

          Comment


          • #20
            Okay...I tried a small map, it doesn't work. I tried a flat map - it doesn't work. The error message reads "Failed to load map file," though I doubt that's going to be of much help. So it looks like I can't open the maps in the Civ2 editor. I think I'll live.

            However, I did notice a few other minor problems.

            1) You can't generate a flat blank map.

            2) The cutoff for the polar regions is too harsh, in my opinion. Tundra begins at the same latitude all the way across the map, which makes an unnatural straight boundary line.

            3) Erratic river behavior. Rivers tend to flow in circles a lot, and only occasionally have outlets to the sea.

            4) Square landmasses. Not really SQUARE...it's just that there's an unnatural number of straight coastlines. But it's really not too noticable when you start a new game on the map, so...it's only a tiny problem.

            Comment


            • #21
              I can recommend a very good map generator made by Peter Blackman. You can download the Zip-file (253 KB) from his homepage at: http://www.cix.co.uk/~spot/

              Comment


              • #22
                sorry about that,it works fine on my computer.

                1)didn't even think about that one

                2)I know it still needs some finetuning but the rest is beter?or is there the same problem??(sounds strange but it really is usefull to me since you're kinda testtingplayer )
                3)&4) those are rader algorithmical problems,the computer doesn't really understand me But 4 also bothered me and it will be changed (lateron) 3) will probably get a new algo but what you say is most of the time a problem of large maps.(it is also a point where my maps and those of Civ2 are kinda incompatible)

                (there still is the generator QS suggested)

                I'll post some maps here that work on my computer ok?hey an idea could you post a map(even empty is ok)lets say 40X50 created by your CIV2 editor and one of the same size made with my editor(have a little testprogram to check something out)

                shade
                ex-president of Apolytonia former King of the Apolytonian Imperium
                "I have not failed. I've just found 10,000 ways that won't work." --Thomas Alva Edison (1847-1931)
                shameless plug to my site:home of Civ:Imperia(WIP)

                Comment


                • #23
                  Shade,

                  A possible solution to circular rivers, go upstream:

                  Make your river algorithm always start a river in a coastal square (even if it's the coast of a small inland lake). All rivers must dump their water somewhere (unless they're really narrow stagnant lakes or were built by M.C. Escher).

                  After winding your main waterway inland, you can randomly add a few tributaries if desired.

                  Comment


                  • #24
                    Fubla:I found the problem with the Civ2 editor(i think):there is no problem.I made some maps with my editor and with the civ2 editor using the same variables(ie same size),I also created a little testprogram to show me BYTE by BYTE what the difference between 2 such maps was.=>nada,njetsk,notthing,nil,...(you get the point and my depression)

                    But still the Civ2 editor gave an error loading my maps.(but not all the time)
                    =>There is 1 thing I am certain of now ,if you get the error just create a map(random or empty doesn't matter)with the Civ2 editor of the same size and try loading again.When i did that there were no more loading errors and everything went perfect ,don't ask me why or how.but this seems to work.
                    I included 3 maps in this post,if you want you(or anyone else) can try them out(i would ask to try without creating an other map first,i just want to know if they load)
                    (you really learn to "love" computers when you're programming )

                    Edward:that's a good idea but(yes there's a but,I'm sorry)
                    1)there still will be circles
                    2)takes longer to find a good starting spot(but this is the least of my troubles

                    Shade
                    Attached Files
                    ex-president of Apolytonia former King of the Apolytonian Imperium
                    "I have not failed. I've just found 10,000 ways that won't work." --Thomas Alva Edison (1847-1931)
                    shameless plug to my site:home of Civ:Imperia(WIP)

                    Comment


                    • #25
                      shade,

                      You're correct, there could still be circles. But I think rivers without outlets are more "unrealistic" than rivers with an outlet and some circles in it. Even the Civ2 game generates rivers with loops.

                      To avoid circles you might try:

                      1) find a random coastal square. You could loop through all the squares on the map and make a separate array of only squares where:
                        * square is not ocean
                        * square isn't a hill or mountain
                        * square doesn't already have a river
                        * one or more of the four perpendicularly adjacent squares (not diagonally adjacent) are ocean

                        Then choose a random square from your array. Call it (coastX, coastY)


                      2) build the main river path by...
                        square [coastX, coastY] := river;
                        addRiverSquare (coastX, coastY, 1);

                        with the function:

                        function addRiverSquare (x, y, numRiverSquaresSoFar) {
                          if numRiverSquaresSoFar < someConstantBasedOnWorldWetness +/- randomNumber {
                            make array of all 4 adjacent squares (not diagonally adjacent) and call it adjacentSquare[];
                            jumble up the adjacentSquare[] array so the four elements are in a random order;
                            foundGoodUpstreamSquare := false;
                            i := 1;
                            while i <= 4 and not foundGoodUpstreamSquare {
                              if isGoodUpstreamRiverSquare (adjacentSquare[i].x, adjacentSquare[i].y) {
                                foundGoodUpstreamSquare := true;
                                square [adjacentSquare[i].x, adjacentSquare[i].y].hasRiver = true;
                                numRiverSquaresSoFar := numRiverSquaresSoFar +1;
                                addRiverSquare (adjacentSquare[i].x, adjacentSquare[i].y, numRiverSquaresSoFar);
                              }
                              else {
                                i := i +1;
                              }
                            }
                          }
                        }

                        This recursive algorithm avoids making loops (and sticks to Civ2's "rule" that rivers only connect to other river squares "perpendicularly" as opposed to flowing into a diagonally adjacent squares).

                      The function isGoodUpstreamRiverSquare() should return
                        false if the passed square is an ocean (you don't want to add a river in the ocean!),
                        false if the passed square is a hill or mountain (seems to be a Civ2 rule - no rivers in hills or mountains),
                        false if the passed square already has a river (you're just going downstream in this case),
                        false if the passed square is adjacent to more than one river (it'll always be adjacent to the river square you just laid down but we want to avoid making loops. (being diagonally adjacent to other river squares is OK)),
                        and true otherwise.

                      If you also make the function isGoodUpstreamRiverSquare() return false if the passed square is adjacent to an ocean, you'll avoid "deltas" (where a river spills out into the sea from multiple coastal squares) and also avoid a river cutting a continent in half. If you like deltas, you can add them by remembering the initial coastal square and making a perpendicularly adjacent (not diagonally adjacent) coastal land square a river square.


                      3) You can add tributatries by walking up or downstream to a river square (say at x, y) and invoking addRiverSquare (x, y, 1). The number of tributaries might be based the main river path's number of river squares (the longer the initial river the more tributaries). It might alternately be based on the wetness of the world (since returning the last numRiverSquaresSoFar value could be difficult if you're not used to recursive functions). When you add tributaries you might want to tweak the code so tributaries aren't as long on average as the main path.

                      Warning! This isn't written in any particular programming language and (since I just made it up on the fly) is sure to contain bugs and stuff I've overlooked (e.g. looking at adjacent squares when you're already on the edge of the map and such). You'll need to do some testing and tweaking but this is the basic idea. A friend of mine and I used a similar algorithm to recreate the famed Atari game "MazeCraze" on our Commodore 64. MazeCraze mazes (like ideal Civ2 rivers) don't include loops (I presume so the AI MazeCraze monsters wouldn't endlessly circle them).

                      Comment


                      • #26
                        thx Edward,just copy pasted your reply,it looks like a good algorithm.
                        (note that i am not making a mapeditor for CIV2,this causes some strange effects on conversion,because of the strange way Civ2 gives coordinates to it's squares)

                        I know there are still a hole lot of things that need some finetuning in the mapeditor but for now it will do.

                        again thx for the excellent advise(don't worry about the bugs,just keep a shoe around to kill them )

                        shade
                        ex-president of Apolytonia former King of the Apolytonian Imperium
                        "I have not failed. I've just found 10,000 ways that won't work." --Thomas Alva Edison (1847-1931)
                        shameless plug to my site:home of Civ:Imperia(WIP)

                        Comment


                        • #27
                          For an even more realistic river, make it so that (going upstream) once you hit hills, the next squares can only be hills or mountains, and once you hit a mountain, the next squares (if any) can only be mountains. You DO allow rivers on hills and mountains, right?
                          A horse! A horse! Mingapulco for a horse! Someone must give chase to Brave Sir Robin and get those missing flags ...
                          Project Lead of Might and Magic Tribute

                          Comment


                          • #28
                            Ribannah:I'll think about it.(btw there can be more than 1 river that starts on a mountain )

                            You DO allow rivers on hills and mountains, right?
                            => I'll answer this one with American eloquence=> Duhh.

                            Shade
                            (nice avatar)
                            ex-president of Apolytonia former King of the Apolytonian Imperium
                            "I have not failed. I've just found 10,000 ways that won't work." --Thomas Alva Edison (1847-1931)
                            shameless plug to my site:home of Civ:Imperia(WIP)

                            Comment


                            • #29
                              Originally posted by shade
                              there can be more than 1 river that starts on a mountain
                              That you can still have, if you allow a second river (again, going UPstream!) to intersect.
                              If it does, don't continue the second river. Instead, add a small percentage to allow any river to originate from several streams.
                              To further reduce the chance of illogical circles and such, disallow the next square upstream to be closer to an ocean square (unless you enter hills or mountains).
                              A horse! A horse! Mingapulco for a horse! Someone must give chase to Brave Sir Robin and get those missing flags ...
                              Project Lead of Might and Magic Tribute

                              Comment


                              • #30
                                That would all be very good for realism,but I also have to make the computer understand it and that's a little harder

                                But this will all be for a later stadium when the basic game is finished.The algorithms I used now still aren't perfect but they were only to see if the rest worked fine(and it does).

                                thx for all the intrests.
                                (what do you think of the posted maps??)

                                shade
                                ex-president of Apolytonia former King of the Apolytonian Imperium
                                "I have not failed. I've just found 10,000 ways that won't work." --Thomas Alva Edison (1847-1931)
                                shameless plug to my site:home of Civ:Imperia(WIP)

                                Comment

                                Working...
                                X