Yet Another Grand Reorganization

A-Z 2016 "Y"One of the hazards of being a data geek, and good at it, is that over time you become better at it. You find better ways to do things.

Also, the Pathfinder Roleplaying Game has become progressively more complex, both from player perspective (hence the Echelon Reference Series) and particularly from a data modeling perspective.

It’s time for me to fall back and regroup, reorganize how I’m capturing the data. The workflow changes somewhat, but more importantly the data and file management changes.

Existing Data Models

Today, each source is captured more or less exactly as published. Each Word file represents (usually) one source, complete with document structure (book, part, chapter, section, subsection, etc.) and game element structure (each game element is a major element, minor element, subelement, etc., and there are divisions within them such as for a bloodline’s bloodline powers).

Word produces relatively flat, unhierarchical files. Whether converted to HTML or converted to XML, the document structure basically lacks hierarchy. For instance, conceptually a book’s structure has chapters, and a chapter may have sections. That is, there is an implied hierarchy. In the document files, though, rather than

  • chapter
    • paragraph
    • paragraph
    • section
      • paragraph
      • table
        • table rows
      • paragraph
    • section
      • paragraph

you’ll see

  • chapter
  • paragraph
  • paragraph
  • section
  • paragraph
  • table
    • table rows
  • paragraph
  • section
  • paragraph

There are tricks, tools, and techniques for dealing with these, and I’ve gotten good at them. However, the process ultimately generates some eighteen levels of grouping (7 for document structure and 11 for data). In many cases I need to infer from element ancestry what I’m looking at. That is, I might have a “class-feature” called “domain”. Each “class-subfeature” is an instance of a domain (“Air”, “War”, etc.). The “class-subsubfeature” in that is a domain power… but it’s up to me, in my code, to recognize that.

Do you have any idea how many class features exhibit complicated internal structure like this?

New Data Models

I’m splitting the files. Data will all go into one set of files, and ‘document content’ will go into another set of files. I have found in my preliminary experiments that the ‘documents’ change remarkably little after initial capture, but the data elements get tweaked and massaged quite a bit.

Sometimes the purely document content is not Open Game Content (OGC), or is outright Product Identity (PI). I capture it mostly so I can reproduce the original document formatted to my taste (easier for me to read; so many publishers use hard to read fonts, for example), partly so I can view the game elements in situ so I have better context for examining them later, and frankly because, well, I’m a data geek and I like things to be complete. The PI and other non-OGC never gets republished.

Document Files

The document files are pretty straightforward. They follow normal document structure conventions (chapters, sections, etc.). They also can have “include commands” that identify game elements to be added to the document at that point when rendered.

When I captured the text of Pathfinder® Roleplaying Game: Ultimate Combat™ I originally reproduced the document structure, marking up the feats so they could be automatically extracted. Now I would create a data file for the feats, and the “Feats chapter” is reduced to introductory text and a series of “include these feats” instructions.

This gives me much more control than I had before. It also significantly reduces the size of the files I work with, which makes my job much easier.

Data Files

The data files are even simpler. Most game elements have a very similar structure, and the major difference is how they are applied.

  • Element name
    • Summary/statblock information (includes prereqs)
    • Descriptive text
    • Subelements (repeatable… and have the same structure as the parent)

Right now I define new Word styles for the various element types… but structurally they almost all boil down to the same basic structure. There are exceptions, but probably 80% or more of the game elements I deal with fall into this structure.

Instead, I’m going to rely more on metadata to identify what a particular element is. The metadata type will have a definition that is shared when needed, but otherwise will be used just by name. That is,

  • “Feat” [data type marker]
    • “Dodge” [data element]
      • prerequisites Dex 13
      • benefit lorem ipsum
    • “Mobility” [data element]
      • prerequisites Dex 13, Dodge feat
      • benefit lorem ipsum

(I spelled out ‘Dodge feat’, but given just a name the parser can usually find what it’s after… but ‘Dodge feat’ is explicit and resolves ambiguous cases).

Ultimately I end up with data objects something like

<d20:object class="feat" name="Dodge">
  <d20:prereqs>
    <d20:prereq refid="score.dexterity" refclass="score" value="13" />
  </d20:prereqs>
  <!-- content elided -->
</d20:object>

<d20:object class="feat" name="Mobility">
  <d20:prereqs>
    <d20:prereq refid="score.dexterity" refclass="score" value="13" />
    <d20:prereq refid="feat.dodge" refclass="feat" />
  </d20:prereqs>
  <!-- content elided -->
</d20:object>

Feats, most class features, and so on are generally presented in pretty much the same way. There are exceptions, of course, but I can now focus on handling them differently at need rather than having to lay out each data type explicitly.

It can be more complicated, but in many ways it isn’t. For Polyhedral Pantheons I might have something like

  • Deity [base data type]
  • Shu-shi [parent=Deity]
  • Jixiang Shen [parent=Shu-Shi Deity]
  • Zhengchang Shen [parent=Shu-Shi Deity]
  • Bukeishiyi Shen [parent=Shu-Shi Deity]
  • Goblin [parent=Deity]
  • Vorubec [parent=Goblin Deity]
  • Jhesiri [parent=Goblin Deity]
  • Kouzelnik [parent=Goblin Deity]

Then

  • Jixiang Shen [data type]
    • Huanghou
    • Xingyun
    • Xiao Ling
    • Chengshi
    • Zhongli
    • Jingcai

Because I defined the data types as I did, I can traverse the relationships a couple ways. If I need to, I can determine that Huanghou (empress of heaven) is a Jixiang Shen (auspicious deity), a Shu-shi Deity, and a Deity. This gives me quite a bit of control over the formatting (default ‘game object’ formatting? more specific ‘deity’ formatting?), and even the indexing. The index might include

  • Deity
    •  Shu-shi
      • Jixiang Shen
        • Chengshi
        • Huanghou
        • Jingcai
        • Xiao Ling
        • Xingyun
        • Zhongli
  • Huanghou (shu-shi deity)

(because I decided I only wanted to go as far as the pantheon, not the subpantheon, here… custom indexing rule)

Closing Comments

My existing file and data structure has evolved over time to the point it has become hard to use. Splitting the files into “document content” and “game data content” lets me offload a lot of the more static content (document) and focus on the more often edited content (game data). It makes it easier to exclude the bits I mostly don’t care about most of the time (I don’t have to load the document content into my data store, where it gets repeatedly loaded and processed later) while keeping them available for later if I find I want them. This should speed up capture, editing, and processing.

Abstracting the data lets me rely more on the common aspects of the data. Feats, spells, and deities can all be structurally quite similar: name, statblock, text, done. I can start from there and refine as needed, rather than the current model that requires that I get detailed early, and find that I have many objects that are structurally the same.

This will let me do the RAF (Rough and Fast) versions of new data… well, rougher and faster. It will also let me focus my effort on the more complex cases where I want to know more about the game object. Spells can be structurally similar to other blockish game objects, but I can gain quite a bit by parsing further. Similarly, I know the “Domains” field of a deity definition will contain references to domains (object of type ‘domain’), so if I put just a little more effort into it I can parse and extract that information… let me both index the domain reference, and even update the domain object by adding a “Deities” line identifying the deities who have that domain.

I… did say I’m a data geek, right?

Exotic… No, Esoteric Draconic Bloodlines

