Monday, November 26, 2018

How I Build My Campaign Storylines

On Reddit someone asked "What is your way to make an interesting storyline for a campaign?"

Here was my reply with the hopes that it may help other GMs who are new to the hobby and looking for answers to this question as well...

I read a lot of Science Fiction, and Fantasy, but mostly old world stuff that my friends may not have read... I glean ideas from those sources, and play mix-n-match with background concepts a lot. What if Mars had an underground ocean which the Martians had retreated to long ago when their atmosphere got blown away in a huge war? I will often start with a premise like that. I then sketch a map and some basic blocks of important information. The two main societies located are North and West. One is warlike the other are mental giants, but few in numbers, who survive because the ocean is difficult to cross (no idea why yet), and the Mentats are very smart about defending their land. I then sketch out main characters. The Warriors are ruled by Throknar, a grizzled veteran with a taste for brutality. The Mentats are ruled by a Quorum of 9 who all excel in wisdom and the arts. Among the Quorum are 3 Shining Stars, named Eloaim, Sarasaz, and Ninya. I will sketch their personalities, and then assign them stats based on their classes. I also give them each a Motivation. Throknar hates Eloaim because she refused his hand in marriage, and so he wants to destroy the West and capture her for his wife. Eloaim is motivated by the wish to re-establish life on the surface of Mars, and as a scientists is working towards that end. Sarasaz is a wise ruler intent on protecting the West, and seeking new ways to cultivate food. Ninya is an artist who loves the sublime, and is well loved by the people. His goal is to foster kindness in the world, and put an end to warfare. Once I have this, and a rough map of the terrain, I will work on some additional details by answering questions about the environment. Underground ocean is teaming with sea monsters. There are several underground tunnel and cavern systems that lead between the North and the West but these are often occupied by tribes of wild Martians, and a collection of all sorts of monsters. Ok, at that point, I select monsters for the caverns. Lastly I want to include sources of riches ... on Mars there are certain stones which are rare and serve as a kind of currency. They are energy stones, named Alamir, and come in a number of colors, from red, to blue. They have different levels of power based on the color, and can hold potent energies which can be used for psychic powers. I place some of these at a few places on the map, and at that point I'm ready to start playing. After that I wing things according to what the PCs do, and glean ideas along the way based on their actions, comments, and from any other source I can get my hands on. And that's how I do it, more or less. I hope this helps.  Best wishes.




Friday, November 23, 2018

Thanksgiving on Mars

So I got invited to to my friend's house for Thanksgiving. There were 7 of us. Her 3 children, ages 14, 17, and 21, and the middle son's girlfriend and her brother. Whole Foods has a wonderful Hickory Smoked Turkey Dinner for 8, and with some peach pie, ice cream and cookies for dessert, it was wonderful.

After the dinner the boys asked me to show them how to play my game, Elthos RPG. Now, I should mention that I've known them for a long time now, since they were little kids, and the whole time I've been talking about how I'm working on my game system. In the past few visits Xianda, the middle son, asked me if I would show them how to play, and tonight he asked again. None of them had played any Role Playing Game before but Xianda's girlfriend's brother, Hudson, had heard of D&D and was into the idea. So I told them all it takes is one six sided die, a pencil and paper, and we could give it a go. I explained the basics: one person creates a World, and the rest of the players generate Characters in that world and play adventures as those Characters. Xianda, who has never played any RPG at all, decided he wanted to Gamemaster. So I ran with it. We rolled Characters and co-created the World with Xianda, and then he took the reigns. What follows is the story resulting from our game.

The red dust of mars fills the long smooth corridors of the ancient Martian city. Only a small portion of the city is occupied by the last of the Martians. They have evolved minor telekinetic power over the eons, and this is a measure of their mental power.

The Two Colonies on Mars
Across the barren red wastes is a human colony run by Elon Musk. He has a space ship which transported the humans from earth, and has a Wormhole Tunnel through which he can transport non-organic materials to and from earth. He has a small colony run mostly by AI-Robots.

