Wednesday, November 17, 2010

More Glorantha quotes

What Wyrmfriends Know
Misery, hunger, confusion and desire are part of the world because it isn't perfect yet. The violence and treachery of the human condition can also be attributed to this lack of perfection. The dragons made a cure for this when they created the world. They gave men the potential to perfect themselves and at the same time, to complete creation. This final act of completion will occur when all the people of the Empire perfect themselves and also create the conditions for the land itself to transform into the greatest dragon of all. All of the people will then be transformed, too, into the collective consciousness of this new dragon. Thus will they achieve eternal bliss, as the world emerges from its egg to finally achieve its ultimate, perfected form.

Although the struggle for perfection will be long and difficult, it is not without its rewards along the way. It grants its adherents powerful magics to use against its enemies, both from within and without. Some people cling stubbornly to their imperfections, to the old forms of worship which were meant only as stepping stones to transcendence. These must be shown the way of truth, to have their third eyes opened. Sadly, some are incapable of making the essential transition and must be snuffed out, lest their imperfections prevent blissful attainment for everyone else. To bring misery to the miserable is not a good or righteous action, only a necessary one.
Those who perform these acts of oppression sacrifice greatly, marring their souls with hate, greed and violence. They must fast and meditate to return to a pure state. Some of these will be corrupted and must also be extinguished. This is sad, but sadness is also a trap, as are all of the ordinary human emotions. They bind us to the reality around us, which is false, and prevent us from perceiving our Ultimate Dragon Natures, which are cold, analytical, inscrutable, yet partaking of a higher joy than any ordinary sort of human happiness can prepare one to understand.

Those who participated first in the revelations will gain most from the shared energies. If you join us now, you will be more powerful than if you do it later. If you bring in others, you will gain from that, and then gain again when they do the same.

This higher, mystic joy is worth all the hard spiritual work required to attain it. If we suffer deprivation, sorrow, war and doubt, it is only to fulfil cosmic destiny.

Looting the World of Myth
If the Otherworlds are the ultimate source of power, myths are their treasure maps. In the theist tradition, when you go on a HeroQuest, you venture into a well-known myth of your culture. You always encounter surprises, which may give you new insight into your gods, but the essential outline of the experience is pre-established. You become part of the story, with yourself in the role of the god you worship. You are tested as the god was tested in the original tale. If the story tells you that your god first fought a troll, then an ill-wind, and then bedded a mysterious woman, before finally battling the dragon, you expect to do the same when you enter the Hero Plane. If you do all of these things successfully and in the proper way, you win a great reward, either for yourself or your community. You might come back with a magic sword, gain a Divine Magic spell, end a drought or increase your clan's birth rate.

Monday, November 15, 2010

WPF ComboBox and XAML parser

For the past few days I have been trying to figure out why my ComboBox didn't work when I selected an item from a list of data-bound items. I've gone through the code over and over, tried different types of collections and different ways of accessing the selected item (SelectedValue or SelectedItem as int, string or object). Nothing worked.

Data-binding to a ComboBox in WPF/Silverlight isn't always as smooth as one would assume. People have problems here, here and there. The XAML was fairly easy to lay out, I thought. I had:

<ComboBox SelectedItem="{Binding Path=ReferenceType}"

="{Binding Path=ReferenceTypes}" />

It wasn't until I read "I always set the ItemSource before the SelectedItem and all works fine." that I thought I'd try switching my code to:

<ComboBox ItemsSource="{Binding Path=ReferenceTypes}" 

="{Binding Path=ReferenceType}" />

This way I define ItemsSource before SelectedItem. However, I never thought for a second that the XAML parser would care. I assumed the parser would figure out that it needs to know about the collection before it cared about what was selected. Obviously, if this were c# code I'd always specify the collection first, but this was XML, what does it care about the order of attributes?

I had broken the first rule of programming, never assume.

Tuesday, November 9, 2010

Backup Solution

For the first time I've gotten around to doing a decent backup solution for my semi-important files. I've had my critical files (i.e., source-code) backed-up for a long time using source code repositories of various kinds (mostly subversion.) My photos I store on flickr. For documents that I move around a lot I use either google docs or Dropbox. But what about books, music, videos (films, tv shows, etc.) and computer game files?

For these third-party media, I tried a couple of solutions.
  1. Internet storage (the best of which, for large amounts of data, seems to be carbonite.)
  2. Specialised backup software
  3. Simple folder syncing software by Microsoft (SyncToy)
The first option is good. It's about $70 a year, almost completely safe (no-one is like to steal the internet, though the back-up company could go out of business). But it's fairly slow to back-up and, therefore, recovery would be slow too. (I have about 1 tera-byte of data that I would preferably back-up.)

The specialsed software that I tried were way too complicated or had poor interfaces, so I ditched them.

