nani Posted April 18, 2019 Report Share Posted April 18, 2019 (edited) A generic volcanic island for the kicks. MAP DOWNLOAD (MOD): nani_maps_v0.10.0.pyromod @coworotel feel free to add it to the community map pack Edited May 1, 2019 by nani 10 2 Quote Link to comment Share on other sites More sharing options...
coworotel Posted April 18, 2019 Report Share Posted April 18, 2019 Wow great!! I'll add it! 2 Quote Link to comment Share on other sites More sharing options...
elexis Posted April 18, 2019 Report Share Posted April 18, 2019 Very good! Some possible enhancements: Irregularities help break up patterns changing the placer: one of those two center placers was more irregular than the other (but also slower) additional painting, see attached screenshot brown areas = cliffs or small hills black beach sand corals (see corsica.js and cycladic_archipelago.js for example) https://www.tourismus.de/files/mauritius-reisen.jpeg Possible feature: Purple = paths through the forest. (Might be unfeasible with the current tileclasses / grid resolution. The paths might remove too much area from the forest.) General procedure to making a great map even greater: Inspiration:: Open up a websearch for images and look for pictures of nature in the area you want to portray. Find all actors Start atlas, generate a map, set the filter to display all actors, go through the entire list and pick every actor that somehow fits to the map Find all textures: Browse through all textures of all biomes and see what could be used. For example for MultiPainters (making texture patterns more complex). Test environment settings: Enable all graphics settings, start atlas, generate a map, browse through the few skysets, water shapes, make sure fog isn't annoying. Mapgen-Performance: Doing a logger call after every statement minimizes later effort to locate possible bottlenecks. That output was logged to mainlog.html? Ingame-Performance: Make sure the trees aren't too dense, too many of them are bad for both rendering and simulation performance. Title and Description: 0 A.D. should contain only maps related to that specific geography and time. Can find authentic locations by doing a websearch or asking forum users. I suppose it's a fictive area of greece, do they have volcanic islands at india? Apparently so:https://en.wikipedia.org/wiki/List_of_volcanoes_in_India. Maps outside of or agnostic of historic and geographic context may be tolerable or justifiable on a per-case basis. But we want to create a product that is directed towards this timeframe and geographic frame of 0 A.D.. So it is, and must be considered a systematic mistake to first create the map and then doing the research on the context. If context turns out to be a wrong idea, then the entire work might have been wasted (at least if the objective was to have it in vanilla). Keep this in mind as soon as you get the idea for a map the very first time, and especially before you spend a lot of time on the code. On promotional screenshots: Take promotional screenshots with all graphics settings enabled. In case this won't turn out to be a bandwidth issue, promotional screenshots can be taken using the 6400*4800 resolution bmp screenshot hotkey, and convert it to a 90% quality JPEG (10mb). (see https://play0ad.com/new-release-0-a-d-alpha-23-ken-wood/ for example) (Disclaimer: Not a request for changes, not a recommendation, but the bare information on the conclusions I have come to after lessons learnt from mistakes and success of random maps, free to redistribute and modify under the same terms.) 2 Quote Link to comment Share on other sites More sharing options...
WhiteTreePaladin Posted April 18, 2019 Report Share Posted April 18, 2019 I like it. Might require a few minor changes, but I hope it can get added in the base game. 1 Quote Link to comment Share on other sites More sharing options...
nani Posted April 18, 2019 Author Report Share Posted April 18, 2019 Version 0.1.1: Followed some of the recommendations from elexis but not all ()/ 5 Quote Link to comment Share on other sites More sharing options...
elexis Posted April 18, 2019 Report Share Posted April 18, 2019 The forests end a bit abruptly, the grass transition wasn't so bad. I suspect there should be rocks, cliff actors and little bumps at the beaches? Also suspecting that the map has too much area of water. At least the outer circle of the island won't be of much relevance (unless there are some attractions like islands or valuable resources) and thus players would never travel there. Then one can use more of the map for the island. (Other than the purpose maximization of the tiles, there is also the expectation of playable map area from other maps. "Normal" mapsize is large on one kind of map and too small of the other kind of map.) 2 Quote Link to comment Share on other sites More sharing options...
nani Posted April 18, 2019 Author Report Share Posted April 18, 2019 (edited) 1 hour ago, elexis said: The forests end a bit abruptly, the grass transition wasn't so bad. I suspect there should be rocks, cliff actors and little bumps at the beaches? I was looking for this kind of look image ref: http://www.traveller.com.au/top-10-tropical-cruise-islands-gr4my5 1 hour ago, elexis said: Also suspecting that the map has too much area of water. Part of what defines an island as such is having water around it, downplaying it seems like losing part of the charm of the map. 1 hour ago, elexis said: At least the outer circle of the island won't be of much relevance (unless there are some attractions like islands or valuable resources) and thus players would never travel there. My take is that players will have the possibility of having naval battles or attack from the ground. 1 hour ago, elexis said: there is also the expectation of playable map area from other maps. "Normal" mapsize is large on one kind of map and too small of the other kind of map.) Not much can be done, the volcano must be there and will take space from the map yes or yes. Edited April 18, 2019 by nani 1 Quote Link to comment Share on other sites More sharing options...
nani Posted April 18, 2019 Author Report Share Posted April 18, 2019 Btw. Sand footprints would be awesome , but not implemented 1 Quote Link to comment Share on other sites More sharing options...
WhiteTreePaladin Posted April 19, 2019 Report Share Posted April 19, 2019 1 hour ago, nani said: I was looking for this kind of look 1 hour ago, nani said: Part of what defines an island as such is having water around it, downplaying it seems like losing part of the charm of the map. Maybe some areas of grass could be carved out of some spots of forest to allow for different beach transitions and more variety. Perhaps the island could be more irregular to allow for more interesting shoreline shapes like the nice crescent cove in that photo. Some of this could be directly added into the island shape, and some could be implemented in offshore sandbars or other features. Imagine building a tower on a coastal rock. It's up to you. It's a nice map either way. Be careful with the number of trees and the amount of smoke. Back when I had a graphics card installed and I loaded the current gray volcano map, I could directly control the fan speed by just moving the camera on and off of the smoke particles. 1 1 Quote Link to comment Share on other sites More sharing options...
nani Posted April 19, 2019 Author Report Share Posted April 19, 2019 Your ideas are nice but would be hard to code it right with the current map and I'm not up to it ... maybe in some future map. 1 Quote Link to comment Share on other sites More sharing options...
elexis Posted April 19, 2019 Report Share Posted April 19, 2019 Map area: "maxRadius": () => fractionToTiles(0.5 * 0.65), 0.10 -> 0.1 new ClumpPlacer(diskArea(volcano.maxRadius * 0.3), 0.10, 0.005, Infinity, volcano.position), -> If you move these constants to the top, then you'll get an overview of where the different areas begin, so makes it easy to change things in retrospect. For example: widthVolcano = 20% widthForest = 20% widthBeach = 10% widthCoral = 10% widthWater = 40% As I don't have the exact numbers (one could also count with a wireframe mode enabled view), I can't tell exactly how much area is usable, but I suspect that if we look at only one dimension (line from center to radius), it's somewhere like 20% volcano, 30% land, 20% water that is used for naval warfare and 30% water that is never moved to unless someone wants to hide the last woman. But since the area is square, the outer 20% of water span much more maparea than the inner 20% (volcano) of that line. Basically I presume that naval battle will occur approximately only within the area of corrals, and the rest will not be played so much. What mapsize is that screenshot? Large? 17 hours ago, nani said: The shape of the volcano is very appealing. Impassable entities: I suspect units won't be able to chop the trees at the top of the volcano. If that's actually the case, or if you don't know and don't shy away from adding protection, you can add a SlopeConstraint to filter to steep terrain. You can place visualactors instead of entities on the impassable terrain if visually needed or useful. Deprecated functions: Notice createDecoration, createMines rely on a defect, deprecated function. The broken function can only be fixed if all maps don't rely on the defect anymore to achieve the desired entity distribution. Fixing the defect means having to do the entity distribution for all maps with calls to these functions from scratch again. So new maps shouldn't introduce calls to these functions: #4695. Other than that, some of these functions (IIRC createFood, createMines,...) are not much more than an alias to createObjectGroups with (hidden and hardcoded, sometimes undesirable) values. So I came to the conclusion that these aliases bring more harm than good and should be removed in favor of calling createObjectGroups directly (#4989). I can only assume that these functions were made for the purposes of either fabricating maps at the cost of waiving artistic freedom and consideration or based on the false, or at least not universally true presumption that entities are placed the same way on all maps. 2 Quote Link to comment Share on other sites More sharing options...
coworotel Posted April 19, 2019 Report Share Posted April 19, 2019 @nani is this intended? 1 Quote Link to comment Share on other sites More sharing options...
nani Posted April 19, 2019 Author Report Share Posted April 19, 2019 (edited) @coworotel yes/no. I already saw it happen while I was doing the map, I don't think is really a dealbreaker. So yes, intended. Edited April 19, 2019 by nani 1 Quote Link to comment Share on other sites More sharing options...
coworotel Posted April 19, 2019 Report Share Posted April 19, 2019 Yeah, I actually found it kinda cool 1 Quote Link to comment Share on other sites More sharing options...
Sundiata Posted April 19, 2019 Report Share Posted April 19, 2019 I think the map looks gorgeous... Nice work @nani! I also think that about half of the outer most ring of water is essentially wasted space that could be better used to recreate the much larger grassy transition between the forrest and the beach, like in your first post, but with more jagged edges like in your second post. It just feels a bit weird to build a town on the beach, and the Iberian starting walls and those mines extending into the sea look and feel a lot like a bug. There would still be more than enough space for large naval battles. Either way, the map looks absolutely lovely 2 Quote Link to comment Share on other sites More sharing options...
nani Posted April 19, 2019 Author Report Share Posted April 19, 2019 2 hours ago, elexis said: "maxRadius": () => fractionToTiles(0.5 * 0.65), 0.10 -> 0.1 new ClumpPlacer(diskArea(volcano.maxRadius * 0.3), 0.10, 0.005, Infinity, volcano.position), -> If you move these constants to the top, then you'll get an overview of where the different areas begin, so makes it easy to change things in retrospect. For example: widthVolcano = 20% widthForest = 20% widthBeach = 10% widthCoral = 10% widthWater = 40% As I don't have the exact numbers (one could also count with a wireframe mode enabled view), I can't tell exactly how much area is usable, but I suspect that if we look at only one dimension (line from center to radius), it's somewhere like 20% volcano, 30% land, 20% water that is used for naval warfare and 30% water that is never moved to unless someone wants to hide the last woman. But since the area is square, the outer 20% of water span much more maparea than the inner 20% (volcano) of that line. Basically I presume that naval battle will occur approximately only within the area of corrals, and the rest will not be played so much. What mapsize is that screenshot? Large? Very true, true I started with that in mind but somewhere down the line of eating cookies and typing furiously I the spaghetti code slipped through the cracks and made it into the map code. The map in the image is large size. 2 hours ago, elexis said: Impassable entities: I suspect units won't be able to chop the trees at the top of the volcano. If that's actually the case, or if you don't know and don't shy away from adding protection, you can add a SlopeConstraint to filter to steep terrain. You can place visualactors instead of entities on the impassable terrain if visually needed or useful. Tested once. No slope constraint but all trees should be reachable (maybe some at the most top of the volcano no but anyway ....). 2 hours ago, elexis said: Deprecated functions: But those functions with deprecated code are very handy for repetitive placers like mines, stone, food, ... Quote Link to comment Share on other sites More sharing options...
elexis Posted April 19, 2019 Report Share Posted April 19, 2019 53 minutes ago, nani said: But those functions with deprecated code are very handy for repetitive placers like mines, stone, food Why are they handy? Because they have 2-3 less arguments than createObjectGroups and thus benefit from information hiding? I think that would be a fallacy, because the hidden hardcoded magic numbers are not universally true for all maps but may vary a lot. So hiding these values only makes it harder to determine if the values are appropriate. (The other aspect is that the name "createMines", "createFood", "createForests" are nice to read, than 3 times "createObjectGroups", but that doesn't imply that this label has to be present in the name of the called function. Above every createObjectGroups statement should be one logger call that stores this information.) 49 minutes ago, nani said: Tested once. One can obtain this information for all tiles in one picture by painting the constraints in very noticeable colors (and possibly not placing any entities): Quote createArea( new MapAreaPlacer(), new TerrainPainter("purple"), yourMountainTopConstraints); createArea( new MapAreaPlacer(), new TerrainPainter("green"), new SlopeConstraint(0, 2)); (We should put such practices into a Wiki Random Map Guideline, but one has to be in the rmgen rabbithole to recall all of these practices.) 1 hour ago, nani said: The map in the image is large size. Guess I need to compile the game (want to know the playable area vs. gamesetup player intent area). 1 1 Quote Link to comment Share on other sites More sharing options...
nani Posted April 19, 2019 Author Report Share Posted April 19, 2019 (edited) Pls, I always enjoy reading your input but I don't want to start yet another kilometric discussion :). Let's enjoy the map. Edited April 19, 2019 by nani Quote Link to comment Share on other sites More sharing options...
fatherbushido Posted April 19, 2019 Report Share Posted April 19, 2019 (edited) Thanks @nani for providing your work! Edited April 19, 2019 by fatherbushido (it makes me remind the "LOST" tv series) 1 Quote Link to comment Share on other sites More sharing options...
WhiteTreePaladin Posted April 20, 2019 Report Share Posted April 20, 2019 5 hours ago, ffffffff said: Thanks @ffffffff! Thanking yourself? Is self-notifying the forum version of setting a reminder? 1 Quote Link to comment Share on other sites More sharing options...
Guest Posted April 20, 2019 Report Share Posted April 20, 2019 How is performance? Quote Link to comment Share on other sites More sharing options...
nani Posted April 21, 2019 Author Report Share Posted April 21, 2019 21 hours ago, (-_-) said: How is performance? Not optimized in the slightness but okeish gen time. Quote Link to comment Share on other sites More sharing options...
Guest Posted April 22, 2019 Report Share Posted April 22, 2019 On 4/19/2019 at 3:34 AM, nani said: Btw. Sand footprints would be awesome , but not implemented Wait, I really think it is. But it is very faint and disappears quickly. Like ship wakes. Or is this some sort of Mandela effect? Quote Link to comment Share on other sites More sharing options...
nani Posted April 22, 2019 Author Report Share Posted April 22, 2019 1 hour ago, (-_-) said: Wait, I really think it is. But it is very faint and disappears quickly. Like ship wakes. Or is this some sort of Mandela effect? Never seen them. Maybe you remember particles dust? Quote Link to comment Share on other sites More sharing options...
coworotel Posted April 22, 2019 Report Share Posted April 22, 2019 Just finished a match on Giant. Really nice fun map. 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.