The humans, unfortunately, had used up the last remaining reserves of water from the region, and now both the humans and the Martians were starved of water. Things had gotten desperate. The Martians, played by myself, Vincent and Alica (Xianda's girlfriend), were not happy with the humans who had upset the balance of nature on mars. The humans for that matter were interested mostly in extracting raw materials from the planet for transport back to earth.

However, with his advanced technology and boring machine Elon (played by Xianda) discovered an underground river the size of the Hudson River 500 kilometers below the surface of the planet. This discovery sparked a rivalry between the two colonies. Both the Martians and the Humans wanted complete and total control over the river. We overheard a rumor that there were several renegade Martians who had sided with the humans and had plans to help them win the River War, which at this point was brewing, with harsh words between the leaders of both colonies.

I played Marius, a brilliant but physically feeble Reddit leader with a small but loyal following. Vincent played Priest Jack, an Outlaw-Priest (religion had been outlawed on Mars) who started the game in prison, having been previously convicted of "Criminal Religious Behavior". Alica played Marsia Steel, a very strong and very dexterous Fighter-Thief, who had plenty of smarts to go with her physique. On the other side Hudson, Alica's brother, played Mike, a tremendously strong, but incredibly stupid human. And then there was Elon Musk, played by Xianda, whose best friend in the world happen to be Mike.

The Martians went first. We learned from our underground sources on Reddit that one of the Renegades was a member of the Martian Senate, but we didn't know who, but the rumor was that he was in the Capital Building. First order of business was to free Priest Jack. Marsia disguised herself as a prison guard and used bluff to free Priest Jack from prison.

The 5 Characters
Meanwhile at the Human Colony, Elon was hanging out with his best friend, Mike, the super strong moron. Mike decided he wanted to go down to see the River and take a walk there. He was hoping to find a Martian so he could punch him to death. Elon, who didn't really like this plan, but consented, secretly placed a GPS camera on Mike, and down to the river he went. While there, he saw a Martian on the other side of the river, and not liking the look of him, tried to swim across so he could give him a punch. Unfortunately, he fumbled. and was carried downstream by the fast moving current. Elon, seeing this via the GPS-Cam, sent a team of Rescue-Robots down to save him, but Mike had already slipped far down stream and they couldn't find him. It looked like Mike would drown, but his great strength gave him a lot of Life Points so it seemed he might have a chance.

Having been freed from prison, Jack now prayed to the Gods to learn who the renegades were, and had a vision of one in a bar in the center of the city. Marsia headed there with Jack to apprehend him, and with her great strength and dexterity she was able to accomplish it. She brought the renegade back to Marius' Tower in the center of the city and we interrogated him. Marius used his powerful mind, Jack sprinkled holy water on him, and Marsia menaced him. Finally we got a confession, and were informed that the second Renegade was on his way to the Human Colony with some sort of information, or something. Marsia was sent to apprehend the man if she could find him. Marius got on Reddit and told his followers to keep an eye on her and provide help if she should need it. They replied that they would be ready. Luckily, Marsia tracked the Renegade to the shore of the river on the Human side. But across the way were Elon's Robots searching for Mike. They spotted both the Renegade and Martia, and so they asked for help searching for Mike, which was Elon's primary concern at that point. The Redditers, who were summoned to help Marsia in this tense situation, refused (a bad reaction roll) and so Elon's Robots took some potshots at them (another bad reaction roll). A skirmish began across the river. Meanwhile Marsia captured the Renegade and took him back to Marius's Tower. He was interrogated but tried to claim he was the only Renegade. Under the force of more holy water and interrogation, he confessed and gave up that the third Renegade as none other than a high ranking Senator named Boba.

As this was happening, Mike emerged on the Martian side of the river, down to 2 Life Points (from 12) and surrendered to the Redditers who transported him back to Marius's Tower as well. When Marius found out it was Elon Musk's best friend, he realized he had a decisive bargaining chip. He went to Mike and offered him rest, food and comfort, and said he would take good care of him because he was their guest. Mike liked this and so he adopted a friendly attitude.


Character Stats
____________________________________
Elon Musk         Human 
ST: 6             Level: 2
WS: 6             Life Points:   12
DX: 3             Mystic Points: 12  
_____________________________________
Marsia Steel      Martian 
ST: 6             Level: 2 
WS: 5             Life Points:   12
DX: 6             Mystic Points: 10   
_____________________________________
Mike              Human
ST: 6             Level: 2 
WS: 1             Life Points:   12
DX: 2             Mystic Points:  2  
_____________________________________
Priest Jack       Martian 
ST: 2             Level: 2 
WS: 4             Life Points:    4
DX: 6             Mystic Points:  8  
_____________________________________
Marius            Martian 
ST: 4             Level: 2 
WS: 6             Life Points:    8
DX: 1             Mystic Points: 12  
____________________________________
Marius then tried to arrange a meeting with the head of the Senate, but there was no hope of that because as a captain of the Redditers Marius had no credibility. So Marius extracted written confessions from both of their Renegade captives, and Marsia bribed a local celebrity to try to make an arrangement to meet with the head of the Senate, but that failed, and we wound up without any money (another unlucky reaction roll).

Meanwhile, Elon, who found out that Mike had been captured by the Martians, declared open war on the adjacent colony and was preparing his troops, and beginning to transport heavy weapons through the Wormhole Tunnel.

A last ditch effort - Marius called Elon on the phone and asked if the rumors of war had to do with his friend Mike. Elon at first denied it, but after some further conversation admitted it was, and Marius offered to return Mike in exchange for stopping the war before it began. Jack, however, mentioned that this seemed like it might turn into a problem for them because the Senate had not been informed. Marius, on the other hand, argued that getting the Senate involved would be sure to turn into a political battle, and thus their chance to stop the war would be ruined. Marius had this conversation with Elon on the line, and then mentioned to him that the real problem is that both sides want the River for themselves, and that this greed was likely to get everyone killed. So in exchange for Mike, he arranged to stop the war and got Elon to agreed to share the River, and also confirm the Conspiracy of Senator Boba.

They then took the signed confessions via the Celebrity to the head of the Senate, and once this happened Senator Boba realized that Elon betrayed him, and his two co-conspirators were captured, and so he fled the city with his small army of loyal retainers, among whom were a top tier group of Champions. He planned to take over control of the river himself. After this happened, Marius explained the entire story to the head of the Senate, who then gave Boba's Senate seat to him, and so Marius was in a position to negotiate with ex-Senator Boba. He argued that Boba should accept an Amnesty and in exchange abandon his plan and return to the city. He agreed.

However, his small army decided that things did not bode well for them, and so they went to Elon Musk and offered their services to him. Elon, suddenly excited to have an advantage, accepted them, and launched a small tactical nuclear weapon at the Martian City. However, the Outlaw Priest prayed for the bomb to be diverted, and the Martians were granted the extra Telekinetic Power to force the bomb to veer off course. It landed between the two colonies, exploded, and destroyed the river. And so both colonies perished of radiation and thirst.

The End.

Well, we almost saved the world. :p

What a lovely Thanksgiving treat that all was! Everyone had a great time, there were a lot of laughs, and my Elthos RPG rules turned out to be light weight enough to wing this entire game without any problems at all. Sweeeeet. :)

