Page 1 of 3 123 LastLast
Results 1 to 10 of 27
Like Tree1Likes

Thread: May/June Lite Entry: Gulf of Malabor

  1. #1
      gilgamec is offline
    Guild Journeyer gilgamec's Avatar
    Join Date
    Mar 2009
    Location
    The Barbarian West
    Posts
    113

    Wip May/June Lite Entry: Gulf of Malabor

    Hi, all! Long time lurker, first time poster here. This month's Lite Challenge seems like as good a time as any to try my hand (as well as forcing me to actually make progress!)

    My main problem is that I can't draw; no, not at all. I'm also not especially artistic. Fortunately, I have a degree in computer graphics, so I can play to my strengths and try to make a map completely procedurally. Ideally, I'll be able to press a button and get a new map every time. I'm going to have to sacrifice some niceties, of course, but hopefully I can design around that too.

    So, I'll try to develop a reasonable procedural style over the next month, and hopefully post some WIPs here as I go.

    First things first. We need coastline and islands. Let's try a sea basin, surrounded by the mainland, a couple of islands, and a peninsula. I pulled out the ol' tablet and sketched a simple outline:
    May/June Lite Entry: Gulf of Malabor-malabor-coastline-curved.png

    Now to make it a little more rugged, we add a little fractal noise to get
    May/June Lite Entry: Gulf of Malabor-malabor-coastline-fractal.png

    Looks decent enough for a first start. Add a little splash to get my first checkpoint.
    May/June Lite Entry: Gulf of Malabor-malabor-1.png

  2. #2
      Gandwarf is offline
    Community Leader Gandwarf's Avatar
    Join Date
    Jun 2008
    Location
    Netherlands
    Posts
    3,025

    Default

    Welcome Gilgamec, good to see you delurking for a challenge.
    Check out my City Designer 3 tutorials. See my fantasy (city) maps in this thread.

    Gandwarf has fallen into shadow...

  3. #3
    Community Leader Facebook Connected Steel General's Avatar
    Join Date
    Jun 2008
    Location
    Ft. Wayne, IN
    Posts
    9,464

    Default

    Fresh meat!!!!
    My Finished Maps | My Challenge Maps | Ghoraja Juun, my largely stagnated campaign setting.

    Unless otherwise stated by me in the post, all work is licensed under a Creative Commons Attribution-Noncommercial 3.0 United States License.



  4. #4
    msa
      msa is offline
    Guild Journeyer msa's Avatar
    Join Date
    May 2009
    Location
    New York, NY
    Posts
    247

    Post

    Gil! Glad you delurked, and nice start! I might recommend making the lines a little thinner... I did my first few maps with very thick lines but grew to dislike it quickly.

    PS. Kudos on using the word 'checkpoint'

  5. #5
      gilgamec is offline
    Guild Journeyer gilgamec's Avatar
    Join Date
    Mar 2009
    Location
    The Barbarian West
    Posts
    113

    Wip Scripting challenges

    Thanks everybody for your kind welcomes!

    The biggest problem I had with creating the last checkpoint was speed. Going from smooth curves to fractal coastlines takes about a minute for a 2kx2k image ... but rendering just a simple version (like the colored image above) with coastline impressions is s.l.o.w. ... over an hour for 2kx2k. I can get (or at least fake) the same thing in Photoshop in a couple of seconds, so clearly I'm doing something wrong.

    So, rather than reinvent the wheel (not that that's not fun sometimes!), I'm going to move as much of the rendering as possible into a dedicated program. Parentheses make me nauseous, so it looks like I'm doing Photoshop scripting.

    The biggest thing I'm losing is that everything takes place at a fixed resolution. Before, everything was in vector format and so resolution-independent. Illustrator- or Inkscape-scripting may be possible, but I'll leave them for the next Challenge.

    Scripting Photoshop is not too bad, though the less-often-used commands have to be accessed through the general event system, which is cryptic to say the least. Finally, though, I've managed to get the hang of the system. For a quick example, I've recreated ... err, stolen the land and sea styles from RobA's regional map tutorial:
    May/June Lite Entry: Gulf of Malabor-malabor-2.png

    Time to build from scratch: about a minute. (Mostly in the coastline-building step, like above. I'll improve that soon, hopefully.)

  6. #6
      gilgamec is offline
    Guild Journeyer gilgamec's Avatar
    Join Date
    Mar 2009
    Location
    The Barbarian West
    Posts
    113

    Wip Noise and terrain

    Even though I'm using Photoshop for compositing and special effects, I'm still going to keep as much computation as possible in my own code. This has several advantages:

    • Flexibility - most of what I can do easily myself isn't offered in stock Photoshop filters. There might be custom plugins to do these things, if I could find them and were willing to pay for them.
    • Controlability - The parameters used by both the basic Photoshop filters and other plugins are designed to be used interactively, and so they don't suit my purposes very well.
    • Reproducibility - Photoshop's built-in Clouds filter, for example, provides quite nice fractal noise. However, besides the problem of controlability (how do I change fractal dimension, scale, or any number of other parameters?), there's the matter of reproducibility: it's different every time I call it. Within the context of one image, this is fine: I can save it and use it again. But what if I want to render a version in higher resolution? Since my coastline is based on fractal noise, it would change every time I change resolution (and have to rerender the noise).

    For all of these reasons (plus, it's more fun this way!), I'm keeping everything I can out of Photoshop. For instance, here's a version of the map with coloration by altitude. The altitude in this case is created by a multifractal, which increases fractal dimension (makes the terrain spikier) at higher altitudes.
    May/June Lite Entry: Gulf of Malabor-malabor-3.png

    I've also moved what lighting effects I can into my own code. For instance, rendering the above with Lambertian lighting on the terrain gives:
    May/June Lite Entry: Gulf of Malabor-malabor-5-norivers.png

    (I've also done some work on rivers, which I'll leave for the next update.)

  7. #7
      gilgamec is offline
    Guild Journeyer gilgamec's Avatar
    Join Date
    Mar 2009
    Location
    The Barbarian West
    Posts
    113

    Post

    Now that I've got a height map, making rivers is simply a matter of following the slope of the terrain. First, though, I have to fill up basins in the terrain. In nature, basins could fill up with either sediment or water; to make things simpler, I fill them up with sediment, which turns them into gently sloping plains. Running rivers from each point in the direction of greatest downhill slope gives a first approximation at the river systems:
    May/June Lite Entry: Gulf of Malabor-malabor-5.png

    It looks cool, but it's a bit ridiculous. To improve on this, I calculate a graph of river connectedness instead of an image. Then I can do a few things to make the rivers look nicer:

    1. Decimate the rivers, i.e. remove most of the points. This cuts back on the high-frequency wiggles and makes the rivers look more map-like.
    2. Connect the remaining points with smooth curves, rather than straight lines. This makes the rivers look smoother and more undulating.
    3. Don't draw all of the rivers. I'm only drawing the "major" rivers; in this case, those whose drainage basin is sufficiently large, at least 1/3 the size of the largest. I then only draw "major" tributaries, which in this case is those which make up at least a third of the river's total flow at that point. I then stop rivers when they get too small.

    I then stroke the rivers with a pen whose width depends on the size of the river at that point, and get something like
    May/June Lite Entry: Gulf of Malabor-malabor-6.png
    which I like very much.

    I'm still not crazy on the distribution of rivers, though. I'm probably going to work on that next.

  8. #8
    msa
      msa is offline
    Guild Journeyer msa's Avatar
    Join Date
    May 2009
    Location
    New York, NY
    Posts
    247

    Post

    You are as awesome as you are insane for doing this in code. I can't wait to see how this works out. I have a secret (or not so secret) obsession with randomly generated maps from playing too many roguelikes.

    In any case, consider yourself reped, you crazy freak.

    Regarding the reproducibility point, the solution is to generate your noise and save it in a layer, and then just duplicate that layer over and over. I'm not saying that invalidates your mad designs, but its at least how you address that problem.

    Good luck!

  9. #9
      ravells is offline
    Community Leader Gracious Donor ravells's Avatar
    Join Date
    Jun 2006
    Location
    London, UK
    Posts
    10,902

    Default

    I can't believe this is mostly done in code! This is tremendous and one of the most exciting things I've seen on the Guild for a long time. Repped!

  10. #10
    Community Leader Facebook Connected Steel General's Avatar
    Join Date
    Jun 2008
    Location
    Ft. Wayne, IN
    Posts
    9,464

    Default

    Very cool - not something I would even think of attempting to program. *thumbs up*
    My Finished Maps | My Challenge Maps | Ghoraja Juun, my largely stagnated campaign setting.

    Unless otherwise stated by me in the post, all work is licensed under a Creative Commons Attribution-Noncommercial 3.0 United States License.



Page 1 of 3 123 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •