Tuesday, November 7, 2017

Character Creation: Tails of Equestria

    I had never seen any of the "My Little Pony" cartoons before a friend talked me into making a character for its role-playing game (mind you, 'talked me into' consisted of handing me the book :).  I found it to be a very interesting experience, and I want to share my thoughts and character with you here.


How To Make A Pony
    This is actually quite simple, there are a whole 6 choices.  It's simple enough I'll give you all the options as I walk through it.



1st- What type of pony are you?
    An Earth Pony is strong and brave, a Pegasus can fly, and a Unicorn uses magic.

I like magic, so I first thought of Unicorn.  But, if I did play this pony with my friends there was already a Unicorn and an Earth Pony - so I figured I'd go with Pegasus.

2nd- What is your Element of Harmony?
    pick from: Honesty, Kindness, Laughter, Generosity, Loyalty, or Magic

Generosity sounded good to me (since I was eschewing magic).  I had a vision of a pony who was very helpful and always had the right tool on hand when somebody needed to do something.

3rd- Body or Mind higher?
    You have 3 attributes: Body, Mind and Charm.  Charm is the same for all starting ponies, but you have to choose weather your Body or Mind is higher.

My "being helpful" concept seemed more material than in knowing stuff, so I went with Body as the higher of the two stats.

4th- Choose a Talent
    Every pony gets one free Talent, or power/ ability, from their type, and they get to choose one more (or upgrade the default one).