#ElthosRPG

Monday, November 19, 2018

Quick Primer on the Mythos Machine

When it comes to using the Mythos Machine ... it's kind of like Lego Blocks for RPGs ... you can build whatever you want. But some people have looked at it and said "Gee gosh, where do I start?" So here's some advice.

Once you have a World go to the Characters Screen and generate a Character or two. This will show you how the Things you can create in the Things section get used by Characters.  Try adding an Armor, and a Weapon.  Take a look at how the Mythos Machine does the math and calculates the Armor Class and Attack Levels.  In the Select Armors (or any other Thing) you will notice a Edit button, and if you click that it will take you to the same Edit Armor screen you use to create and modify Armors (or whichever type of Thing you're dealing with). Notice that you can change the properties of the Things right there, and they will instantly get reflected across your entire World.  Or you can create a New Thing and it will get added as a permanent Thing for use by your Player Characters and/or NPCs.

Basically, you use the Mythos Machine to define and configure the properties of the Things you want to create so that the Mythos Machine knows how to crunch the numbers for you. So for Armor, let's say you wanted to create a new kind of "Golden Platemale" that is better than normal Platemale. You could create a new Armor, name it "Golden Platemale" and give it a Damage Absorption of 5 and an Armor Class of 6. This would be super hefty Armor indeed! For each of the Things (Weapons, Armors, Equipment, Races, Classes, etc) you can create new ones or modify existing ones.

To start out with you should get a handful of Things based on the genre of the World you created (Fantasy, or Western at the moment, but there will be many more genres added as time goes on) that you can use to just start gaming. After a while of playing you might think to yourself "You know, self, my World could use some awesome new 'Golden Platemale' (or what have you)" and you can jump in, quickly create it, and add it to your world. It would then become instantly available and integrated for use by your Players or your NPCs.

The Mythos Machine is your butler and accountant.  It lets you create any kind of world you can imagine, handles all the number crunching, and keeps your records nice and tidy for you.  I have found it invaluable for myself.  I hope others will find it the same.  Give it a try and see what you think.  Enjoy!

https://mythosmachine.elthos.com
Click the card to go to the Mythos Machine

Friday, November 09, 2018

On the Invasion Isms in the World of Fantasy

I tend to not want to discuss the topic of -isms in RPGs, frankly. I consider it a kind of bear trap where you're damned if you do and damned if you don't. This is because there is so much polarization out there now at the political level, and a lot of people seem perfectly happy to drag all that into the world of Fantasy (ala RPGs). I'm not all that happy with it, however. I'd like to explain why.

I'm a believer in Escapism. The real world has become a very disappointing mound of crap in many ways for many people. Being allowed to retreat, even temporarily, from it is a human right in my opinion. It is one of the purposes of fantasy and has been a human activity for thousands and thousands of years, starting with shamanistic journies to Tir Na Nog and resulting in the amazing epics of the Gods that we have received from the ancients. For a group of people today to pooh-pooh on all of that and insist that everyone kow tow to their modernistic viewpoints (as if those will never change because they are "Eternal Truths" or some such) strikes me as ill-considered, fraught with moral perils, and destructive of the human condition. Games have been played, and stories told, for umpteen generations to sooth the human soul. I'm of the opinion that what happens in an RPG world can be considered to have taken place in the realm of Fantasy. And as such should be considered off limits to real world intrusions. So in this I side with Tolkien who once wrote:

"I have claimed that Escape is one of the main functions of fairy-stories, and since I do not disapprove of them, it is plain that I do not accept the tone of scorn or pity with which “Escape” is now so often used: a tone for which the uses of the word outside literary criticism give no warrant at all. In what the misusers are fond of calling Real Life, Escape is evidently as a rule very practical, and may even be heroic. In real life it is difficult to blame it, unless it fails; in criticism it would seem to be the worse the better it succeeds. Evidently we are faced by a misuse of words, and also by a confusion of thought. Why should a man be scorned if, finding himself in prison, he tries to get out and go home? Or if, when he cannot do so, he thinks and talks about other topics than jailers and prison-walls? The world outside has not become less real because the prisoner cannot see it. In using escape in this way the critics have chosen the wrong word, and, what is more, they are confusing, not always by sincere error, the Escape of the Prisoner with the Flight of the Deserter."

The issues that are being raised in the RPG community, in fact in every community, by those who wish to focus all attention on the politics of identity, sexuality, race and class are important. We should not blindly accept these -isms when they are destructive to the happiness, prosperity or lives of our fellow creatures. We should be willing to stand up for the oppressed and stand with those who seek to end oppression. I do agree with all of that. But where I draw the line is when the desire to right the wrongs of the world becomes a motive, or excuse, for disrupting things which are innocent ... that which exist in the realm of Fantasy. It seems to me that when the impulse to "spread the word" and "shape the narrative" and "guide the world to a better place" becomes positively evangelical, it is then that it has crossed the line from "living a good life" and setting a good example, over to forcing others to do what some insist they ought to do. I disagree with this approach. I think it smacks of Totalitarianism, the worst of all the -isms in this world. And I think that the realm of Fantasy should not be subject to it. Ever.

Children live a great deal in the realm of Fantasy. Off in their otherworld they parley with unicorns and dragons, and have adventures, and live and frolic and enjoy life as children should. I don't believe we should be trying to inhibit them from doing so. In the same way I also feel that people regardless of their age should have the right to continue to escape to that other world when they can find the time, so long as it does not impede on their ability to uphold their responsibilities in life. Even if that realm includes such anti-political ideas as "The Good", and "The Evil" (which it most certainly does). Even if in that world Orcs are "Evil beings", and High Elves are "The Good Ones". These idealizations are part of what the world of Fantasy is about. To cast aspersions at this, and to attempt to deny people the right to experience such journeys is to deny them a means by which they can grow and evolve as spiritual beings. It is to lock them into a single, and rather harsh, view of the world, and to insist that they never look at anything else... anything "other"... anything beyond this world. It is, in other words, to place them in a prison of Ideology and tell them they are wrong and immoral for ever wishing for and seeking an escape from it. I disagree with this view.

As for how to handle when some players abuse others at the RPG table (a charge that often gets tethered to arguments for restricting the hobby's many and varied expressions)? My rule of thumb is pretty simple and straight forward: don't play with those people. But do we need to be told that because of that tiny abhorrent handful we're all supposed to change our own play preferences and styles and forego the Fantasy that we have been enjoying escaping to? I think that's rather unfair, and so I simply reject it.

I prefer the realm of fantasy to remain sacrosanct and beyond the reach of those who demand that their political imperatives be complied with at all times and in all places. While I well agree with the goal of improving the world, I don't agree with their methods, or the ferocious zeal with which they pursue it. Let children enjoy their childhood. Let those who wish to contemplate fantasy worlds contemplate them in peace. And let people enjoy their elf-game hobby as they feel inspired to do so.  That is my way.


Thursday, October 25, 2018

Stripe Programming - The Complexity Factor

For anyone who is contemplating building their own E-Commerce solution, particularly those of you who are doing RPG related projects with any sort of Subscription and/or Platform (where your users can sell their things through your site) model ... this is for you. I'm going to go over the maddening realities of Stripe programming.

First, let's be clear. Stripe is probably (almost definitely) the best, simplest, and most coherent of all the options out there currently. It is the easiest one to program and work with that I've found so far. Paypal? Fuggetaboutit. First Data? OMG, no please no. In fact, I did an exhaustive analysis of the features of all of them and Stripe turns up as the best of the lot. Perhaps most principally in that Stripe along with all the other important e-commerce features required allows you to plug in Avalara which is a Tax Calculation and Processing system so you can easily handle all of the State sales taxes for your product and/or service.

So, that said, Stripe sucks. It's enormously complicated stuff. Not so much in how to code it, which depending on your language of choice (it supports many languages such as
Ruby, Python, PHP, Java, Node, Go, and (to a lesser degree than the others for some reason) .Net)) is more or less straight forward. In the case of .Net, my language of choice, we get code like this:

