Announcement

Collapse
No announcement yet.

Openciv3 - Terrain and map

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

  • #76
    I am still not absolutely sure what to do about the map.

    I think that if Darkstar wants to make it, it would indeed be by far best if we could have a spherical map, using something else than tiles. Of cause in this scenario we still need to have defined "tiles" or areas or something, to allow ressource management to be done. But if we have the option to make a spherical map this is not something that is out of our reach.

    Anyway, I have created the beginnings of a tile model. It is, as of now, merely a list of the tile types (I think terrain types are better) that we should have.

    I know that we once had a hugely complex and advanced model, with thousands and thousands of possible tiles. But since we are, no matter what, gonna have a whole lotta tiles, and since we are trying to reduce the importance of tiles in the game, I think having a simple 1 byte terrain system, with 256 terrain types, would be more than adequate.

    The model I have made is pretty simple, and the terrain types still doesn't have very appealing names. It is, however, logical, and as of now it only has around 60 different terrain types. So although I find it good as it is there is room for expansion. Of cause this room could be spent on ressources.

    Here it is:

    There are 4 main groups in terrain types. They are based on temperature: Arctic, Temperate, Subtropic and Tropic. Apart from that there are some other groups: Dry, Medium or Wet, and Mountain, Hill or Flat. And then there are a few special categories.

    Arctic: icecap, water (containing icebergs), dry mountains, dry hills, dry flat, medium mountains, medium hills, medium flat, medium forest mountains, medium forest hills, medium forest flat. (NOTE: Since arctic regions are generally not very rainy I have not included any wet types in the arctic group. Actually I am not even sure if forests can be considered arctic - here I was thinking of forests in Northern Norway or Canada or something. Correct me if I'm wrong)

    Temperate: water, dry mountains, dry hills, dry flat, medium mountains, medium hills, medium flat, wet mountains, wet hills, wet flat, medium forest mountains, medium forest hills, medium forest flat, wet forest mountains, wet forest hills, wet forest flat, swamp.

    Subtropic: water, dry mountains, dry hills, dry flat, medium mountains, medium hills, medium flat, wet mountains, wet hills, wet flat, medium forest mountains, medium forest hills, medium forest flat, wet forest mountains, wet forest hills, wet forest flat, swamp.

    Tropic: water, dry mountains, dry hills, dry flat, medium mountains, medium hills, medium flat, wet mountains, wet hills, wet flat, medium forest mountains, medium forest hills, medium forest flat, wet forest mountains, wet forest hills, wet forest flat, swamp.

    So rainforests would be wet forests, either in temperate, subtropic or tropic climate (there are temperate rainforests). Deserts would simply be dry areas etc.

    Actually terrain that was not dry was always filled with forests in the good old days before man. So wet flat would be an area that used to contain a rainforest, which had been removed, leaving the area with grassland of some sort (which would mostly be used for farmland).

    What do you think?

    It is not our greatest breakthrough, but I think that with a little work (not much is required really) we could have a terrain model working. This will mean we can have someone (Elmo?) draw the different terrain types, and someone else (Darkstar?) can program a (spherical?) map that can be put into our UI.

    Let's get this train moving, shall we guys?
    "It is not enough to be alive. Sunshine, freedom and a little flower you have got to have."
    - Hans Christian Andersen

    GGS Website

    Comment


    • #77
      Originally posted by The Joker
      Let's get this train moving, shall we guys?
      I'd love to!

      As I already asked earlier: what type of graphic would you like to see?
      1. Realistic (like photo-edited)
      2. Drawn (like in civ2)
      3. Rendered (like in Amjayee's first map demo, but not really a good possiblility anymore maybe)
      4. Something different....

      I like 1 the most but 2 will also do the trick.. I included a pic of what I made some months ago. You have (probably) already seen it...

      I just want to add to this picture that I like to see it that there will be some sort of border to each terrain type (like coastlines and stuff), so that it doesnt look so silly.

      Elmo
      Attached Files

      Comment


      • #78
        Would 'sort of realistic' be an option, i.e. not quite a photo, but a fairly realistic drawing?
        If at first you succeed, you should be doing something tougher.

        Comment


        • #79
          I agree with Nath here.

          Sort of realistic, not sattelite realism, not Civ2 drawings, but somewhere in between, where the terrain looks pretty much like what it would in reality, but with a few refinements to ease recognition, would do the trick.
          "It is not enough to be alive. Sunshine, freedom and a little flower you have got to have."
          - Hans Christian Andersen

          GGS Website

          Comment


          • #80
            Yes, of course it's an option. I actually agree with you. It seems the best option for me too. The image I included is made from original photos and some of my own influences. And we (I?) could draw coastlines and stuff which are drawn, rather than taken from a photo.

            Comment


            • #81
              These new ideas are fine for me, I think terrain is not that important... also, it is quite easy to make the map drawing system working like that. But has anyone considered how huge job it is to create the tile graphics? We need lots&lots of them, a reason why I thought of making the rendered map system... I was not sure if we can get enough artists to have enough tiles. But anyway, it's not me who will make all those tiles, so fine.

              Comment


              • #82
                A little different idea for map-making that would ease the graphical part (I'm no programmer so don't ask me ). It would work quite well with tileless systems, which I believe to be the best solution.

                It's a sort of rendered map; First of all create the elevations (like you do in 3d modelling software) - I wonder if it's practically possible to generate a 3d model of the map without any regard to tiles. Try doing it by some sort of 3d vectors. That's the first layer, basically an elevation map. You can even use 2d shapes and give each a height value, like in, um, elevation maps
                some four bits will be enough.

                The next step is to establish temperatures, rainfall etc. - that can be done, again, with vectored shapes, and having nothing to do with the elevations. I'd say four bits for temps, two for rainfall, four for soil types (will have to check some essay about geology/geography for that).

                Then you put the coverage, meaning vegetation. You'll need about two or even one bit for that, modified by the temps, rainfall and soil type. Again, consult real-world data.

                Pathfinding? I think that if you use real kilometers for that and somehow draw lines using key data (elevation, soil type and coverage) using, again, vectors, it'll be possible to implement, although again, I know next to nothing in programming.

                Anyway, if you use for the graphic engine the elevations as a 3d-model and the coverage/soil as textures, with overlays that will draw the temps and other things, it's implementable using the computers that will exist by the time the game is out. You don't have to use high-quality rendering either, and I'd recommend using OpenGL and not DirectX...

                Use a 'real-world' coord system with kilometers as the basic units - although most of the time you'll refer to larger distance units. That way the large-medium-small map types will refer to the detail of regions and not to the number of hexes, detail meaning both number of individual regions and number of vertices.

                I bet that if you look around you'll find a couple of hundred implementations you programmers can work off. So start looking. I'm willing to help in the graphics department as well as in the overall discussion.

                By the way, since elevation and other things automatically modify terrain types, you can put "terrain 1" as a biggie region and have it show as a part-tropical-part-rain forest with the big mountain in the middle gradually changing from forest to bushes to no coverage at all. It'll reduce work, I believe - if you can somehow store the info so that it won't have to make the calculations all over again. You can have a thing called "geographic regions" that will be the intersections of all layer regions and will have the basic tile-like properties like fertility, etc.
                Human stuff can have layers of it's own, this way you can have any size city possible and won't have to worry about armies sharing tiles and such - just put a value modifiable by terrain type, unit type and tech level that will be the min distance between armies before they start duking it out.
                The problem is that there seems to be such a huge amount of calculations here that I'm afraid this is *not* implementable. But if you have some 200 megs for temporary data you're all set

                If you somehow manage to implement this, you'll have absolutely the best terrain engine ever.

                And terrain *is* importat - it's the stage on which everything is happening! The social stuff and all too.

                Again, this is my disclaimer: I don't know anything relevant about programming, so don't blame me if you can't program it. It's reasonable.
                If it's not reasonable, then you can yell at me - but not "can't program this" kind of reasonable!

                Comment


                • #83
                  By the way, if you seperate the drawing of the regions from their other info, (or assign identifiers to non-explicitly-drawn regions or whatever) you need only explicitly draw half of them, since the "negatives" are regions too. In other words, the border of one region is the border of another one too.

                  Comment


                  • #84
                    You know, I thought about it some more and now it really seems to me too complex and stuff. But Darkstar seems to be knowledgable about all this, so I'll just listen to him
                    And to the others

                    Comment


                    • #85
                      Nice suggestion, comrade!

                      I, like yourself, do, however, think that implementing such a map model will be serious work. The majority of things - unit movement, regions etc - can be done fairly easy. Of cause defining different vegetation areas etc can be done like defining regions - laying down some vectors and telling the computer that between these there is a forest. What really creates the problem, however, is ressource management. When we have workers working on the land they will either have to work on a single spot, or in an area. Both becomes rather odd and abstract when trying to make it happen.

                      Of cause it can be done. And I agree with you that Darkstar seems to know what he is talking about. So if anyone can help making it happen it is him. Let's hope he will.
                      "It is not enough to be alive. Sunshine, freedom and a little flower you have got to have."
                      - Hans Christian Andersen

                      GGS Website

                      Comment


                      • #86
                        An interesting idea, people seem to prefer point-based movement to tiles. On the other hand, making climate independent of elevation is over-simplifying things a bit, and I don't mind tiles.
                        If at first you succeed, you should be doing something tougher.

                        Comment


                        • #87
                          Not generate climate seperate from elevation, but map it seperate. My suggestion wasn't concerned with the mechanics of the map-generator.
                          Point-based movement is much more flexible.

                          Comment


                          • #88
                            Actually when I think about it I don't really think I like Elmo's map drawings that much. This is weird though, since I am tremendously impressed by everything else he has made.

                            This is why:

                            - The colours are a bit "sad" or "dull" or something. Like in SMAC the colours are not very bright and happy. CTP was a terrible game, but I think the map graphics were pretty good, since they were bright, easy to recognize and nice to look at.

                            - Each hex has texture on it. I don't like that, since several hexes next to each other all has the same texture and it ends up looking like a tiled floor or something.

                            I propose to use a bit different approach, which also differs from what I have suggested earlier:

                            We are gonna use areas in stead of tiles, as described by Amjayee in the spherical map thread. This means that each area is going to have it's own shape and size. I therefore suggest that each terrain type (with two variables; temperature and humidity)has it's own (bright) colour. There would be perhabs 16 different types, so it should be possible. Each area should ONLY have that colour, so no texture of any kind. And the colour should be easy to recognize from the other ones. I don't care too much about realism any more, since I think playability is more important in this aspect of the game (map graphics). Then, if an area is covered with forest this would be drawed on top of this underlying layer, by drawing actual trees Civ2 style on it. This again has to look nice, realism is not very important. To make it look nice we should make sure that there is a set distance between each tree, and that the trees "start" at half that distance from the edge of the area. This will make sure that a large land with different areas all covered with trees would look like a giant forest, and not several small forests seperated by a small border. The areas should not be easy to seperate from each other in the game. Each temperature (arctic, temperate, subtropic and tropic) should have its own type of trees, just to make it possible to differentiate, and to make things look even nicer.

                            Furthermore, when/if the map goes 3D, elevations would be drawn. I think to make things easier rockyness (whether an area has hills/mountains on it) should merely be a function of the inclination of the area. So an area where all parts of it is the same elevation should be flat, where an area where one part is high above sea level and another is low should be covered by mountains (which should be drawn).

                            Generally I think the areas should be drawn to make them meld together. They shouldn't be clearly seperated on the screen. In stead the borders should be visually unclear, and it would be like looking at an actual terrain.
                            "It is not enough to be alive. Sunshine, freedom and a little flower you have got to have."
                            - Hans Christian Andersen

                            GGS Website

                            Comment


                            • #89
                              Thus far I haven't meddled in the discussions about the map, since I know this is definitely not my subject of knowledge. Yet I would like to make some remarks now:

                              Whatever the map will look like, we will always need tiles/squares/ hexes to organise population, resources and political structures.

                              Then I would like to say that Jokers' terrain types list makes sense to me.

                              There are 4 main groups in terrain types. They are based on temperature: Arctic, Temperate, Subtropic and Tropic. Apart from that there are some other groups: Dry, Medium or Wet, and Mountain, Hill or Flat. And then there are a few special categories.
                              But I think there should be at least four levels of precipitation. After all, every atlas distinguishes between Desert (extremely dry), Steppe (quite dry), Savanna (rather wet) and Rain Forest (daily showers). In desert country very few humans can survive for any lengthy period. The steppes are not suitable for agriculture, but often highly inviting to extensive stock breeding. Without them we wouldn't have a living space for the steppe nomads, who were quite important in history.

                              I also hope we will have some differences in altitude. This was one of the few features of SMAC I liked. I also think the possibility should be there that the climate will change (caused by human interference or by 'natural' causes) and sea levels will rise or fall. I don't think we should necessarily follow history here.
                              When we would do this, substantial parts of land would be swallowed by the sea during the game. Until about 5,000BC Britain was still part of the continent and the North Sea only developed gradually.

                              Finally I would remark there is a significant difference between a low mountain range -like the Harz in Germany or the Scottish Highlands- and high mountains -like the Alps.
                              Jews have the Torah, Zionists have a State

                              Comment


                              • #90
                                Basically I agree with you that some "tile" system is needed for population purposes. But the great things is that Amjayee's newest system (in the 3D map thread) replaces this with areas, which can have any shape we want them to.

                                This means that the area of each area is calculated at the beginning of the game, and after that the area will just work like tiles, except that units, cities etc wont be restricted by them.

                                Personally I find this system much better than a tile system, since it is much more versatile, and not much more complex to create.

                                Furthermore I agree with you that we need 4 kinds of humidity.

                                And I think that changing climate would be a good thing as well.
                                "It is not enough to be alive. Sunshine, freedom and a little flower you have got to have."
                                - Hans Christian Andersen

                                GGS Website

                                Comment

                                Working...
                                X