This was the hardest part, I really saw my pony as the guy who always had the right tool at hand (err... hoof)  - kind of a walking bag of holding, or even The Luggage from Discworld.  Looking over the abilities in the book I didn't see one like that however, and doing the "Felix the Cat"-style of having a transforming handbag or pulling things out of thin air like Bugs Bunny didn't seem to fit the tone of the game (which is fairly serious for being a children's game/cartoon).  So I settled on "Special Skill: Hauling" so he can carry really heavy loads (my thought was- if you can hitch him to it he can pull it) which will let him carry around his cart (since at this point I had the idea that he went everywhere pulling a cart, which had folding kite wings so he could fly with it).

5th- Choose a Quirk
    Every pony has a quirk, some character trait that tends to get them in trouble or complicate their lives (like Allergy, Bossy or Forgetful).

I went with "Naive," he wants to be helpful so much that he often gets taken advantage of or tries too hard and makes things worse.

6th- Choose/ Draw Your Cutie Mark and Portrait
    The last decision is what your pony looks like, and your "cutie mark" is a special image that describes your character (from the little I've seen of the show).

His Cutie Mark is a bucket with wings, which came from how he used to always carry around a bucket in his teeth as a young colt, and he'd carry things for people in it.  I managed to draw a sad approximation of it that I won't reproduce here.  He's a boy pony, and tall and thin but stronger than he looks.  He's got a bark blue coat and a white mane with light brown eyes.

Final steps
    Those are all the choices you have to make to create a pony, the last thing to do is record the other fixed numbers and fill out a character sheet.  Buying equipment is described as being somewhat optional, but since my character concept was to have a lot of stuff, I went ahead and got all his gear.


Just-in-time, aka "Justin"
a Level 1  Pegasus  of Generosity  who's Naive
Body: d6  Mind: d4  Charm: d6  -  Stamina: 10
Talents-  Fly: d6,  Special Skill: Hauling/Carry d6
Cutie Mark: a bucket with wings
Appearance: tall and thin, other ponies tend to comment on how he's stronger than he looks.  Has a dark blue coat and white mane with light brown eyes.  Always in the middle of things, looking for a way to help out - he doesn't like to be alone or useless.  Goes everywhere he can with his cart full of stuff, which he keeps to give to other people when they need something.
Bits (money): 0 [tends to spend it as soon as he gets it to buy gifts for people or have more stuff on hand]
Equipment-
    Cart  [has folding kite wings so he can fly with it]
    Raincoat and Boots  [for himself when alone, but he'll loan them out and get wet if somebody else needs them]
    Food: Simple Meal x9  [in case anybody gets hungry, and for any long-distance flights]
    Food: Snack x3  [usually given away to anyone looking peckish, or maybe candy for kids, I'm not sure]
    Saddlebags  [yeah, he has the cart, but you can never have too many bags]
    Rope  [a million uses]
    Ponybalm x5  [kind of a minor healing potion in the game, for anyone who gets hurt]
    Lamp  [good for dealing with the dark]
    Party kit  [in case anyone wants to celebrate, I'm guessing this includes a small tent which could have its own uses]
    Cooking kit  [goes with throwing a party]
    Book of stories  [in case anybody is bored, to loan or read to others]
    Guidebook to Equestria  [the world is a big place, so he has a guide to geography and customs to get around and get along, how accurate it is is something the GM can have fun with]
    Bucket  [the same one he used to carry around as a colt]
    Cleaning kit  [for cleaning up after the party above]
    Grooming kit  [important to look good, and really helpful after any long-distance flights]
    Instrument: Harmonica  [to pass the time or entertain others, I'm assuming he knows how to play it since there is no skill or talent for playing, and having him be bad at it might be funny, but doesn't quite seem like the character]
    Clock  [good to be on time]
    Shovel  [another generally useful tool]


Some Thoughts
    Mechanically this is one of the simplest characters I've ever made, and it's also one of my favorite characters.  I really like the character creation for this game.  It's focused on teamwork, the whole book subtly reinforces that you're going to be part of a team, and some of the mechanics like your Element of Harmony and Tokens of Friendship (which I didn't list since you get them from your party) - but with that it has a focus on your nature.  A typical RPG is about making a party, a team (well, a good RPG in my opinion) but the focus is on your role in that team: tank, healer, damage type stuff.  Here, your role in the team is your nature, like Justin's "Generosity."  While it would be possible to make a party of ponies that were all the same, you'd be missing a vital part of the game in how the characters' different natures bring different approaches to solving problems (and create different complications).  I've watched just a couple of episodes of the cartoon since making this character, and really like how it has that character-focus instead of a typical RPGs ability-focus.
    Also, that focus on a character's nature and the simple mechanical choices made it really easy for me to concentrate on my character concept.  I actually feel like I know this character, his backstory and how to play him, better than most other RPG characters I've ever made.  Not having a million choices and rulebooks and sourcebooks and class guides and numbers to add kept the importance on the character.  I do prefer more mechanically developed games, so I'm not sure how it's going to feel to actually play the character (if I ever do), but for character creation it was great to keep it simple.
    I didn't know what to expect before making this character, but I'm amazed now that I was able to create such a detailed character so quickly, and one that seems like he'd fit well in a party and has some potential to be fun to play and explore.  I tip my hat to the developers of Tails of Equestria for making a great system to create characters, and one that I'm taking some notes from for my own games.


Monday, November 6, 2017

Looking at the 5th Edition SRD - part 8 - Monster Abilities and Defenses

    I hate the way my mind works on an almost daily basis.  That really includes this morning: after looking at the spell saves and damage types I knew I would have to do the same for the monsters.  Well, in the 5e SRD there is 130 pages of monsters, which it turns out comes to 198 individual monsters (wow, 2 short of an even 200, so close...).  Yeah, that means I went over them all, for about the last 4 hours.  So let's look at the saves and damage types monsters can inflict.
    First the energy types:

Fire  47  (24% roughly)
Poison  36  (18%)
Acid  24  (12%)
Cold  17  (9%)
Lightning  16  (8%)
Necrotic  10  (5%)
Radiant  4  (2%)
Psychic  2  (1%)
Thunder  1  (0.5%)
Force  --  (0%)

    Okay, Once again fire is the dominate effect, PCs need to get that resistance first.  Poison was one of the lowest for spells, but second-highest for monsters (which makes sense; if you can channel energy in a spell why poison something when you can just blast it out of existence?).  Cold and Lightning were tied for second in spells and 4th/5th for monsters, so they're pretty common effects.  I am surprised at Necrotic  I thought there would be more undead and negative planar monsters who would do it, but it's fairly uncommon.  Radiant is "good" divine magic, so no surprise there are not many monsters who do it (since the monster list mostly focuses on bad ones, only the few angels and the unicorn are "good guys").  Psychic resistance (again, for a player) is just about useless, only 5 spells do it and almost no monsters, which goes double for Thunder and Force.
    Bludgeoning, Slashing and Piercing are special since monsters can do them either as innate or weapon attacks.  the GM could easily change what weapon a monster is using, but since I'm sure most don't (hey, it's a lot of work being a GM :) I'm going to include them in the totals here:

Bludgeoning  86 innate + 18 weapons
Slashing  82 innate + 27 weapons
Piercing  107 innate + 46 weapons

    So if you can get Piercing resistance, do it.  Otherwise it's a fairly even spread.  And of course you're much more likely to run into a physical attack than an energy one, so they are more useful in general (only makes sense, just about anything can hit or bite or pick up a pointy stick after all).


Saving Throws
    The other thing I was looking at with spells was which kinds of saving throws they required.  Let's do the same for the monsters' abilities (listed by most common):

Con  84
Dex  71
Wis  42
Str  28
Cha  2
Int  0

    Wow.  Okay, so let's total monsters and spells, and get the percentages for all save-requiring effects (of which there are 340 I've looked at, listed in order):

Str  2 + 28 = 30  (9%)
Dex  32 + 71 = 103  (30%)
Con  26 + 84 = 110  (32%)
    total of 71% of saves are physical
Int  3 + 0 = 3  (0.9%)
Wis  37 + 42 = 79  (23%)
Cha  13 + 2 = 15  (4%)
    total of 28% of saves are mental/spiritual/psychic

    Okay, all illusions and illusion-effects need to be regular Int saves to make that actually worth something.  Likewise, I think that most to all of the charm saves should be Cha instead of the book's Wis.  The thing is, wisdom is often used as perception and people commonly do things they know they shouldn't - Cha seems better to me as a "contest of wills" (you're not going to tell me what to do...) and mechanically it would make a Cha save proficiency a little more useful (emphasis on 'little').  Really, out of 6 saves 3 are clearly better to have.  Of course, if you want to be totally precise you have to look at just how damaging each kind of effect is and weigh the numbers - I am not going to ever do that.  And, this doesn't take into account traps, environmental effects, poisons or diseases (all of which could force a save) - though those would only increase the Dex and Con leads I'd wager. [wow, looking at it like this I see that 5th edition does still have only the 3 saves - fortitude, reflex and will - of 3rd edition, huh]


Monster Resistances
    While looking at the monsters I had another question - how many monsters are resistant to each damage type?  So here's the list - and I'm not making a distinction between resistant or immune, this is just a general guideline on what kinds of damage types can be mitigated in some way:

Poison  64  (32%)
Fire  52  (26%)
Cold  39  (20%)
Lightning  35  (18%)
Acid  18  (9%)
Necrotic  13  (7%)
Psychic  10  (5%)
Radiant  4  (2%)
Thunder  8  (4%)
Force  0  (0%)

Non-magical/silver/something weapons (B/S/P)  57  (29%)

Spells (in whole or part)  28  (14%)

    Okay, so Poisoning monsters is not generally effective (it is mostly at low levels I think, it seemed like the higher level monsters like demons and undead that were poison resistant/immune).  Too bad Fire is the most common spell damage type since it's also one of the most mitigated by monsters.  Go magic missile, nobody mitigates Force, though some monsters are spell resistant.  And get a magic/silver weapon as soon as you can, a fair number can resist normal damage.  Quite a few Cleric spells seem to do Radiant damage, so they have a nice edge given how few monsters are resistant to it.  Psychic is like Force, would be a useful one for the PCs to do but not many ways to do it.  The 5 spells that do Psychic, 4 that do Thunder and 4 that do Force are all very good ones to learn and memorize overall.
    Again, the really interesting thing would be to break these down by level (or "CR" for monsters) and see how they develop over time, another thing I do not plan on doing however.



So what does it all mean?
    Ummm... I have too much time on my hands?  I obsess too much over little details?  Honestly, I'm not sure what great insights I have gleaned from this.  It's debatable that all damage types should be equally common, thus making them all equally useful - and while I do believe that in general, in practice it's not so clear-cut.  More higher-level monsters should be resistant to damage than lower-level ones, that's just because the PCs should be challenged as they level up to find new and more clever ways to fight the monsters.  Having a lot of monsters that could be hurt by Necrotic damage but only a few ways for the PCs to inflict Necrotic damage actually works well- Necrotic damage is associated with evil, which the monsters are more than the PCs, and it gives a temptation to "go to the dark side" to gain an ability that would be so useful.  Heck, I'm tempted to say that most really evil supernatural creatures should be vulnerable to Necrotic - "evil turns on itself" is a common theme after all, and that would make the temptation even better to mess with the players (assuming of course that there was some sort of down-side to gaining the Necrotic spells/abilities, which there isn't).  I kind of feel like more spells should be focused on mental effects, in the idea that manipulating minds and hearts should take less power than throwing fireballs - and I hate the "walking catapult" paradigm of the wizard.  The huge in-balance towards physical saves does benefit the fighter-types a lot, though you could argue that balances out the overall power of spellcasters and spells in general.
    My goal with dissecting the 5e SRD is to make my own game, which means knowing how to go along with the rules and what rules I might want to change.  From looking at this, I'm not sure right now what all I'd change - but I think I'm going to tweak at least a few things in the end.
    Of course to get to that end I need to finish looking at the rules, and there is a lot of the book to go.  So until next week!

Saturday, November 4, 2017

Some of my favorite: How It Should Have Ended


I absolutely hated this movie, but love the HISHE for it...


Another movie I didn't like very much...

A movie I liked okay (it wasn't great, but okay) - part two of this is great too...

And this was the first HISHE my friends showed me years ago...



Wallpaper - Nature vol 2






I like this wallpaper, but it does bring back unpleasant memories of Mass Effect 3's ending...








Friday, November 3, 2017

Open2 Engine: Bookworm - part 4 - Odds and Ends

    So I managed to get the first major component of Bookworm up and running, the ability to open text documents and dynamically show the contents.  Then I added the ability to save and open notes.  I'm happy about the progress, but this is just the beginning of what all I want to do.  The next major feature I am going to add is the ability to create/ edit documents (and I needed to be able to open, display and save a document in the first place) - however, before I get to that there are a few little things I want to fix (also because exactly how to add my next feature has been giving me a headache :).


Adding a "splash screen"
    In case you hadn't heard the term somehow, a 'splash screen' is the screen you see before a program loads.  It's usually small, and nothing more than the program's logo and maybe a progress bar.  I want to add one, well, something like it at least, to Bookworm.  Why, after all this is not a very complicated program?  Well, since I'm using jQuery UI for my styling I layout everything in HTML and then run some JavaScript to format it all.  This is causes a moment when the page loads and the text isn't styled.  I got some screenshots of it...


     This really bugs me, I don't like having that transition.  So what I'm going to do is set the "load" div to hidden and add another div that will be the only visible "splash screen" that won't have an UI elements that need styling.  This way jQuery UI can do it's stuff behind the scenes.  So I'm adding a <div> and setting the <div> for the tabs/ main body to hidden.  Then, I need to show it when everything loaded, so I'll add a line to the function that loads the UI elements to show them when finished.
    I started playing with GitHub to learn about version tracking, so you can see a little green bar in the screenshots where I added new code...



 This was easy enough, and seemed like a simple idea, but it didn't quite turn out how I expected...

 The tabs section is weirdly truncated, and I had trouble before getting the height right for some reason, looks like I've still got problems.  Hmmm.... So how to fix that?
    Well, it was actually pretty easy, I just removed what I had done before.  I had set a min-height for the tabs div, which I deleted and everything worked perfectly after that.  Okay, so I made the problem myself :)  At least it was an easy fix.  I did add one new thing, I added a 50px margin-bottom to the main <body> element.  That's because I like how the button to "Load Another Document" is at the bottom of the screen and had the border for the tabs div running through it.  It's a silly little stylistic thing, but it's hard to see at the bottom of the screen.  Which is hard to describe, so here's a before and after set of screenshots...


     Right now I'm keeping the "splash screen"/ header at the top of the page.  It is kind of nice to have the program's name always visible, but I'm not sure if I want it to be or not.  Until I decide I'll leave it the way it is.


Disabling the Save Notes button
    Something you can see in the screenshots above is how the "Save Notes to File" button is enabled even though no notes have been loaded.  It seems silly to save a blank file as notes, so I want to set that button to be disabled at startup and have the function that loads the notes enable it.  I made that button in plain HTML and while I can change it's state in HTML I think I'm going to go ahead and make it a jQuery UI button instead, and add a little icon of a floppy disk to it.  I like working with jQuery and jQuery UI to learn how they work, it might even be easier to do a lot of this in plain HTML/ CSS (the tabs, accordion and buttons) but I'm going to focus on doing as much as I can with jQuery UI.  I can always re-write it later, which would be another learning experience :)
    So, I'm going to add the button, it's icon and set it to disabled in the function that loads the UI elements...


     Then it's a line in the function that loads a notes file to enable the save button...


    And here's how it looks...



    While I'm at it, why not change the "Load Another Document" button as well?


     Changing the file load buttons is trickier.  They are kind of special, since they interface with the operating system.  Turning them into a jQuery UI button just looks weird...

 ...so for now I'll leave those alone.  I'm thinking I can just hide them with "display:hidden", put a jQuery button there and when the jQuery button is clicked have JavaScript call the hidden file button's event handler.  That might work.  Thing is, while I'm not fond of having different kinds of buttons I also like how they display the filename, which would mean making my own label as well.  I'm not sure what I'm going to do with this right now.  It's another thing that I'm not fond of but also doesn't bother me that much.


The Textarea Width
    This has bugged me, I set the "cols" attribute on the <textarea> just following what I was reading at the time - but I don't like how it's not the full width of the screen.  So I'm changing that to be 95% width in CSS.  Looks better now.

Light and Dark Themes
    While I'm in CSS there's one last thing I'm going to change right now.  By default everything's black text on a white page, which is fine but I do sometimes like to read in the dark (I know it's bad for my eyes).  So I want to make a dark and light themes that can be changed.  To do this I'm going to make a new tab called "settings" and put some buttons that will change a CSS class on the <body> element (which everything should inherit from).
    So I need to do a few things.  First I need to add a new section to the tabs widget for the settings.  Then I need to add some buttons.  The easiest way I can think of to switch themes is to use jQuery's "toggleClass" method, which will take a list of classes (in this case "light" and "dark") and will then remove the class already there and add the class not there.  I could make an if-then block for each, but this is easier.  Then I also need to add the classes to the CSS stylesheet, and the new settings theme buttons to the jQuery UI setup function, with the "light" button disabled to start (since that'll be the default style).  Which led to some typing and then this...


So... I forgot that my simple "toggleClass" didn't change the light button to be enabled.  I also didn't realize the jQuery UI widgets wouldn't inherit from the <body>'s style.  Okay... mistakes were made...  I did want to add the ability to change the style of the jQuery UI buttons, to have something like green instead of the default blue.  So apparently I need to look at how to change all that styling...

    Which I am going to do later.  Right now I'm out of my time to work on this, so I'll pick it up from here for next week.  I've got the updated file (somewhat broken as it currently is :) that you can download here.  Until next week!


Thursday, November 2, 2017

Simple Character Viewer Tutorial: writing HTML tables with JavaScript

NOTE: I've been having trouble getting my programming posts together, which should hopefully be fixed now.  I apologize for the lack of code updates over the last few weeks, and things will be more consistent from now on.

    I've found a lot of great sources of information about programming since I started teaching myself a few months ago.  My first idea for the "Thursday Tutorials" section of this blog was to put links to some of that information so it can help others.  But I did have another dream, which I want to realize today: writing my own tutorials.  Now I need to stress again that I am not an expert coder, as mentioned I only started learning this stuff a few months ago - but I have discovered over the years that the best way for me to learn something is to try and teach it to others.  So this is going to be the first post in a series aimed at learning how to do something in HTML/ CSS/ JavaScript.  I have been discussing my code in the Friday Frustrations series (currently working on my project called "Bookworm"), but that series is meant to produce a working application.  This series is meant to look at one specific topic and discuss how to do it; what I'm going to make is not anything really useful (at least not to start, who knows what'll happen as we add features to it?).  Which begs the question: what are we going to make?
    One handy thing to be able to do is to write data to a table.  So here's a screenshot of an HTML table that has some basic character information:




    Instead of hand-coding that table, wouldn't it be nice if we could make a blank table and then write each row dynamically using JavaScript?  It sure would!  So how do we do that?  Well, Grasshopper, let me show you...

Creating The Base Table
    First of all we need the basic table layout, with the header and stuff.  I'm going to add some CSS to make things look pretty.  This is the final blank table...


And here's the HTML code...


And the CSS code...


    That gets us the basic table, now we just need to be able to populate it.
   

Creating the Character Object
    So we have 10 table cells that we need to display on each row.  I'm going to start by doing this the easy way.  The easiest way is to make each cell a string.  So for an attribute, like the "16 (+3)" in the example I'm just going to store that same string in my JavaScript object.  Now, I'm doing that because I want to show you how to write data to a table, and that's the simplest way to do it.  But, in reality that would not be a very useful object to actually write code for in something more interactive.  The main attribute value, "16," and the modifier, "(+3)," should be stored as separate bits of data so they could be read/ interacted with individually.  And we'll see about writing something that will be more useful to program and read down the road.  For now let's start easy.
    That dealt with, basically we just need an object that has 10 values, the string for each cell.  That's a pretty easy object to create...




I'm going to hand-code a few of these to start with, then we'll look at how to let the user create their own...



Writing the object to the table
    Objects in hand, and basic table set up, let's get to the main event and actually write those objects to the table.  I'm going to start by doing this in pure JavaScript (I'll add how to do this with jQuery in a bit).  What we're going to do is create a new table row, add each cell from the character object, and then append that to the table.
    Let's look at the ugly way to do this.
    What we need to do is comprised of several parts.  First, we need to create a "document fragment" - some HTML code that isn't attached to anything.  Our fragment starts with a <tr> to make a new row, then we make a new <td> cell and fill it with the right object property.  We need to add the object's string with a method called "innerHTML" - that's because we're adding <br> HTML tags to the strings for formatting, if we add them as plain text the browser will just display "<br>" instead of actually making a new line.  Let me show you what I mean...


    So, with that in mind, let's look at that ugly code.  Basically, the ugly way is the longest way possible - in this case that's hand-coding each cell.  Here's a screenshot of the code...


And what it looks like...



    As you can see this does work, it adds the data and formats it properly, but it's ugly because we have to write a lot of repetative code for each step.  Instead of writing out each object property by hand, why don't we see if we can use a loop to simplify the process?  Remember, a good programmer is a lazy programmer :)  That said, we can look at our ugly code and see exactly what steps we need to repeat:

//write the object to a document fragment
var tblRow = document.createElement('tr');
   
//create and append each property
var tblName = document.createElement('td');
tblName.innerHTML = CharacterObj.name;
tblRow.appendChild(tblName);
   
var tblStr = document.createElement('td');
tblStr.innerHTML = CharacterObj.str;
tblRow.appendChild(tblStr);
   
var tblDex = document.createElement('td');
tblDex.innerHTML = CharacterObj.dex;
tblRow.appendChild(tblDex);
   
//append the fragment to the table
var domTarget = document.getElementById('tblCharDisplay');
domTarget.appendChild (tblRow);

    The beginning we only need to do once, creating the <tr> for the new row our character will take up.  I'm only going to use one row for each character, though I don't have to.  The name cell has 3 lines, and so do the weapon and armor cells - so I could have each character split across 3 rows.  I just don't think that would be very useful, it would mean even more code to make the extra rows and several of those cells would be empty - I think using the <br> tags is a more convenient way to get the formatting I want.
    Also the ending, appending the fragment to the main table, is something we only need to do once.
    The repeating code that we need a loop to handle is in the middle, creating the individual <td> cells for each of the 10 object properties.  That code is make up of 3 parts, first we create the new <td> cell, which is empty.  Then we fill the cell using innerHTML with the object's property string.  Last we append the cell to the row.  Easy.  So let's look at the loop that's going to handle this for us...

//create and append each property
let prop;
for (prop in CharacterObj) {
    var tblCell = document.createElement('td');
    tblCell.innerHTML = CharacterObj[prop];
    tblRow.appendChild(tblCell);
};

    This is pretty simple.  We made a variable to hold the current property.  Then we use a for-loop to iterate over each property in the object, creating a cell, populating it and adding it to the row.  It looks like this...



    And there you go, we've written some data from a JavaScript object to an HTML table.  Good job us!  Yeah, yeah, I know it's not really that big of a deal, but you have to acknowledge every accomplishment, even the little ones.
    Since this isn't a very impressive app, there is a lot of room for improvement.  Which we'll do next week :)  If you want to play with the code for this yourself, here's a link to it on my Google Drive.


Wednesday, November 1, 2017

The Elemental Empire - part 2 - a rough map

    My last attempts at making some random maps created some interesting things, but getting a layout I like would mean creating dozens of maps to finally get one that spoke to me.  So I decided on a new track.  I got a blank map of the world, then loaded that image in the GIMP, where I did a hand-tracing of the continents.  Drawing with the map is not an easy thing, but I think I got something workable.  By re-arranging and scaling things I ended up with a map that while it was based on the real world, doesn't look like the real world.  And having an image to look at gave me the inspiration I expected it would to start filling in the larger world.  So here's the map, rough and subject to change as it is...


    There is that big stretch of ocean at the top-right, which I think I'm going to fill in with something later.  But for now, the central-north continent is the home of the Elemental Empire.  The western half of the Empire is fighting the "barbarians," which are going to be animal races like Centaurs and Gryphons - those come from (or are somehow related to) the top-left continent (which is totally not Australia ;).  The right-most continent is home to two major powers, one a religious empire of sorts and the other a "pagan" civilization - the wars between the two are what sparked the demon invasion of the Empire.  South-central lies the Five Kingdoms, whom I have no idea about at all.  And south-west is a lost continent, uninhabited by any major civilizations, that was the home of a race from antiquity, it's full of ruins and the aftermath of a magickal disaster.

Thematic Elements
    So the world was meant to have some elements for story-building:
  • The Elemental Empire - martial society, mixed races living together, major power on the brink of either collapse or change, enemies all around
  • The Wildlands -tribalism, nomads, rich races and societies but no central authority, misunderstood and outcast
  • The Oligarchy -faith and religion, mingling of different faiths
  • The Mystics -individualism, spirituality, anarchy, passion
  • The Broken Lands -lost/ forgotten history, disaster
  • The Five Kingdoms -politics, intrigue, shifting alliances and betrayals

So the world is slowly but surely taking shape.  A short update this week since crafting the map took up a fair amount of time.  More details next week.