Dim CustomerService = New StripeCustomerService()
  Dim Customer As New StripeCustomer
  Dim CustomerID As String = ""
  Dim StripeRequestOptions As New StripeRequestOptions
  Dim CustomerOptions As New StripeCustomerCreateOptions()

  Try

    CustomerOptions.Description = "Customer for " & StripeCustomerEmail
    CustomerOptions.Email = StripeCustomerEmail
    CustomerOptions.Metadata = New Dictionary(Of String, String)() From 
     {
       {"UserID", UserID}
     }
    StripeRequestOptions.IdempotencyKey = IdempotencyKey.ToString

    '================================
    '== CREATE THE CUSTOMER IN STRIPE
    '================================

    Customer = CustomerService.[Create](CustomerOptions, StripeRequestOptions)
    StripeCustomerKey = Customer.Id

    Catch ex As StripeException
      '== HANDLE ERROR HERE
    End Try

So, not too horrible. Of course, in the case of .Net your first task, which isn't as easy as you'd like, is to find coherent complete code examples. The Stripe website support system offers the barest minimal examples for you, and often they are inadquate for anything more complicated than the equivalent of Dim strSayHi as String = "Hello World".

Ok, so where does it get complicated to the point that you're sitting there at 2:30am pulling the last of your hairs out of your head? Ahhhhh... ok. Let's take a look.

You're a good developer. You set up a good solid development environment. A local machine on which to do your initial development, a test machine (or site) on which to post your code and test it out, and have your friends and testers try to find bugs in it, and then the Production (aka Live) server on which you are hosting your Real website. Fine. That's normal.

Now lets look at Stripe. They too have a Production and Test system. So you can create test accounts and they will show up in the test system, and not pollute your production system with test junk. Fair enough. But they don't have anything that is equivalent to your Local environment. So ... when you create new accounts while you're doing your initial Stripe programming, what you want to do is send Stripe a message that says "Hi, please create a new Stripe Customer in your database for me, and then send me the Stripe Customer Key back." Then you can keep a record of that key in your own database so that when you do transactions with your customer, like allowing them to upgrade from one Subscription Tier to the next, you have the customer key so you can ensure the correct customer gets their account updated. Makes sense so far, right?

But what happens when you create a customer on your local machine, as you are naturally bound to do while you're doing your initial development, or else how can you program the thing? So you create a new Stripe Customer. Presumably in their test system. But you record it in your local system database. Hold that thought.

So everything works and you deploy to test. Goodie goodie. You have your friends test and create a customer. This new customer also goes into the Stripe Test database, but on your side it doesn't go into your local database (of course) but goes into your Test system database instead. Did you consider what will happen when you go to look for these two customers from either your local or your test application. Each one will only find one of those customers. Both of them are in the Stripe Test Customer database, though.

What does this mean? Well, it means that your code has to account for whether or not your code is being run in Local or Test mode (or Production for that matter). That turns out to be a whole bunch of code, by the way. Let's say that you didn't realize this, and there's nothing on the Stripe support site to tell you that you should be thinking about this BEFORE you get started coding, until you've gotten midway in your programming effort. You now realize that something weird is happening when you look for accounts on your local system, and they don't exist. Making matters worse is if you happen to back up and restore your production database back to local to debug what you think is going on. Now you have only your production stripe accounts locally, and they do not match your stripe test accounts at all. Wow. What a mistake! You can, of course, roll back to your local database provided you thought of this in advance and thought to back it up before overwriting it with the production version. But why would you think of that? Well, experience with Stripe will teach you to make those extra moves, believe me.

Ok, so at some point you decide, it's probably a good idea to check the returned customer key to ensure that it is a valid key. Right? That's normal. So you do some checks. Does the key start with "cus_"? Is it 18 characters long? Ok, good. It's valid so you continue with your code. Except wait. Sometimes it is not 18 characters. So you figure it must be an invalid key. One day of debugging later, you come to realize that valid Stripe customer keys can be any length! Wow!! Who the hell does that?? Stripe, of course. So you go to the IRC channel and ask the engineers who very politely explain, yes, we can change the key length at any time without notice. Ohhh... wowowowow. Ok. Well then I can check the "cus_" at least. Nope. That too, they calmly explain, can also be changed at any time without notice. Sooooo... wait, you say, ... exactly how am I supposed to validate that I got back a valid stripe customer key? "If you are a good programmer you will figure that out. We can't help you with that kind of thing - that's on your end." they calmly tell you. In other words - you can not validate that you have a valid stripe key because they do not ensure consistency of format. Fascinating. So you rip out your validation code because it not only doesn't work, but produces phantom errors. Fine. Whatever. You keep going.

The more you build the more complicated the issues get... mostly because Stripe very nicely offloads all of the validation work to you. You wind up having to build a great number of additional structures in your system to compensate for Stripe not doing so on their side. Here's another example.

As you are tooling along minding your own business building your site and having fun learning all about Stripe's idiosyncrasies, you discover another fascinating fact. Stripe does nothing at all to prevent the creation of duplicate keys with the same email address for your application in their system. Zip. So as you are building and testing your login and Stripe account creation system you later find that you have dozens of accounts with different Stripe Customer Keys and the same email address. Ask yourself - how will you know on your side which customer id is the one that conducted a given transaction if you have a dozen stripe customer keys for the same user? Hello?

The answer to this is, according to the calm and soothing Stripe engineers, is to build your system "the right way, not the wrong way". Ohhhh... duh. Of course! But what does this mean? It means you need to account for possible duplicate Stripe account creations on your side. They do nothing to either ignore a new Stripe request from your application if there is already an existing account and send the original Stripe Customer Key back to you (which is what they should do), or even alert you that such a key already exists (a lesser solution they could also easily implement that still leaves you somewhat in the lurch on your side). Instead they just blithely create yet another Customer Key and send that to you. Yay. That is so wrong.

So anyway, now you have worked it out. You realize these things and you build a bunch of additional structures necessary to track what system on Stripe you are addressing ("Production", "Test", or "Local"). You have in your web.config file keys for both systems and a flag saying which keys to use depending on which system. You have in your database REF_Stripe_Customer table a "System" field that says which system the account is for, and you check that (because for a while there you were pulling out clumps of hair trying to figure out why your customers seem to be valid on one system but flagging errors in the others). And you have at least a dozen extra functions to manage dealing with these, among other, Stripe related conundrums you've slammed face first into along the way. Here's a little diagram to suggest what you're dealing with.


So no, I do not have a complete solution to offer you at this point, I'm sorry. I feel like I'm at the tail end of the issues, but I'm not 100% sure. At any point new gotcha's can surface. I will say, however, that this should at least get you over the hump in terms of the kinds of things you need to think about when doing Stripe programming.

Stripe programming is not hard ... once you know what to do. In fact, once you get it, it actually is pretty easy. But watch that first step! It's a doozy! And be ready to do lots of Stripe Account cleanup coding along the way. You will likely need it!


