This only responds to Yann's points, but I have some notes/thoughts at the bottom which pertain to the entire thing. Yann Chachkoff wrote: > > Just some thoughts about world random-generated maps... > > 1. I do not see clearly what would be the advantages of random-generated > worldmaps. Of course, this may mean that we'll not have to make the > long-waited larger worldmaps "by hand"; besides this, I do not understand. The perceived value is that by having the world map randomly generated, it would be much easier (and likely) for maps to differ server to server. Eg, if all I have to do make a new world map on a server I am setting up is run a few commands I'm much more likely to do it than if I have to create an entire world map by hand. But I guess the big question here is how important is that value? If the general consensus is 'who cares if the world map is the same or different', then its probably easier to either just expand the current world map by hand, or create a new world map via function, and then fix it up/populate it as needed. > > 2. On the other hand, I do see better random maps generation algorithms as a > major progress - as long as it concerns only the current random maps system. I'm not sure if something like the perlin generation will really help up much for dungeon. Even then, the dungeons lack the thing hand maps have - the balance of good quests and good items. All the random maps/quests you get sent on from the castle in scorn are not 100% random - the rewards for the quests, as well as the final map for each quest are hand done. > 3. Technical question: do you plan to make a brand new generator subsystem, or > integrate it into the current random_map engine ? I would prefer the second > solution, as it would keep the code cleaner but that's just my opinion of > course. It depends. In not a lot of work, I was able to get the perlin function to generate values and write out a image file in ppm format (this was mostly so it is convenient to see what it came up with and how tweaking values may effect things). It would be very easy (less than an hour) of work to extend that to write out a series of files in crossfire map format (as to write the format, it only needs to know what objects to put where). So if this was desired to be used as a method to start a world map from, it would be quite easy. This would not include pasting other maps into it and so forth - for that, I was thinking that it would need to get integrated into the random map code (since it already has that logic). > > 4. Suggestion: implementing map-generation algorithms in the editor. I think > this could be quite interesting, since it could be of a more general purpose > (if you want to make a new worldmap, start by generating one, and then > customize it as you want). This could also be useful just for dungeons. EG, your making a dungeon, you know the quest, and you know the finishing point, but you want to toss some other levels in between. Call up random map maker to make some for you, you can still tweak as necessary (adjust monsters, move some walls around), but that is easier than creating the entire intervening maps by hand. For outsid maps, I'm less certain what I want to do. Some of the maps AV mentioned (pup land, lake county) are very fine maps. But one problem is that they are dissassociated from the world as large - you hop on a dragon or boot, and appear. And there are others - wolfsburg and its surround land, port joseph, maybe one or two others. I can understand some reason to do this, some for quests, some because the person making want all control, etc. We really need to figure out what to do on these if we make the world bigger. I would say for example dtabb land should get back on the main continent. Some of those areas could perhaps be on islands off the main world. While right now you would still use boats/dragons to get to them, I hope at some point to changing the way those objects work, eg, you hop on a boat, and it lots you move over water and you can sail it where ever you want (think of the older ultima games here). This then adds the oceans as a place to explore. > 5. Now for the weather system: good idea, although a decent weather system > would require quite a lot of work and deep thinking before starting coding it > (because of the great number of game parameters it could possibly > need/affect). As someone else said, it really depends on what it does effect. Realistically, terrain has little importance in crossfire (you move slower through it, some blocks sight or passage). Having forests replace plains would not likely to have any big effect. My general thoughts: If people generally do not want to have a randomly generated map unique to each server, let me know. It is certainly simpler to have a static world map (don't need to worry about special exit code, placing exits, or putting certain maps onto the world map. Simply put, if people are not going to use, or don't care about a feature, there is no reason to do it. Unfortunately, it is very hard to know what people want - if I say 'lets make the entire world a static map', some people will likely say it should be dynamic. If I say it should be dynamic, other people say it should be static. Trying to meet both is a bit of a pain (certainly possible), but certainly more works. My current thought is that if a static world is done is to use something like the perlin function to generate a good base map, and work from there. The reason I say this is that expanding the current world map by say 25 times will just result in huge blocks of the same thing, which is not useful. Using a perlin function should get a more dynamic map, eg, more varied terrain, and probably not blocks 25 times wide. From this generated map, all the various exits and so forth could be placed by hand. My thought is that since we probably want a basic continent surrounded by water, the effect is likely to look the same in most any case (eg, high points in the middle). Note that when I refer to static above, I am really meaning the base map. Whether and how weather effects the basic static map is another question. In another message, I'll pose the questionare.