SyncToy is pretty good. I have six folders on my main hard drive. Each of those folders back-ups to one of two secondary drives. I have scheduled the folders to sync every time I start my PC. In this way, two drives would have to fail or my computer would have to be stolen before I would lose all my data. I can live with that.

Saturday, November 6, 2010


I've been reading quite a bit from Glorantha - The Second Age. There is a lot a detail. I like how all of the cultures steal and inherit customs from others. Everything is inter-related.

Yelm, the sun god of the Dara Happans, is recognised by the Orlanthi (i.e. the Storm Tribes), but only because Orlanth kills Yelm. Yet the Orlanthi have been partially coopted by the Empire of Wyrms' Friends. The God Learners, on the other hand, want to steal everything from everyone in order to gain greater control of Glorantha and the Other Worlds.

I can't remember an RPG book that has gained so much of my attention. Usually, I glance through an RPG book, maybe reading some chapters in full. With this I read and re-read.

Some quotes I found interesting:

The final contest was of weapons and now Orlanth was angry. So he accepted a sword from the crazy trickster, Eurmal, who can be useful but always in a troublesome way. This sword was a new thing called Death and when Orlanth struck Yelm with it, Yelm died. And then the sun went out.

They wandered for a long time there, until unreliable Eurmal guided them to the Hall of the Dead, where Ernalda and Humakt and Barntar and all the others were. There was Yelm, also. And Orlanth saw what he had to do. He had to atone for what he had done and save the Bright
Emperor, too. They tested each other again and finally were reconciled.

Their new cooperation spawned the last rightful god ever to be born, Arachne Solara, the spider. She wove a net, which was the Great Compromise. It started Time and separated gods from mortals.

We will bring down both the God Learners, who loot our myths like we raid each other's cattle, and the wyrmtalkers, who think that you can worship anything, even a crawling snake, so long as you call it Orlanth. We are not just people who make new things. We are a people who fight for what is right.

We organise ourselves into bloodlines, then clans, then tribes, then kingdoms. Of these associations the most important is the clan. Clans control their own pieces of territory. They are governed by chiefs, who may be male or female. Each chief appoints a ring, a council of seven worthies who provide advice. Wisely chosen rings are balanced between worshippers of the various Orlanthi deities, so that their counsely draws on life's many spheres.

How To Play A Yelmite Noble
  • Straighten your spine, balance your shoulders and stick out your chin.
  • Speak in bold, declarative sentences.
  • Never admit to uncertainty.
  • Be offended.
  • When in doubt as to what to be offended by, select any of the following: insults to the Sky gods, darkness magic, sexual license, disrespect for tradition, presumptuous women, irreverence toward rightful authority, the Orlanthi ‘Lightbringers Quest' story.
  • Fight bravely for what you believe in.
  • Obey rightful authority.
  • Think rigidly.
  • Treat all women as accoutrements. Treat all peasants and foreigners as chattels.

Thursday, November 4, 2010

Speeding-up role-playing

With the attempt to re-boot role-playing, I've been thinking through the annoyances. The main annoyance is the extreme time-wasting that can occur. Sessions can devolve into referencing and debating nothingness, rather than creating a shared narrative.

The biggest time drainers in role-playing are:
  1. Checking/arguing rules
  2. Book-keeping (checking/updating values on character sheets and GM material)
  3. Dice rolling
All of these make the game part of Role-Playing Games, yet when it becomes the bulk of a session, it's wearisome. I have a few ideas to reduce their impact:

Issue 1

Choose a simpler, more integrated game system. RuneQuest and Traveller win here, over things like D&D and MERP.

Choose a better game system. Even little nuances help, e.g., while playing D&D, one looks-up a modifier for a skill check (e.g., roll 1d20 +6) and references it with a required "difficulty check" (e.g., you need 13 or higher). Sounds simple? Yes, but that's two things you need to know ("+6" and "13+") and it requires two people involved to know the result. With RuneQuest, one looks-up the skill for the task (e.g., 43% chance of success) and that's all one needs (though the GM may modify the difficulty, e.g., -20%, given particular conditions).

Players should only attempt something that they already know the rules for. This could be linked with the character. "I want to knock-back the trollkin... just got to check how that works." "Bah baw, the trollkin anticipates the rush and sidesteps." The same thing can apply to the GM too, if they forget how an action works. Characters (and NPCs) can have momentary lapses of competence, so it may be explained in that way. Note: This is different to players considering options; decisions are what make it a game. Tactic talk is crucial!

Issue 2

For turn-order (in combat): Assign players a card (from a normal deck of cards, or wherever), e.g. "Jack of Spades", and create a deck from the order of each player's turn from first to last. Add opponents' cards too. Cycle through the deck as people take their turn. OR: Ditch randomised turn-orders entirely and have people sit around the table in order of their speed (i.e., Strike Rank in RuneQuest, Initiative in D&D). That way players will always know who's next. OR: Combine the two methods above; non-random turn order using cards.