Friday, October 19, 2018

Elthos RPG - Meta Game - Round 5

So far the Primordial Age has passed over 500,000 years with the Elkron fashioning mountain ranges, great rivers, fertile lands and forests, and a number of Enchanted lands. In the 400,000 year era, unexpectedly, the Elkron of the Moon created a race of Crystal Giants who feed on crystals produced by volcanic magma. These giants were the first race crafted by an Elkron, and are by far the oldest race in the world. They procreate by a method of crystalline budding, where a giant may grow up to 100 feet tall, and then calve in half, forming two giants, both with a shared memory. The magma crystals the giants consume is from a volcanic mountain range in the farthest northern tundra of the world. Having 100,000 years of growth before the next Elkron decided to create a race, the Crystal Giants are strong at about 8,000 of them. When their numbers grow too large for them to be supported by the crystals of the magma mountains, the elder generation of Giants voluntarily sacrifice themselves by hurling their ancient bodies into the tallest volcano, Mount Erebus, thus seeding the magma with a new generation of crystals for the Giant Folk. The Elkron of the Moon created this race at great cost to his Kismet, but wished to be the first to have created a race in the world.

In the 500,000th year, to the east the Sun Goddess fashioned a race, also at great cost. Her race are known as the Centaur-Pegisi. They are centaurs, in other words with Pegasus wings. They are able to fly to the Enchanted floating forests in the Realm of the Sun.

To the south, the Elkron of Death, in Pluto's realm, created a mountain range of radioactive Plutonium. His plan, grim and diabolical, was to create a race of savage cave men whom he will enslave and set about mining the radioactive ore. They will of course die horribly from the exposure. And so the grim Elkron has decreed that the radiation of the deadly metal shall turn them into a new race when they die ... and so the brutal and inhuman race of cave zombies will be born. He intends to equip them with radioactive weapons and armors such that they will be invincible foes to all who are foolish enough to stand in the grim Elkron's way.


Tuesday, October 02, 2018

Marketplace GMs on Elthos Mythos Machine