A-Z 2016 "X"‘X Day’ is always difficult in the A-Z Challenge. So few words actually start with ‘X’.

I was going to write about how I was going to add esoteric draconic bloodlines to Draconic Bloodlines, since I deliberately excluded them when I released the book. I even started drafting that post, but when I started examining things more closely I realized my original reasons for excluding them stand.

The esoteric dragons are too different from the other dragon families, and creating bloodlines for them the same way would involve me picking things without enough knowledge to make good decisions. The esoteric dragons often have many spells (in a couple of cases seven or eight), and trimming that down requires me to choose from among them. I’ll have to come back after I’ve had a chance to read more about occult magic and internalize it somewhat.

That said, I now see four ways forward, where previously I’d seen one.

Ways to Include Esoteric Draconic Bloodlines

The primary stumbling block here is that almost all dragons cast spells as sorcerers, except the esoteric dragons. Esoteric dragons cast occult spells as psychics. I present them below, in approximate order of deviation from plan.

Steal From the Psychic Bloodline

The psychic bloodline’s bloodline arcana says

Your sorcerer spells and spell-like abilities count as psychic instead of arcane. You use thought and emotion components instead of verbal and somatic components when casting your spells.

In principle that arcana pretty much solves the “sorcerer magic vs psychic magic” disconnect, but it seems incomplete. I’d probably want to incorporate some of the bonus spells, bonus feats, and bloodline powers (at least one) to make the bloodline ‘more psychic’. I thought I might find sufficient overlap in the dragon special abilities to handle some of the ‘psychic bloodline powers’, but after reading them I don’t think so. There are some nifty abilities, though.

Create a Sorcerer Archetype

This honestly was my first intended approach, and went beyond what I was prepared to do when I considered it. Changing the sorcerer’s spell casting is, after all, a pretty fundamental shift. This would give me the opportunity to tweak more of the class features so things would fit properly. This is probably my favored approach right now, but again I’ll need to do some more research.

Create a Draconic Sorcerer Prestige Class

In discussion online it was suggested that a prestige class could solve the problem. I usually wouldn’t agree, I’m not a big fan of prestige classes to solve mechanical problems (I do like them as campaign elements — actual “prestige” classes), but in this case it could work. If a sorcerer starts with the core draconic bloodline, a prestige class could allow the sorcerer to shift to a more specific draconic bloodline, or even add it altogether. There would probably have to be some kind of additional cost or change to class features… a prestige class like this is something like a late-added archetype, I suppose.

Backup plan, definitely behind the archetype and possibly even behind the psychic bloodline.

Make This a Psychic Discipline

Perhaps I’m going about this the wrong way entirely. Esoteric dragons, unlike the other dragons, cast as psychics rather than sorcerers. Maybe there should instead be a ‘draconic’ psychic discipline that can be specialized.

Right now I’m leaning toward this as my favored approach. I’m not sure if it would be a separate product or not, though.

Closing Comments

I think a large part of my difficulty with esoteric dragons is that they are a poor fit for the sorcerer class altogether. The minimalist approach (pull from the psychic bloodline) seems woefully inadequate. Creating a prestige class to fix it smacks of a band-aid fix, and I don’t like those. A sorcerer archetype is my favored solution from a design standpoint, tweak the class first before adding the psychic dragon stuff.

Ultimately, though, I think keeping them as a psychic class thing and making them psychic disciplines (possibly with a generic ‘draconic’ discipline) is the right way to go. I’ve got some more reading to do.

 

XML Workflow, A New Direction

A-Z 2016 "X"A couple years ago, or just slightly more, I wrote about my workflow for extracting game information captured in Word. It’s kind of long:

  • Type (or copy and paste) into Word;
  • Convert Word files to ‘Filtered HTML’;
  • Fix character encoding;
  • Convert to XHTML;
  • Convert to XML closer and closer to the problem domain (game elements) using a series of XSLT scripts.

Once I’ve got the information encoded I can do other transformations to get my actual goal products:

  • Machine-generated diagrams:
    • Build a hierarchical model for each game element that has or is a prerequisite;
    • Convert that hierarchical model into DOT format (GraphViz input file; I’ve written about visualization using GraphViz before);
    • Render the DOT files into PNG and SVG format, giving me diagrams I can redraw (GraphViz is powerful, the output isn’t always suitable for inclusion in my books) showing the relationships between game elements.
  • PDFs:
    • Convert XML files (created as above, but using ‘book markup’) to LaTeX;
    • Convert LaTeX to PDF (this can incorporate diagrams redrawn as described above.
  • Index and analysis files; I sometimes create spreadsheets containing…
    • spell summary information;
    • master spell lists for all classes (and domains and bloodlines and patrons…);
    • summary monster stats;
  • I also sometimes create new Word files containing aggregated or reformatted content.

This has proven fairly effective over the last few years, but I think it’s time for a change. Word has a ‘WordProcessingML’ that represents, to a fairly large degree, the internal memory representation of a document. There is a great deal of information there that can be discarded, and some ‘internal Wordisms’ I’ll need to work around, but I think this can get me past some niggling translation and encoding difficulties I’ve been having.

The new workflow will probably look much like:

  • Type (or copy and paste) into Word;
  • Convert Word files to WordProcessingML;
  • Convert to XML closer and closer to the problem domain (game elements) using a series of XSLT scripts.

This doesn’t seem like it saves me a lot of steps, but in reality it does. The “Fix character encoding”, “Word -> Filtered HTML”, and “Filtered HTML -> XHTML” do useful work, but all three stages introduce some annoying data artifacts I need to work around. The new workflow should not only reduce the number of stages (the initial bullet points), but should make the processing after that much simpler.

Weapons and Armor made of ‘Special Materials’

A-Z 2016 "W"A recent question on Facebook reminded me that I was going to review and revise how special materials work with graded items.

In short, I expect to look primarily at the effect of the special material and build from there.

Sample Materials

A few of the common materials from the PRD, first quoting the PRD and then giving my take on them.

In almost all cases, I disregard part of the description: almost all ‘metal materials’ are actually alloys rather than pure materials. This lets me treat them as justification for various qualities at different grades, and even allows me to mix them somewhat.

Bypassing DR/material is usually more or less free — the target has a benefit that renders them less harmed by everything except this material, so this material bypassing that is not inherent in the material and shouldn’t be paid for. Actually, I’d be willing to consider a quality that directly targets and adds damage in these cases: an item made of special silver doesn’t just bypass DR/silver, it does additional damage (as with flaming or bane… not sure which, I could go either way).

Adamantine

Mined from rocks that fell from the heavens, this ultrahard metal adds to the quality of a weapon or suit of armor. Weapons fashioned from adamantine have a natural ability to bypass hardness when sundering weapons or attacking objects, ignoring hardness less than 20. Armor made from adamantine grants its wearer damage reduction of 1/— if it’s light armor, 2/— if it’s medium armor, and 3/— if it’s heavy armor. Adamantine is so costly that weapons and armor made from it are always of masterwork quality; the masterwork cost is included in the prices given below. Thus, adamantine weapons and ammunition have a +1 enhancement bonus on attack rolls, and the armor check penalty of adamantine armor is lessened by 1 compared to ordinary armor of its type. Items without metal parts cannot be made from adamantine. An arrow could be made of adamantine, but a quarterstaff could not.

Weapons and armor normally made of steel that are made of adamantine have one-third more hit points than normal. Adamantine has 40 hit points per inch of thickness and hardness 20.

Type of Adamantine Item Item Price Modifier
Ammunition +60 gp per item
Light armor +5,000 gp
Medium armor +10,000 gp
Heavy armor +15,000 gp
Weapon +3,000 gp

So… weapons gain hardness 20 (from the default of steel’s hardness 10) and bypasses DR/adamantine (which is uncommon). Armor gains DR 1/— if light, DR 2/— if medium, or DR 3/— if heavy. Per RAW they’re all masterwork but the price is included.

I’m going to reduce this to basics:

  • The impervious perk increases an item’s hardness by 5. I’m willing to let that be repeated, and since perks are considered grade 1 qualities I’m willing to have impervious have multiple grades: hardness is increased by 5 per grade. Adamantine has a hardness of 20, 10 higher than steel, so this would be a grade 2 quality.
  • The durable perk doubles an items hit points… but the sturdy quality from Green Ronin’s Black Company masterworks rules is +50% per grade. I think I like that better, so I’ll be dropping the ‘durable’ perk. An adamantine weapon or armor has a third more hit points than usual (but double the hit points per inch thickness, strange), so I’ll call that one grade and make it a bit better at 50% more hit points.
  • DR/— from armor is one grade per point of DR. There could reasonably be a surcharge or limitation of some sort of for light and medium armor, but I’m not going to bother yet. In any case, DR/— is handled.

The effects of a weapon made of an adamantine alloy are “+50% hit points, +10 hardness”: a grade 1 quality and a grade 2 quality. In a weapon with no other qualities, this adds 4,500 gp to the market price of the item. Unlike RAW, this is not a ‘masterwork item’ (no +1 enhancement bonus to hit).

If I wanted to be fiercer about it, I could say that adamantine construction is itself a grade 3 quality… but I won’t do that today.

Adamantine armor is pretty simple. Like weapons the hit points and hardness are increased, and the armor grants DR/—.

  • Light armor gains hardness 20 and 50% more hit points, and DR 1/—. This amounts to one grade 2 quality and two grade 1 qualities, a total of four grades. This adds 4,000 gp to the market price (4*4*500 gp = 8,000 gp, halved because this is armor).
  • Medium armor gains hardness 20 and 50% more hit points, and DR 2/—. Two grade 2 qualities and one grade 1 quality, a total of five grades. This adds 6,250 gp to the market price (5*5*500 gp = 12,500 gp, halved because this is armor).
  • Heavy armor gains hardness 20 and 50% more hit points, and DR 3/—. A grade 3 quality, a grade 2 quality, and a grade 1 quality, a total of six grades. This adds 9,000 gp to the market price (6*6*500 gp = 18,000 gp, halved because this is armor).

The armor is generally lighter than RAW because the costs are halved, but unlike RAW these will make following qualities more expensive… by quite a bit, really.

Mithral

Mithral is a rare, silvery metal that is lighter than steel but just as hard. When worked like steel, it can be used to create amazing armor, and is occasionally used for other items as well. Most mithral armors are one category lighter than normal for purposes of movement and other limitations. Heavy armors are treated as medium, and medium armors are treated as light, but light armors are still treated as light. This decrease does not apply to proficiency in wearing the armor. A character wearing mithral full plate must be proficient in wearing heavy armor to avoid adding the armor’s check penalty on all his attack rolls and skill checks that involve moving. Spell failure chances for armors and shields made from mithral are decreased by 10%, maximum Dexterity bonuses are increased by 2, and armor check penalties are decreased by 3 (to a minimum of 0).

An item made from mithral weighs half as much as the same item made from other metals. In the case of weapons, this lighter weight does not change a weapon’s size category or the ease with which it can be wielded (whether it is light, one-handed, or two-handed). Items not primarily of metal are not meaningfully affected by being partially made of mithral. (A longsword can be a mithral weapon, while a quarterstaff cannot.) Mithral weapons count as silver for the purpose of overcoming damage reduction.

Weapons and armors fashioned from mithral are always masterwork items as well; the masterwork cost is included in the prices given below.

Mithral has 30 hit points per inch of thickness and hardness 15.

Type of Mithral Item Item Price Modifier
Light armor +1,000 gp
Medium armor +4,000 gp
Heavy armor +9,000 gp
Shield +1,500 gp
Other items +500 gp/lb.

Mithral halves the weight of primarily metal items and increases the hardness by 5. There is no mention of an increase in hit points.

Armor has decreased spell failure chance, increased maximum Dexterity bonus to AC, and Armor check penalties are reduced by 3… this ends up being quite nice. Also, the armor is treated as one category lighter (heavy treated as medium, medium treated as light) to a minimum of light, for the purpose of mobility and other features, but not proficiency.

  • The lightweight perk halves an item’s weight, and could be considered a grade 1 quality.
    • The light quality from Green Ronin’s Black Company masterworks rules reduces weight by 10% per grade, but that seems too expensive for its regular effect. Reducing weight by half honestly isn’t worth a grade 5 quality. I’m going with the lightweight perk for now.
  • The mastercraft quality from Green Ronin’s Black Company masterworks rules reduces armor check penalty by one per grade. I’ll go with this for now. By RAW the check penalties are reduced by 3, but I’m willing to allow this to completely negate the armor check penalties… if someone is willing to invest that much, I’m prepared to allow it.
    • The creeping armor special ability is a +5,000 gp in RAW, and is in the +2 Armor Special Ability table. It negates the armor check penalty for Stealth checks, while the mastercraft quality applies to all relevant checks. I’m inclined to go with the mastercraft quality.
  • The modifier to arcane spell failure is a little trickier, but the Magic Item Compendium from D&D 3.5 has the twilight armor quality. This +1 armor quality reduces arcane spell failure by 10%. As a +1 armor quality maps to a grade 2 quality in this system, I’m fairly comfortable considering twilight a scaling quality reducing arcane spell failure by 5% per grade. As with mastercraft above, someone could entirely negate arcane spell failure… but it gets very expensive for heavy armor (grade 8 to negate the 40% arcane spell failure of splint mail and half-plate!).
  • I don’t have anything specific for increasing the maximum Dexterity bonus to AC, but since an enhancement bonus is two grades per +1 I’m willing to call this one grade per increase here. For now at least.
  • The mobility advantages seem pretty mild, really. I’ll call them a grade 1 quality for now.

Given the above, to exactly model mithral weapons basically halves the weight (lightweight, grade 1) and increases hardness by 5 (impervious I, grade 1); that the weapon counts as silver for DR purposes is basically free. In the absence of other improvement, a mithral weapon adds (2*2*500 gp) 2,000 gp to a weapon’s market price. This is spot on for a longsword, more expensive for a short sword or dagger, less expensive for a great axe. Since it doesn’t really do anything, I’m okay with it.

Armor, on the other hand, gets quite a bit more expensive.

  • Light armor doesn’t benefit from the reduced category, but does benefit from lightweight (grade 1), improved maximum Dexterity bonus (grade 2, +2), reduced armor check penalty (grade 2 — the only relevant armor has an ACP of -2), and reduced arcane spell failure (grade 2, 10%). This is a total of seven grades! This would thus be worth 12,250 gp (7*7*500 gp = 24,500 gp, halved because it’s armor).
  • Medium and heavy armor would actually be the same: lighter category (grade 1), lightweight (grade 1), improved maximum Dexterity bonus (grade 2, +2), reduced armor check penalty (grade 3), reduced arcane spell failure (grade 2). This is a total of nine grades, and add, in the absence of other improvements, 20,250 gp (9*9*500 gp = 40,500 gp, halved because this is armor).
  • A light steel shield isn’t so bad: lightweight (grade 1), reduced armor check penalty (grade 1), reduced arcane spell failure (grade 1, 5%), a total of three grades. 2,250 gp (3*3*500 gp = 4,500 gp, halved).
  • A heavy steel shield is more expensive: lightweight (grade 1), reduced armor check penalty (grade 2), reduced arcane spell failure (grade 2, 10%). A total of five grades, 6,250 gp (5*5*500 gp = 12,500, halved).

Combining Special Materials

Because these are alloys rather than pure metals, it seems plausible that someone could try to blend them into an item that does more. An adamantine/mithral mix might incorporate the features of both.

A longsword made of an alloy (or pattern-welded billet of these two materials with steel) might include:

  • hardness 20 (impervious, grade 2)
  • +50% hit points (sturdy, grade 1)
  • lightweight (grade 1)

This is a basic grade 4 item with a market price of 8,000 gp.

A suit of chainmail made of this material, though…

  • hardness 20 (impervious, grade 2)
  • +50% hit points (sturdy, grade 1)
  • DR 2/— (grade 2)
  • lighter category (grade 1)
  • lightweight (grade 1)
  • improved maximum Dexterity bonus (grade 2, +2)
  • reduced armor check penalty (grade 3)
  • reduced arcane spell failure (grade 2, 10%)

Grade 14! This adds a 49,000 gp to the market price (14*14*500 = 98,000 gp, halved). This is before adding any other qualities!

As just a suit of adamantine chainmail this would be only a grade 5 item (6,250 gp market price). As just a suit of mithral it would still be grade 10 (25,000 gp market price).

Complex alloys are expensive… but since by RAW they don’t exist at all, I’ll probably be okay with that after I get past being a bit stunned.

Closing Comments

By looking at the effects of special materials, and how they fit into the rest of the framework, they can do some strange things to the costs. The materials themselves are largely unimportant, acting primarily as justification for crafting the items with these qualities. To be honest I’d be inclined to split some of the materials up a bit. Mithral does many things, and they don’t all apply to all wearers (the reduce arcane spell failure). Having the improved maximum Dexterity bonus a mix of material and cunning construction (rather than a fixed value whether the crafter wants it or not) could be a reasonable change as well, as might the reduced armor check penalty.

RAW, I don’t see why almost all armor isn’t made of mithral. It’s amazingly cheap for what it does, especially since the cost doesn’t scale with other improvements.

Actually, I’m pretty sure mithral is the most common special material for armor. As it should be, looking at this.

Variation: Graded Item Sets

A-Z 2016 "V"“Magic item sets” were an artifact (sorry) of the late D&D 3.x era. A small group of items related by their history and power, with a synergy between them that made them more powerful together than apart.

The regalia of the phoenix consisted of the raptor’s mask, the crown of flames, the talon scepter, and the phoenix cloak. Each was a magic item in its own right, often relatively minor (worth 3,500 gp, 8,500 gp, 10,305 gp, and 50,000 gp respectively). If you had and wore/wielded two or more of them you gained increasing power from their synergy: 5/day resistance to fire when you had two of the items, 5/day immunity to fire when you had three of the items, and 1/day heal when reduced to 0..-9 hit points when you had all four items.

What if you could do something similar with graded items?

One way to go about it — and I’m not entirely certain this is workable — is to have items that are part of the same set add their grades together for effect. Individually they are all still magic items, but together they act as a much more powerful item… albeit in multiple item slots.

The Lightning Harness

The lightning harness might be a suit of armor consisting of several pieces that are individually enchanted. The breastplate (armor slot), helm (head slot), gauntlets (wrists slot), and boots (feet slot) are each magic items that combine to make a more powerful whole. Let’s give them preliminary grades of 7, 6, 4, and 3 respectively — a total of 20.

In the first pass I’ll assign a single quality to each piece

Item Grade Qualities
stormplate 7 (4) +2 enhancement, (2) electricity resistance I (5 points), (1) lightweight
lightning helm 6 (2) +1 enhancement, (2) electricity resistance I (5 points), (1) enemy glow (elementals), (1) alert I (+2 Perception)
shock gauntlets 4 (2) shock I (+1d6 electricity damage), (1) hated foe (elementals), (1) sacred (god of storms)
wind boots 3 (2) dexterity I, (1) nimble I (+2 Acrobatics)

… well. This might be a bust. Of all the options above, only the enhancement bonuses and the electricity resistance can even stack. If one character wears both the stormplate and the lightning helm that character has what amounts to a grade 13 item with +3 enhancement (grade 6, within limits, 7 grades remaining), electricity resistance 10 (grade 4, within limits, 3 grades remaining), then the lightweightenemy glow, and alert qualities (each grade 1).

On the other hand, as a grade 13 item that would normally have a market price of 42,250 gp (13*13*500 gp = 84,500 gp, but halved because it’s all armor). As separate items they have a market price of only 21,250 gp (7*7*500 gp = 24,500 gp, halved to 12,250 gp; 6*6*500 gp= 18,000 gp, halved to 9,000 gp). This is just over half the normal price. If you can afford the slots, it costs a lot less gold to go this way. It does load the item down with more low-grade qualities than might otherwise happen.

All four items together would have the qualities of a grade 20 item, which has a market price of 100,000 gp (20*20*500 gp, halved for being armor… should actually be a bit more because the shock I quality is a weapon quality, but it’s tiny compared to the rest. As individual items the total comes to 27,500 gp, only a little more than a quarter.

I suspect we’ll find the most synergy when more of the items’ qualities match. Let’s see…

The Four-Part Elemental Staff

The four-part elemental staff is currently separated into four wands, one for each element. These wands to not all have the same grades. These wands can be fitted together in arbitrary order to combine their powers.

  • The wand of elemental air is a grade 6 wand and can cast stinking cloud (3), summon monster II (2, air elemental), feather fall (1)
  • The wand of elemental earth is a grade 4 wand and can cast summon monster II (2, earth elemental), detect secret doors (1), magic weapon (1)
  • The wand of elemental fire is a grade 6 wand and can cast fireball (3), summon monster II (2, earth elemental), burning hands (1)
  • The wand of elemental water is a grade 4 wand and can cast summon monster III (2, water elemental), grease (1), obscuring mist (1)

If the wand of elemental earth or the wand of elemental water is fitted together with any one other wand, the result is still a wand, otherwise the result is a staff.

In all cases, the resulting item has the summon monster levels ‘added together’ (two wands means the summon monster II is replaced by summon monster IV, three wands means the summon monster II is replaced by summon monster VI, and all four together allow the wielder to cast summon monster VIII). The charges are likewise added together, and the caster level increases to the sum of the wands’ levels.

The wand of elemental earth and fire (the two fitted together) is a grade 10 item with summon monster IV (4), fireball (3), burning hands (1), detect secret doors (1), and magic weapon (1) spells, and 10 charges that can be spent on any combination of these spells. You can separate the wands if you want a weaker summon monster II again, but it’ll be cast at a lower caster level.

The four-part elemental staff, when completely combined, is a grade 20 item with the following spells:

  • summon monster VIII (8 charges; air, earth, fire, or water elementals)
  • fireball (3 charges)
  • stinking cloud (3 charges)
  • burning hands (1 charge)
  • detect secret doors (1 charge)
  • feather fall (1 charge)
  • grease (1 charge)
  • magic weapon (1 charge)
  • obscuring mist (1 charge)

All spells are cast at 20th level.

As a grade 20 item the staff would be 20*20*500 gp = 200,000 gp. As the four wands the cost would be 6*6*500 gp = 18,000 gp for the air and fire wands, and 4*4*500 gp = 8,000 gp for the earth and water wands, for a total of 52,000 gp.

Clearly Some Adjustment is Needed

I very much wanted this to work, but it doesn’t look quite right to me. “Combining the item powers” doesn’t seem to do enough, and the market price implications can result in wildly cheaper power.

When I say combining the item powers doesn’t do enough, I mean it’s just basic aggregation, and being allowed to do it when you otherwise wouldn’t (the enhancement and energy resistance qualities in the lightning harness, and the summon monster spells in the four-part elemental staff). Boring, not cool.

At the same time, by splitting into four separate items of approximately equal power, the total cost is reduced to a little more than a quarter. For the lightning harness this isn’t horrible, since it also ties up four item slots (armor, helmet, wrists, feet), but for the four-part elemental staff it’s basically a non-issue.

I’ve considered some combination of quirks, flaws, and curses based on level of the wielder compared to the grade of the item, or increasing some element of unpleasantness based on the number of items, but nothing feels right yet.

Umbral Mail

A-Z 2016 "U"Umbral mail, ‘shadow armor’, should probably be a thing. I picture a suit of light mail (chain shirt perhaps?) worn by a rogue who practiced greater and greater acts of stealth.

It is a bit like Gyre’s cunning cambeson, so I should look for some ways to differentiate it.

Gyre’s Cunning Gambeson (grade 7 padded armor)

magic resistance I climbing II hiding II disabling I padded armor

This arming doublet (padded armor) is crafted grade 7 armor with cleverly-hidden pockets and places to conceal tools, and many of its arming points are well-suited for fastening climbing gear. It is made of dark green velvet and has been repeatedly soaked in moly extract. It has the magic resistance Iclimbing II, hiding II, and disabling I qualities.

  • (grade 2) magic resistance I: +1 resistance bonus to saves and Armor Class against spells.
  • (grade 2) climbing II: +4 bonus to Climb checks when the armor can apply (stacks with the bonus gained from a climbing kit).
  • (grade 2) hiding II: +4 bonus to Hide (visual Stealth) checks when appropriate (both hiding the wielder and hiding tiny or smaller objects — including especially thieves’ tools — in the gambeson).
  • (grade 1) disabling I: +2 bonus to Disable Device checks; the right tools are immediately at hand.

An a crafted grade 7 item, Gyre’s cunning gambeson would have a market price of 24,500 gp… but as armor it gets halved, so 12,250 gp.

Umbral Mail Qualities

Chain Shirt by V ShaneFirst, the armor is good at making the character sneaky, so the stealthy quality will probably be pretty high. The shadow (+3,750 gp/+2 quality, +5 to Stealth checks), improved shadow (+15,000 gp/+4 quality, +10 to Stealth checks), and greater shadow (+33,750 gp/+5 quality, +15 to Stealth checks) are all appropriate, but are better served as skill-based qualities.

Second, some measure of Dexterity enhancement is appropriate… but I suspect not ultimately valuable as far as Armor Class is concerned because a chain shirt has a maximum Dexterity bonus of +4 to AC. I’ll likely give a small bonus and stop there.

Third, the creeping armor quality (+5,000 gp, listed in the “+2 armor special ability table”, means the armor’s armor check penalty doesn’t apply to Stealth checks… we’re going to want this, and because it’s with the +2 armor qualities it’ll be a grade 4 quality). However, on a chain shirt (armor check penalty -2) there’s not nearly as much benefit as on heavier armor.

Fourth, the glamered quality (+2,700 gp, listed in the “+2 armor special qualities”… but is very much toward the lower end, I’ll consider it as a grade 3 quality) is appropriate.

I might want to consider some other perks. Of them all, lightweight seems the most appropriate.

This gives me:

  • stealthy (replaces the shadow quality, +2 to Stealth checks per grade instead of +5/grade 4, +10/grade 8, +15/grade 10 for normal quality conversion)
  • glamered (+2 -> grade 3 quality, so the armor doesn’t look like armor), might or might not use.
  • creeping (+2 -> grade 4 quality, armor check penalty no longer applies to Stealth checks), probably won’t use.
  • Dexterity enhancement (+2 grades/+2 bonus to Dexterity), might use a little
  • Armor enhancement (+1 enhancement/2 grades)

Highest priority goes to stealthy, I’ll consider a Dexterity enhancement as available, and the spell casting is a major quality to this item. I prefer that qualities do not get weaker from grade to grade, so I’ll want to assign them carefully.

Grade Quality Added Item Description Notes
1 (1) lightweight lightweight chain shirt half weight
2 (1) stealthy I lightweight stealthy I chain shirt +2 Stealth, half weight
3 (2) stealthy II lightweight stealthy II chain shirt +4 Stealth, half weight
4
5 (2) +1 enhancement +1 lightweight stealthy II chain shirt +1, +4 Stealth, half weight
6 (3) stealthy III +1 lightweight stealthy III chain shirt +1, +6 Stealth, half weight
7 (4) stealthy IV +1 lightweight stealthy IV chain shirt +1, +8 Stealth, half weight
8
9 (2) dexterity I +1 dexterity I lightweight stealthy IV chain shirt +1, +2 Dex, +8 Stealth, half weight
10 (5) stealthy V +1 dexterity I lightweight stealthy V chain shirt +1, +2 Dex, +10 Stealth, half weight
11 (6) stealthy VI +1 dexterity I lightweight stealthy VI chain shirt +1, +2 Dex, +12 Stealth, half weight
12
13 (4) +2 enhancement +2 dexterity I lightweight stealthy VI chain shirt +2, +2 Dex, +12 Stealth, half weight
14 (7) stealthy VII +2 dexterity I lightweight stealthy VII chain shirt +2, +2 Dex, +14 Stealth, half weight
15 (8) stealthy VIII +2 dexterity I lightweight stealthy VIII chain shirt +2, +2 Dex, +16 Stealth, half weight
16
17 (2) stanching +2 dexterity I lightweight stanching stealthy VII chain shirt +2, +2 Dex, +16 Stealth, half weight, reduces bleed damage by 2
18 (9) stealthy IX +2 dexterity I lightweight stanching stealthy IX chain shirt +2, +2 Dex, +18 Stealth, half weight, reduces bleed damage by 2
19 (10) stealthy X +2 dexterity I lightweight stanching stealthy X chain shirt +2, +2 Dex, +20 Stealth, half weight, reduces bleed damage by 2
20

Closing Comments

I added the stanching quality at the last minute. I needed a grade 2 power and that was the only +1 armor quality that seemed at all a reasonable fit. I could have gone with another skill-oriented quality (slippery, bonus to Escape Artist checks, came to mind) or another quality, but nothing really fit. I stumbled on a limitation here in that just as you will always have at least one grade 1 quality, eventually you will have either a grade 2 quality or two more grade 1 qualities. Since the armor already has a maximum Dexterity bonus with regard to Armor Class I chose to improve the armor enhancement bonus rather than the Dexterity bonus.

In a case like this I might consider softening the rule in practice. Replacing the stanching at grade 17 with dexterity II (+4 enhancement bonus to Dexterity) would not break anything… but as an example, I suppose I should stick to what I’m presenting an example of.

I must also that I liked the pattern I saw here, with (some quality), (two stealthy quality bumps back to back), (empty grade), and chose to develop that. I originally expected this armor to be more magic-oriented, with the spell casting quality (‘wand’ containing reduce person (Sor/Wiz 1), invisibility (Sor/Wiz 2), shrink item (Sor/Wiz 3), and nondetection (Sor/Wiz3) at increasingly high grade… but with the focus on the stealthy quality, the point of the armor, I never found a good time to fit the spell casting quality in. I could have, it might have looked something like below

Grade Quality Added Notes
1 (1) lightweight half weight
2 (1) spell casting I CL 1, reduce person
3 (1) stealthy I +2 Stealth
4
5 (3) spell casting III CL 3, invisibilityreduce person
6 (2) stealthy II +4 Stealth
7
8 (1) +1 enhancement +1 AC
9
10
11 (6) spell casting VI CL 6, shrink iteminvisibilityreduce person
12 (1) mindlinked nonverbal activation of the ‘wand’
13
14 (4) +2 enhancement +2 AC
15
16
17 (9) spell casting IX CL 9, nondetectionshrink iteminvisibilityreduce person
18
19
20

I am coming to suspect that the spell casting quality works best in items that do not grow over time. That is, if the armor above were presented in its final form, or even one of its intermediate forms (lightweight stealthy I spellcasting III chain shirt as a grade 5 item) I’d be just fine with it. Presented in table form as above, though, I find it unpleasant to look upon.

Unchained Skill Unlocks for Echelon

A-Z 2016 "U"I don’t often post much Echelon-related material here any more (mostly it’s at EchelonD20.org), but this particular post fits the skill model I had in mind before I moved over there.

Also, it gives me a ‘U Day’ post for this year’s A-Z Blog Challenge. I am not proud.

I’ve only recently gotten around to reading Pathfinder® Roleplaying Game: Pathfinder Unchained™, and the skill unlocks are philosophically quite close to my early skill model. In my skill model, each skill was a separate talent, and taking that talent at progressively higher tiers gave you options for what you could do with that skill that others could not.

Anyone could try to tightrope walk, but someone who had the skill at the Heroic tier was not only more likely to succeed (higher bonus to the check), but be able to do things on a successful check that others couldn’t. And probably didn’t have to make some checks at all: a test intended to challenge an Expert-tier character could be assumed successful if a character with that skill at the Heroic tier attempted it. If the more-skilled character tried to do a Heroic-tier trick with the skill then a check would be needed again.

For example, in D&D 3.x (which I was using for my base when this was still the skill model) on a successful Balance check you could navigate a precarious surface at half speed. You could try to move your normal speed but took a -5 penalty to your check. In this older Echelon skill model you no longer took this penalty when you tried to move at normal speed if you had Balance at the Heroic tier or higher.

A ravine bridged with a fallen tree, narrow and swaying slightly with the weight of each person crossing it, might have had a DC 10 check to cross — an Expert-level test. Anyone could try it, most people without penalties would succeed (and those of at least Expert tier would have at least +2 level bonus to their check; someone at the Expert tier and the Balance talent at any tier would have +4 on top of that, then Dexterity bonus on top of that). A character with Balance at the Heroic tier wouldn’t even have to check at all, to cross at half speed, and could make a check at no penalty (for increased speed) to cross at full speed.

Higher-tier abilities allowed progressively more. This would be either because of reduced penalties or options simply not available to others. For instance, a trained crafter can make masterwork items, while someone who does not have the relevant Craft talent cannot, regardless of the DC beaten by the skill check.

The unchained skill unlocks are pretty similar, philosophically speaking. Some examples:

Climb

With sufficient ranks in Climb, you earn the following.

5 Ranks: You are no longer denied your Dexterity bonus when climbing.

10 Ranks: You gain a natural climb speed (but not the +8 racial bonus on Climb checks) of 10 feet, but only on surfaces with a Climb DC of 20 or lower.

15 Ranks: You gain a natural climb speed (but not the +8 racial bonus on Climb checks) equal to your base speed on surfaces with a Climb DC of 20 or lower, and of 10 feet on all other surfaces.

20 Ranks: You gain a natural climb speed equal to your base speed on all surfaces. If you have both hands free, you gain a +8 racial bonus on Climb checks.

Craft

With sufficient ranks in Craft, you earn the following.

5 Ranks: When determining your weekly progress, double the result of your Craft check before multiplying the result by the item’s DC.

10 Ranks: You do not ruin any of your raw materials unless you fail a check by 10 or more.

15 Ranks: When you determine your progress, the result of your check is how much work you complete each day in silver pieces.

20 Ranks: You can craft magic armor, magic weapons, magic rings, and wondrous items that fall under your category of Craft using the normal Craft rules.

Heal

With sufficient ranks in Heal, you earn the following.

5 Ranks: When you treat deadly wounds, the target recovers hit points and ability damage as if it had rested for a full day.

10 Ranks: When you treat deadly wounds, the target recovers hit points as if it had rested for a full day with long-term care.

15 Ranks: When you treat deadly wounds, the creature recovers hit point and ability damage as if it had rested for 3 days.

20 Ranks: When you treat deadly wounds, the target recovers hit point and ability damage as if it had rested for 3 days with long-term care.

Not all of these work for me as written, but they’re a starting point.

One change I would make: Echelon is based on tiers being four levels each. Rather than having these skill unlocks take place at levels 5, 10, 15, and 20 — the top of the five-level tiers (unofficially used) in the Pathfinder Roleplaying Game, I’d assign them to the starting levels of each tier above Expert in Echelon: 5, 9, 13, 17. This does two things. First, it aligns them with the tiers. Second, it aligns them with the start of the tier, so as talents they kick in as soon as you take the talent, and you gain the benefit of the tier ability for the entire tier instead of just a small piece of it.

These are only small benefits, though. I suspect with the revision I made to talents (so skill-oriented talents have a major effect by their focus and a minor effect on the underlying skill) I’d do much the same here. There might be multiple talents that hang off Climb checks, each giving different primary abilities, but all give these minor effects on Climb checks — to the effect of the highest tier in a relevant talent.

Thinking Again About the Price of Graded Spell Trigger Items

I explored the market price of graded wands and staves a couple weeks ago, and I’m pretty satisfied with that result.A-Z 2016 "T"

Then I decided that granting graded items some limited spell casting ability — a few spells that can be used daily, sort of thing — could be pretty cool. The fire gauntlet of Allioch was implemented in part by making a lesser wand of military fire part of its construction, as a grade 5 quality.

Yesterday I got to thinking about the difference between spell trigger item market prices and ‘uses/day’ item market prices. A grade 8 wand (fourth-level, second-level, and two first-level spells; 8 charges) can cast its biggest spell twice per day. I’m confident in my reasoning behind the graded wand market price, but allowing the wand to be added to the gauntlet and used by a non-caster should probably move it to the ‘uses/day’ cost, something like that of an ‘eternal wand’ from late 3.x era… which should be somewhat more expensive, about twice as much.

Then it occurred to me that the ‘spell casting’ quality (that embeds the ‘wand’ into the other item) is a quality of a grade equal to the wand’s.

This means that the same grade 8 wand that costs 32,000 gp as a spell-trigger item is a grade 8 quality, not a collection of smaller qualities adding up to item grade 8.

A grade 8 quality can only be added to a grade 15 (or higher) item. That means that rather than a market price of 32,000 gp, the spell casting quality has a market price of 15*8*500= 60,000 gp, almost exactly double the market price of the original wand (and taking a huge bite out of the grades available to be assigned for this item… and not scaling with the grade of the item itself: it’s always a grade 8 wand).

Okay, adding a graded wand to a grade item as a ‘spell casting’ quality is not giving away too much. It might even be overcharging for what you get… but for now I’ll leave it. The ability for a sword to drop a wall of fire at need is not to be underestimated.

Touching up the Mountain Colors

A-Z 2016 "T"So very close to done with the mapping tutorials for now.

Now for the finishing touch: color.

My focus on the previous images was on developing the height map for mountain ranges, in varying degrees of complexity, and then quickly rendering the result so we could take a look. That mostly looks okay, but in my view

Mapping Landforms 2g Multiple, snow caps

Mapping Landforms 2g Multiple, snow caps

isn’t quite complete. Thankfully, the last part takes longer to describe than it does to execute.

First, create a gradient, green through brown to light grey. We add one new color to the palette.

  • black (0x000000)
  • white (0xFFFFFF)
  • medium grey (0x808080)
  • medium green (0x586E2C)
  • medium brown (0x6E582C)
  • light grey (0xADADAD)

To create the gradient, open the gradients tab and click the ‘new gradient’ button at the bottom.

Mapping Landforms 3 Gradient 50

Mapping Landforms 3 Gradient 50

  • Right-click on the gradient preview shown and select “Left Endpoint’s Color…”, then choose the medium green and click ‘OK’.
  • Right-click on the gradient preview shown and select “Right Endpoint’s Color…”, then choose the light grey and click ‘OK’.
  • In the Toolbox, change the default foreground color to medium brown, then drag the foreground color into the gradient.
  • Adjust gradient midpoint and control points to suit. In the gradient to the right I spaced everything fairly evenly:
    • medium green at 0.00
    • pale grey at 1.00
    • medium brown at (about) 0.50
    • control points at 0.25 and 0.75
  • Name and save the gradient.

Duplicate the last heightmap layer (the black to white one you previously copied and colored from green to light grey) and move it above the green heightmap layer.

Select the new gradient in the Gradients window, make sure your heightmap layer is selected, then apply the gradient to the layer (Color -> Map -> Gradient). With the snow layer turned off, you get something like this.

Mapping Landforms 3 Brown 50%

Mapping Landforms 3 Brown 50%

Now the mountains stand out much better. The gradient allows the color to smoothly shift from green at the lowest elevations into brown in the midrange and pale grey at the highest peaks. This stands out rather better than the previous, green-to-grey version. Still, I’d like to shift the ‘brown elevation’ down a bit and make the peaks a little more prominent.

Mapping Landforms 3 Gradient 40

Mapping Landforms 3 Gradient 40

I copied the previous gradient and edited it. I dragged the gradient midpoint (the black triangle) and the control points slightly:

  • medium green at 0.00
  • pale grey at 1.00
  • medium brown at (about) 0.40
  • control points at 0.20 and 0.70

This gave me more brown in the lower end and more grey at the higher end.

(Actually lying a bit: I did this one first, then made the more evenly-spaced version.)

Duplicated the heightmap layer and applied the gradient to it.

Mapping Landforms 3 Brown 40%

Mapping Landforms 3 Brown 40%

It is, I admit, not a huge difference… but I like this one a bit better.

Then, make the snow layer visible again, and I’m basically done for now.

Mapping Landforms 3 Brown 40%, Snow

Mapping Landforms 3 Brown 40%, Snow

Very simple techniques, easily applied, but they make it look so, so much better.

Masking

Finally, in this series of tutorial posts I didn’t talk about masking. The images so far have been ‘only’ of the mountains, but in practice you’ll probably want to mask out part of the layer so only the mountains are evident.

It’s not hard:

  • In the channels tab, for each of your original selection regions, do “Add to Selection”.
  • In the layers to be masked, right-click and “Add Layer Mask…” from the selection.
    • You’ll probably want to mask your color layers and possibly the bump map layers (so they’ll blend somewhat with the texture of what’s under them; I’ll demonstrate below).
    • The other working layers — the height maps, the range selection, and so on — are best turned off. I usually keep them in case I need to make changes later, but don’t show them now.
  • With the layer mask selected, displace it using the same settings (X and Y both 19 in this case, using layers noise-x and noise-y respectively) to make the layer mask the same shape as the mountains, then add a bit of Gaussian blur (5..23 pixels worth — I used 23 here) to smooth the edge of the mask a bit so it blends better.
    • If you have several of these, copy the layer mask from layer to layer; Add Layer Mask and Displace gets old after a while)

In the image below I threw a quick and dirty ‘grass texture’. Add a layer below the mountain colors layer, ensure it’s selected, then use “Filters -> Render -> Cloud -> Plasma Cloud…”. Tweak settings until you have something like — it’ll be garish, but the next step gets rid of that. Use “Colors -> Desaturate…” to reduce it to greys, then set the layer on ‘overlay’ blend mode.

Mapping Landforms 3 Brown 40%, Grass

Mapping Landforms 3 Brown 40%, Grass

Then, above the snow adjustment layer and below the mountain bump map, add a medium grey (0x808080) layer in overlay mode, and give it a mild (depth 3..8 or so) bump map, using the grass layer just created as input. Linear is fine. This to give the ground just a bit of texture. I find that I can see that the bump map is present if the depth is 8, but at depth 3 I can really only see if I toggle the bump map layer off and on. Anywhere in this range usually works for me.

In the image below I used a depth of 3, just enough to give it a tiny bit of texture.

Mapping Landforms 3 Brown 40%, Grass Bumped

Mapping Landforms 3 Brown 40%, Grass Bumped

Without the masking, you wouldn’t see the mottled ‘grass’ at all, it would be a smooth green plane.

Closing Comments

These final touches, simple as they are, make a big difference in how the picture looks. The green-to-grey mountains have visible terrain, but while they have good shape, the color choice can be better.

The easiest way to do this cleanly is to create a three-color gradient (in this case green-brown-grey) and apply it to (a copy of) the heightmap. By using three colors like that, and ensuring the “left endpoint color” is the color of your background, you get a smooth transition from lowest to highest elevations. In this context is also gives you some foothills, the lower elevations that are primarily green, before getting into the middle and higher elevations. Careful color choices help you keep the textures evident; go too light at the highest elevation and the peaks get blown out and turn into flat white patches that don’t look very good.

As always, there is a huge amount of experimentation you can do. Colors, region sizes and shapes, bump map parameters, there are many things to you can do make these techniques work for you.

The biggest, or most likely, problems you’ll run into:

  • Not using ‘sample merged’ when selecting your range selections. If this isn’t on you’ll end up selecting by color on the selected layer, which almost certainlly will not do what you want.
  • Not turning off antialiasing when selecting your range selections. This gives you ‘partial pixels’ around the edge, and that does strange things around the edges of the angular fill at that step.
  • Causing the range selections to accidentally touch when you have more than one. Angular fill works on each selected region, and if they touch it does strange things to the math involved and almost certainly won’t get what you want.
    • Try it and see. I can’t describe it well, but you’ll know what I mean by ‘strange’.
  • Using colors that are too bright. When blending layers (especially overlay; multiply doesn’t have this problem because it’s never brighter than either starting layer) or bump mapping this can easily lead to blowing the colors out. You’ll know it when you see it, it’s not pretty.

Masking the mountains makes it easier to blend them with the other terrain features around them.

Several Mountain Ranges Together

A-Z 2016 "S"I’ve written a couple times recently about simple techniques for drawing mountain ranges. Yesterday I showed how I draw the basic landforms, and on Sunday I showed how I manipulate them to relieve monotonous elements and make them look better to me.

Under normal circumstances I would have presented the material in a different order (and back in 2009 I did! I wrote Yet Another Mountain Tutorial Using GIMP at the Cartographer’s Guild… there’s even a PDF up there that goes into more exacting detail of the GIMP techniques, including dialog screenshots, at each step of the way), but this is the order the topic came up.

So. Yesterday’s tutorial shows how to draw a mountain range. Which is lovely, but possibly not sufficient because in the real world there are often several mountain ranges in close proximity and usually more or less parallel to each other. But not straight.

Today, I’ll show how I do that.

Starting with the image from yesterday’s tutorial,

Mapping Landforms 1j (snowcaps)

Mapping Landforms 1j (snowcaps)

I’m going to roll it back to the original, stark, sharp-edged beginning.

Mapping Landforms 1 Base

Mapping Landforms 1 Base

(This is why I kept it. I don’t make up everything as I go, I can do some basic planning…. sometimes. Also, I didn’t throw the other stuff away, I just moved this layer to the top.)

Create another black layer, grab a white pen (100 sharpness, size 60) and draw some more starting lines on the new layer. I find setting the new layer to partial transparency (this is 70% opaque) so I can see through it gives me an idea where things are.

Mapping Landforms 2a Base

Mapping Landforms 2a Base

Set the new layer to full opacity and apply Gaussian blur with a radius of 91.

Mapping Landforms 2b Gaussian Blur

Mapping Landforms 2b Gaussian Blur

Move the noise-z layer to the top in overlay mode.

Mapping Landforms 2c Overlay

Mapping Landforms 2c Overlay

Select by Color to identify where the mountains are, new black layer, angular fill (white to black).

Mapping Landforms 2d Angular Fill

Mapping Landforms 2d Angular Fill

Move noise-z to the top, multiply mode. Create new from visible (the next step is destructive).

Mapping Landforms 2e Multiply Down

Mapping Landforms 2e Multiply Down

Displace (19 each way).

Mapping Landforms 2e Displaced

Mapping Landforms 2e Displaced

Now, do this a few more times, moving around a bit. Each time, overlap slightly with the previous one.

Here I’ve done two and taken them to the ‘angular fill’ stage. I set the top layer to ‘lighten only’. It should be clear where the ranges touch each other.

Mapping Landforms 2g Multiple, angular fill

Mapping Landforms 2g Multiple, angular fill

Then move noise-z to the top again, multiple mode.

Mapping Landforms 2g Multiple, noise multiplied

Mapping Landforms 2g Multiple, noise multiplied

Create new from visible, then displace.

Mapping Landforms 2g Multiple, displaced

Mapping Landforms 2g Multiple, displaced

Now I turned on all the ‘displaced layers’, with the bottom in ‘normal mode’ and the rest in ‘lighten only’.

Mapping Landforms 2g Multiple, all height maps

Mapping Landforms 2g Multiple, all height maps

… what a mess. Ah well, it’s only to demonstrate the technique. Normally I’d be much more careful about placement. Create a new layer from visible, it’s the ‘new heightmap’ that we’ll render from.

Assign gradient color.

Mapping Landforms 2g Multiple, colored

Mapping Landforms 2g Multiple, colored

Add some bump mapping.

Mapping Landforms 2g Multiple, bump mapped

Mapping Landforms 2g Multiple, bump mapped

That’s… kind of nice, actually. But let’s add some more.

Mapping Landforms 2g Multiple, bump mapped more

Mapping Landforms 2g Multiple, bump mapped more

Yes… there are some fairly strong elements here, let’s try one more.

Mapping Landforms 2g Multiple, bump mapped too much?

Mapping Landforms 2g Multiple, bump mapped too much?

Too much, I think. I’m getting outright shadow in places. While this sometimes is what I want, in this case I think I don’t.

I’m going to back it off to the doubled bump map (‘bump mapped more’ above) and add some snowcaps.

Mapping Landforms 2g Multiple, snow caps

Mapping Landforms 2g Multiple, snow caps

The snow caps are a little more aggressive than I showed yesterday. I wanted them to stand out a bit more.

Closing Comments

Mountain ranges often have several distinct ridges somewhat close together and more or less parallel. In the example from this post I built up many such ridges to show different intersections and alignments. The two west-most might be a fairly common configuration. The southern ‘zigzag patterns’… I don’t know how often that happens in our world, but the individual merges and splits certainly do. The east-most end of the norther ridges show what it might look like when you’ve got three more or less parallel.

The important thing when creating multiple ridge lines and using angular fill is that the individual ridges must not touch. I didn’t show the intermediate layers, and perhaps I should have, but if I were drawing a region full of ridge lines I’d draw them something like ABCDABCDABCD — that is, three ridges on layer A, far enough they won’t touch, then three ridges on layer B far enough they don’t touch each other but slightly overlapping or close to A, three ridges on layer C that… and so on. The angular fill does bad things if the areas being filled intersect or even touch, so keeping them separate and then blending the layers at the end lets you keep the ridges distinct, while retaining valleys and the like between them.

Speaking of valleys, the use of the same noise layers for each of the layers is critical. For the Z (elevation) layer that is why the ridges, peaks, valleys, and saddles tend to be similar close together. The two ridge-peaks at the east-most end — about two o’clock on the image — are so close to the same height because the same noise layer was used to adjust their heights.

Similarly, by using the same noise layers for displacement for all images we get things retaining much, but not exactly, the same displacement. Two ridges that run more or less parallel will continue to do so, modulo the slight differences in the noise layers. The eye can pick up on the similarity, without it be so similar that it seems artificially parallel.

Small Observation

The colors between the very first image (end point of the previous image) and the final version here are slightly different. I believe this is because I ultimately had slightly different degrees of bump mapping between the images, which would have some effect on the color.

Just for fun, though, open the first and last images on this page on separate tabs and toggle between them, and you’ll see just how the pieces fit together. As long as you keep your intermediate steps (especially the noise layers!) you can continue to build on the mountainous region.

Experiment with different pencil widths, change the Gaussian blur parameters, try different blend modes (I like using multiply after the angular fill, but overlay can be good too — you might try changing the curve on (a copy of!) the noise layer so it goes from 0..0.5 instead of 0..1, so the overlay only darkens and peaks don’t blow out).