If a player isn't ready on their turn, drop them down the turn order.

Use the numbered cards from a deck of cards to keep track of the round number (if you care about spell and effect durations).

For RuneQuest, each player could have a number of poker chits to match their number of combat actions. Throw them into the pot as they use them.

Issue 3

I'm worried about the amount of dice-rolling in RuneQuest. In combat, a player rolls to hit and the opponent rolls to parry/evade. If the strike succeeds, roll for hit location and damage. That's four dice rolls! I can think of two solutions:
  1. Roll all dice together. Attacker: d%, 1d20 and weapon. Defender: d%. Maybe you'll ignore a few of those dice, who cares?
  2. Use an average for damage instead of rolling (rounded-up or down depending on how deadly you want the game to be). At the very least, this is how the Damage Modifier based on strength and size should work in RuneQuest.

On Haiti

Vanessa and I just finished a skype chat. She's living/working in a remote area of Haiti. It had an earthquake earlier this year, is currently experiencing an outbreak of cholera, and there is a cyclone on the way. Below is an edited transcript of the conversation.


l: what u having for lunch? do they have many corporate food places? mcdonalds? subway?

V: i had lunch hours ago

l: oh yeah. it's the evening.

V: squashed fried bananas
V: rice
V: crushed pea sauce
V: and lots of leaves, i think cooked in meat unfortunately
V: wasnt so bad, apart from the meat
V: i havent seen a mcds
V: chains dont seem to exist here
V: not even supermarket chains
V: most of the supermarkets are lebanese owned
V: and there's a few bakeries that also do burgers and McDs type stuff

l: oh right. well, hopefully the aid people will do something about that. might be a good emerging market soon. heh heh.
l: sounds a bit crap there at the moment though. i'm pretty interested to go and see.

V: ha well yeah they've already had an effect on the supermarkets, massive new one opened recently, can get everything there
V: even tofu

l: is the government ok at the moment?

V: elections coming 28 nov
V: seems like its going to be 'stable' though

l: is it two-party?

V: i don't think so
V: there's millions of presidential candidates

l: not a real democracy then

V: ha, but i think the guy who will probably get in is friends with current pres
V: and he's directeur of some massive company i believe

l: so overall it's a good place to be?

V: i like being in the mountains
V: it's pretty quiet and i think i'm going to keep interested in my work so that's good

l: what happened to the guy with cholera?

V: the first guy was fine i think, but there were many more cases up there since
V: been about 300 deaths i think now
V: but i'm told official stats seem a lot lower than reality
V: want to talk to my friend who works in camps in city tonight, see what's happening there, must be crazy

l: yeah, couldn't be good with lots of people living in poverty, all in one place.
l: it isn't overly infectious is it? just health related.

V: what do you mean? pretty infectious i think
V: you don't want to shake hands with someone who has got it
V: but pretty easy to treat
V: it's just that a lot of people don't realise how serious it is and so don't react
V: and it would be pretty hard to walk for several hours to get to nearest clinic if you got it in the mountains

l: oh right. i guess i must have half-known that, but it seemed weird because it is so related to water.

V: well admittedly i don't know how long the bacteria survives outside of water

l: so what do they do up there?

V: just a whole lot of farming
V: corn, beans...
V: rice, bananas, avocados, some root vegies

l: animals too?

V: yeah lots of animals, but they don't seem to eat them very often
V: although supposedly they eat cats and dogs

l: well, nothing wrong with that. in many ways it's a good idea. you don't have to farm them for meat.

V: lots of chickens but the chickens lay their eggs anywhere so not a whole lot of egg collection
V: nothings very organised
V: but lots of mules and horses etc to transport things to markets

l: and just dirt roads?

V: in the mountains its really just walking tracks
V: but they are improving the road leading to Chambo, which is the last town i can drive to
V: it may even be all bitumen to Chambo by the time i leave
V: but suspect they doing it all pre-election and then there may not be much after

l: and then you walk over hills to the village and then on to your hut?

V: its actually pretty flat to get to my house
V: the mountains start a bit further north from my village
V: i walk through the river a couple of times
V: its a pretty nice walk actually
V: and weather is cooling down a lot at the moment so even better

l: many trees near there?

V: not many. i really miss the trees
V: around my village there are some, but surrounding hills are bare
V: have to get into the mountains where i was before to see trees

l: u going to start planting some? or is it not really anything to do with your job?

V: not really... maybe could do it about the water sources
V: but they really need trees
V: but if a program did just start planting them, just like that, they would just be cut down to make charcoal...
V: need to do a few other things at the same time as planting i think