I had a problem with the business model of the Elthos RPG Mythos Machine that for a long time stumped me. But I think I, with the help of my friend C.D. (I don't know if he would wish to be named here, so ... C.D. will do) have licked it.

The setup is this. I want to create a platform that offers an RPG Framework for Settings creators. I want them to be able to create their own Worlds as RPGs, and offer them to others to buy at a price they set, and with my platform getting a modest commission of 12%. Purchasers can obtain a copy through the Mythos Machine, and play the World with their friends, modifying the things of that World however they wish. To this end I created a Worlds Marketplace.

When you first create an account on the Mythos Machine you come in as a Player. This allows you to create Characters in the Worlds that GMs have made available. Presumably you've been invited by one of your friends to play a character in their World. They sent you a link to the Mythos Machine, you create a free account, find their World, and begin creating your Character there. You select the class and race you want to play, depending on what your GM has made available to players as part of their world, purchase your character's armors, weapons, equipment with the money your character starts out with, and select your skills, and maybe you add some background information about your Character, their personality, traits, etc, and perhaps add an image to represent them... and voila, you're ready to play. The Mythos Machine handles all the math of figuring out things like your Armor Class and Attack Level and so forth according to the Elthos RPG rules. The rules are available on DriveThruRPG or on the Website. And so, you can now play in your friend's World. You can even keep an ongoing history of your Character's adventures through the Mythos Machine.

One day you decide you want to run a Campaign. Before I changed the business model this week it was the case that you needed to upgrade to a Basic GM. This gives you the ability to create your own World in the Mythos Machine. You can create as many of your own Races, Classes, Weapons, Armors, Cultures, Places and Campaigns as you wish. It's a very expansive system. This costs a measly $2.99 / month. You can also as Basic GM purchase Worlds from the Worlds Marketplace. So you create a World and it's great. You and your friends have a blast, and now you have a new idea for another World... totally different than the last one.

At this point you might want to upgrade to Premium GM. This allows you to create as many Worlds as you wish. It also allows you to create Shared Worlds that you can work on with other GMs whom you invite to that World. It also allows you to create "Packaged Worlds" which can be sold in the Worlds Marketplace at a price you set. So lets say you have some cool World ideas, and you think other GMs would like to take them for a spin. You spent a few weeks slinging your ideas together, set a price of $5, and then let your friends know it's up on the Marketplace. They buy it, and tell some of their friends, and so you wind up making, oh, who knows, let's say you sell 20 of them and make $100. Over time, maybe word gets out that you have a cool world there, and you sell 100. Who knows? Anyway, as Premium GM you can set up shop and sell your Worlds, as many as you like, for whatever price you think their worth (minimum price is $3 to cover Stripe Transaction fees, and prevent that all-sucking race to the bottom that happens with PWYW systems).

So the problem was that there was no way for GMs to purchase Worlds unless they joined as Basic GMs. It seems like a inhibiting factor, right? So the solution: Marketplace GMs. This tier is also free, except it allows you to purchase Worlds from the Worlds Marketplace and play them with your friends. You can create new places, and adventures in these worlds, but you can not add or modify the Things (Weapons, Armors, etc) within it. So it's pretty much a very basic setup for GMs to try out the system without having to sign up for the subscription service. I think this works out well. Premium GMs can offer their Worlds, and Marketplace GMs can purchase them at the base cost without a subscription fee.

That's all been programmed and is current in test at https://test.mm.elthos.com

What do you think of this solution?

Also, please feel free to give it a spin and let me know how it works for ya. You can copy a final draft of the Elthos RPG Rules book from the website once you've created an account on the Mythos Machine.  Thanks!

Ok, that's the story. Have fun. :)

Friday, September 21, 2018

Elthos RPG - Meta Game - Round 4 (Cont)

These are the completed set for Round 4, including the complete Celestial Island Map as of the end of Round 4. Tonight, if all goes well, we will play Round 5. But before we begin, to help prep my players for the Dawn Age, wherein they will be creating their Races and Cultures, I will read a little bit of the introduction to Troy: An Epic Tale of Rage, Deception, and Destruction, by Ben Hubbard. This will, hopefully, help set their minds on the next range of goals... how to think about creating cultures, and what kinds of elements therein they may wish to consider. I will also, if there is time, provide a brief tidbit from Plato's Republic, Book VIII.






Thursday, September 20, 2018

Elthos RPG - Meta Game - Round 4

We have completed Round 4 of the Primordial Age and these are the Celestial Island results thus far ...









With the help of my very awesome play testers we were also able to resolve one of the thorny issues that had been stabbing me in the side all along ... how to remove GM bias from the playing out of the Seeds of Destiny.  The problem was that during the regular games the GMs who play their own regions of the Shared World with their own Players would have either had an interest in seeing the Seeds of Destiny in their domains be successful, or unsuccessful (as the Elkron-Players gain a large Kismet reward for successful Seeds of Destiny in the "Outer Game").  By randomizing the Seeds of Destiny rewards to any of the Elkron that resolved the issue in a neat way that does not remove the flavor and eliminates the potential GM bias.  Voila.  Brilliant solution, my play testers.  Thank you!

I am writing up the rules and modifying them as we play to adjust according to actual experience with the game, but so far 90% of the rules remain intact and it's being a heck of a lot of fun.  Stay tuned, please.


Friday, August 31, 2018

Improvisational Game Theater - Thoughts

I originally wrote about Improvisational Game Theater on my blog in 2006. I subsequently wrote a number of posts, either as comments or supplemental explanations of why I think IGT is likely to become "a thing" in relation to Professional Gamemastering.

There have been a lot of GMs that have come to the Professional Gamemaster Society wanting to make a living doing Pro-GMing.  Their idea, as has been mine, is that it would be absolutely fantastic if we could turn our favorite hobby into a career somehow.  Like artists and musicians, and other performing artists, we'd like to do what we love for a living.

Now a number of people have pointed out that the economics of Professional Gamemastering do not seem to work all that well, especially at the small scale of local tabletop RPG games with a handful of people, and it's hampered a lot of potential Pro-GMs because we don't see a road from here ($) to there ($$$).  For most, not only is it hard to imagine how to make any money at all Gamemastering, but the the notion of making substantial money seems a pipe dream and beyond the realm of possibility.

I do not think so.

Again, and for the umpteenth time, the answer is in Professionally run Improvisational Game Theater.  In 2006 I sketched out a modality by which I would do it for my own world of Elthos.  Since then, I've not had the ability to sling it together because I have other work under the umbrella of the Elthos Project to tend to first.  And of course, it goes without saying, again, as usual, I am the worlds greatest slow poke, so please don't rush me.  Nothing good comes from rushing.  Of course, in the meantime, there have been a number of enterprising people who have raced ahead of me and produced variations on the IGT concept, and some quite successfully.  Critical Roll comes to mind as an excellent example.  Kudos and congratulations to all of those fine people!  They're doing a great job, and I'm thoroughly impressed, even while being jealous and annoyed that I'm such a super-slow-poke at all of this. But I digress.

At any rate, I want to talk about this again because I read a post by RPGPundit who is railing in his own way against one aspect of Improvisational Game Theater. His gripe is that what people are watching it for is entertainment, like watching a Soap Opera, or Serial TV Show, or something like that, and is largely divorced from the actual game of D&D. A large percent of the people who are watching IGT on twitch are not watching it because they play RPGs, or even intend do to so... they are watching it because they are interested in the Characters being played and their stories. And yes, very much like like people who watch Soap Operas.  And it annoys him.  Ok, my guess is that he's annoyed for certain reasons, though he doesn't quite elaborate on what those reason are exactly, and I'm not going to speculate about that. And this post is not a rebuttal to his point.  I agree with him completely.  I simply don't share in his angst about it.

The reason why is because, as I've made the case to the Professional Gamemaster Society before, this kind of viewership is exactly what is required for Professional Gamemasters to make real money Gamemastering.

No, it is not the same thing exactly as standard table top role playing.  I know, it isn't.  And the reason why is because with a generalized audience which includes a large number of non-role payers, the story and character development that would go on in a good IGT game is what that audience would be most interested in.  Random Character deaths would, in all likelihood, irk them, especially if the randomness was too extreme, and/or their favorite Characters get killed by a random (read stupid) die roll.  Nor would they be likely to be very into the rules, or watching the usual D&Dish rules banter, or much of the OCC activity that usually attends most tabletop role playing game sessions.  What they would be looking for, instead, is a compelling story where the results of the actions of the characters is both interesting and meaningful within the context of the World being played.

Improvisational Game Theater, in my opinion, will evolve into one of the major forms of entertainment of the 21st century.  It's taking time getting there, and even the best of the current efforts have self-limiting flaws in their implementations, but as everyone can see... progress in the direction of successful IGT is being made.

Personally, as soon as my other project work is complete, I hope to join these efforts with my own attempts at this thing.  I believe that those who can really pull this off will be at the center of the entertainment world in due time.  And really, I think it is just a matter of time.  People are already doing some great things.  And audiences are already being primed for this through the activities of shows like Critical Role.  Everything is slowly moving in the direction of a fusion of entertainment and gaming.  And no matter how much RPGPundit gripes that it's not real D&D ... it will nevertheless become an enormously rich, diverse and fabulous form of entertainment, and sustain many awesome career arcs for Professional GMs of the future.

Friday, August 24, 2018

Elthos RPG - Dry Patch Update

Ok it's been a while since I posted here so I want to just put a quick note up to let folks following me here know that yup, yup I'm still working on Elthos and making progress (albeit back to museum speed since I got my new job).  I haven't been posting much about progress because I'm on a dry patch in terms of "oh that's interesting" stuff to say on it.  I've been busy for days updating the Core Rules Book to make it finally ... er ... well Final. 

The good thing is that I hadn't looked at it for six months and so I got a chance to read it fresh.  Up until now I've been snow blind on it and every time I read it I was like "Ok I can't read this sentence any more times... sheesh" and so I wound up skimming it and never really got a solid edit in from the "Well how does this actually read" point of view.

Now that I'm reading it fresh, I must say... wow.  It was pretty sucky!  haha!  But yeah, there's a few crucial spots where after a series of edits I had trimmed things down to the point where it was like ok I accidentally took out the key information that you'd have wanted in that spot.  Man!  So yeah, now I'm working on it and fixing it so that it's lucid enough to use as a rules book.  My overriding objective before was to Keep It As Short As Possible.  I figured a simple rules system should prove its simplicity by being as short as possible.  Which is probably true.  But ... when I started the Elthos RPG "One Die System" in 2007 it probably was among the lighter weight rules systems... but by now, nope it's not anymore.  Other people have come out with even more light weight systems.  On the other hand my goal with it was not to create "A light weight RPG" but rather to distill the former Elthos Prime System (from 1978) down to it's absolutely simplest form without losing the core mechanics.   So it's medium weight.  And no, I didn't need to make the rules book As Short As Possible.

That said, I'm still keeping it the same page count.  I'm just revising text so that the necessary information is there, and it reads nicely, and is even a little bit entertaining and hopefully useful in terms of advice on how to run the thing.

Anyway, working on it, but there's nothing much to show yet.  I'll of course let people know when the rules are actually Finito!

Thanks, and Game On! 

Thursday, June 21, 2018

The Meta Game - Round 2

This is something I am creating. I call it the Meta Game. It's goal is to create a shared world for GMs where the backstory is created by a handful of people who play The Gods, and create the World. It starts with the Primordial Age in which the Gods create the Terrains (we are in Round 2 of the Primordial Age now). Then goes on to the Dawn Age where they create Races, Cultures, Dynasties and Seeds of Destiny which are Quests upon which the Elkron (Gods) wager for Kismet (the energy they use to create the World). After the Elkron have used up as much Kismet as they are willing to, the Age of Heroes is played by dropping the Meta Game and each GM goes into their own region of the World to play it as a regular Campaign with other players... the goals of which are to complete the Seeds of Destiny Quests so whichever Elkron created them can gain back a large amount of Kismet, and therefore have a chance of winning the End of Ages ... which is The God War.

Rules will be forthcoming.

Here's some images of the Map as it stands thus far:













The completed Map


Primordial Age - Round 2


Stay Tuned.

#Elthos #MythosMachine #WorldBuilding #Gamemastering #Cartography

Monday, June 04, 2018

The Elthos Meta Game - Proto-Test

A quick report on my most recent (and current) game experiment ...

We played the first Elthos Meta-Game last night. It's a competitive/collaborative World Building game in which GMs play the Gods. It's intended to be a wrapper game around a regular RPG via which the God's actions create the world's terrain, races, cultures and dynasties... forming the back story of the regular campaign.

Here's the starting board, and then the board after the first round of the Primordial Age.

It was totally fun. :)




Elthos Meta Game - Map Images

Below are a few detail shots of the Meta-Game Map thus far. The hexes are 100 miles across, so those mountains are actually mountain ranges. The Celestial Island is about 3600 miles in diameter. The hexes shown are those that our Elkron-Players have already used Kismet to create terrain on. So far so good!

On to the images...







Elthos Meta Game - Map of the Celestial Island

This grid map shows the locations of the 12 Planetary Elkron Thrones.


So far so good.  I'm very pleased with the way things are going.  I have written up 11 pages of rules for the Meta Game (aka God Game), and am working on refining them.  In addition I have a couple of spreadsheets that help do the Kismet Point number crunching for the game. 

If all goes well I will package this up and send it along to the community.

As always, don't be surprised if it takes me a while.  You know what an incredible slow poke I am!  haha.