I just finished the Kathāsaritsāgara (The Ocean of Story), by Somadeva, written in Kashmīr in the 11C. Or, well, an abridgment of it, in Arshia Sattar’s very readable modern translation.

vidyadhara

A vidyādhara. Nice booties!

The original Kathāsaritsāgara is about six times longer, and claims to be itself an abridgment of a book called the Brihatkathā, written by a celestial being named Guṇāḍhya in his own blood, in Paiśācī, the language of the piśācas, the lowest class of demons. Rather too much scholarly time has been spent on the trail of this mythical book in a mythical language— even some modern scholars are convinced that Paiśācī was a real language, though there exists not a scrap of it nor the Brihatkathā.

I’ve talked about the nested stories in the Hitopadeśabut Somadeva has them beat. Navigating one particular part of the ocean:

  • Śiva is asked by his wife Parvātī to tell a story no one has heard before.  He tells the story of the vidyādharas, celestial beings with magical powers such as flight and shape-changing. He tells it in a locked room. One of their attendants is curious about this and uses his own powers to enter invisibly; he listens to the story and tells it to his wife, who tells it to Parvātī.  Parvātī is angry at Śiva, since it appears everyone knows this story! Śiva divines what happened and explains, whereupon Parvātī punishes the attendant to live as a mortal.
  • This attendant, now living as a mortal, is Guṇāḍhya. He has a whole book’s worth of adventures; one consequence is that he takes a vow not to use Sanskrit, which is why when he writes the Brihatkathā he uses an ignoble language. His curse will end when he spreads this story to the world. To accomplish this, he sends it to a king, who rejects it because it is written in Paiśācī. Sadly, Guṇāḍhya begins to read and burn the manuscript. Finally the king happens to come to the place where Guṇāḍhya is reading, and is enchanted with the stories. Guṇāḍhya has burned 6 of the 7 books, but he gives the last book to the king, ending his curse.
  • Now we come to the story told in that book, which is the framing device for the rest of the stories: the story of the human prince Naravāhanadatta, how he accumulated an impressive harem of human and celestial wives, and finally became a vidyādhara himself and emperor of the vidyādharas. Most of the other stories are told to him to amuse or distract him, or because they relate to some of his problems.
  • One of the these stories, related by his minister Gomukha, concerns the king Sumanas.  One day a tribal woman arrives, a stunning beauty, who has a parrot. The parrot can talk, and is asked for his story.
  • The parrot tells about growing up in a tree, until hunters come by and kill the parrots there, including his father.  A brahmin rescues the young parrot and takes him to his guru, who laughs.  He laughs because he knows the story of the parrot’s previous birth.
  • The guru tells the story of the prince Somaprabha, who does what valorous princes do— conquers the surrounding lands. Far from home, he comes to a lake where a beautiful vidyādhara woman is singing.
  • She tells him her story. She is Manorathaprabhā, the daughter of a vidyādhara king. She used her powers of flight to wander the world, and fell in love with an ascetic. They are briefly separated, and unable to bear this, the ascetic kills himself. The voice of a god prevents Manorathaprabhā from doing the same. Her friend Makarandikā now arrives and falls in love with Somaprabha…

Eventually Somadeva clears the stack and finishes each of these stories appropriately. (If you’re curious, the parrot is Makarandikā’s father under a curse.)

As you can imagine, this structure allows Somadeva to include pretty much any story he’s heard. There are animal stories overlapping with the Hitopadeśa, and jātaka stories (which are stories of the Buddha’s previous births), and vampire stories, and a tiny little retelling of the Rāmāyaṇa. There’s a whole book devoted to stories of the wickedness of women, and to balance them, stories of virtuous women triumphing over wicked men. There’s even an amusing libel about Pāṇini, author of the great, definitive Sanskrit grammar: that he was a dull scholar who only received his grammar from the gods as a reward for austerities.

I have my doubts about the spiritual value of the doctrine of saṃsāra— the endless cycle of rebirth— it’s too easy a solution to the problem of pain. It seems like a copout to blame present suffering on misdeeds in a past life. But the Indian storytellers show the real value of saṃsāra: as a narrative device. Neil Gaiman has noted that stories, if prolonged too far, always end in death. But with saṃsāra, death is only a temporary milestone, a chance for a story to change gears. In these stories, celestial beings are constantly being cursed to be mortals or animals, wives and lovers recur as in a cosmic dance, and stories dash madly from the heavens to the bottom of the ocean to all across historical India.

Malice is usually punished, and virtue is often rewarded… but so is a certain roguish opportunism. There are plenty of ascetics here, and people who tire of the pleasure of the world and go off to meditate in the forest— but Somadeva doesn’t seem to really believe in mokṣa. Here, asceticism too may only be a phase, perhaps ended by falling in love with a vidyādhara, or some other contrivance.

The Ten Princes had a certain unity of theme— men rising from nothing to find wives and become kings— and the Hitopadeśa is all animal stories, so this book is much more miscellaneous. But that’s a virtue in its own way: if one set of stories doesn’t quite thrill you, the next might.

I think my favorite stories are the stories of the vetāla, more or less the Indian equivalent of the vampire. They are spirits who reanimate dead bodies. A king, Vikrama, is visited by a beggar every day for ten years, and given a fruit. He gives the fruits to his treasurer, but one day he instead gives it to a passing monkey, and a jewel comes out. He asks the treasurer about the other fruits, and the honest man answers that he has simply thrown them into the treasury through a window. They go to look, and find that the fruits all rotted away, leaving an immense treasure.

This naturally makes the king ask the beggar what’s up. The beggar says that he was hoping to get the king to do him a favor. The king agrees. He is told to come to a cremation ground at night to meet the beggar.

Once there, the beggar asks him to walk to a tree and bring him the corpse that’s hanging from it.  The king goes and cuts it down, but it turns out to be inhabited by a vetāla. As the king is taking him back to the beggar, the vetāla begins telling him stories. But the stories are also riddles, and the king has to answer each one correctly. For instance, a washing man falls in love with a woman named Madanasundarī. She goes with her new husband and his brother to a temple of Parvātī, but they have nothing to offer as a sacrifice. Her husband goes in and is so overcome by the religious atmosphere that he feels he must sacrifice something— and having nothing else, cuts off his own head. His brother comes after him, and seeing his head on the floor, does the same. Madanasundarī finally goes after them, and is shocked to see them both dead. She is about to kill herself when the goddess intervenes. She tells the girl to reattach the heads to the bodies, and they will be restored to life.  This she does, but in her excitement she puts the wrong heads on the bodies.

Now, the vetāla asks, which man was really her husband— the man with her husband’s head, or the one with his body?  Vikrama responds that the man with the head is her real husband: “the head rules the limbs and personal identity depends on the head.”  (This sounds reasonable to us, but then we believe that we live in our brains, which was not an opinion shared by all cultures.)

After a couple dozen stories, the vetāla reveals that the beggar is a sorcerer, and plans to sacrifice the king to him to achieve power over the vidyādharas. The beggar will ask him to lay down on the ground in a certain way.  The vetāla tells him to ask the beggar to show him how; the king should then cut off his head.  The king does just this.  The vetāla disappears and Śiva makes Vikrama king of the vidyādharas.  Which in turn brings us back to Naravāhanadatta, who at this point in the framing story also becomes king of the vidyādharas.

Anyway: bottom line, if you can find Sattar’s translation, go get it.  It’s a quick read and you won’t regret it.

Advertisements

Marc Laidlaw, a former writer for Valve, has published a plot summary for Half-Life 2 Episode 3. It’s obfuscated and gender-swapped (which is actually kind of amusing), but here’s a deobfuscated version. Fresh off reading Shamus Young’s dissections of bad plots, I’m going to go ahead and say: it’s a terrible plot.

hl2-orig-trains

(Go read it, this won’t make any sense till you do.)

Now, I fully realize this is an informal treatment, probably from very early in the (now dead) development process. There’s no game here… but it would have been added, and adding game elements is something Valve is… was… good at. But it can be judged as an attempt at the story.

As a short sf story, it has a few good ideas with some horror potential: Breen as a miserable Combine slug; the between-worlds Borealis; the final reveal of the galaxy-class power of the Combine.

As a plot, it’s worse than Mass Effect 2.  (See Shamus for why the plot of ME2 is actually worse than ME3.) It not only throws out any forward progress made in HL2 and in Episodes 1/2, it actually sets things back. Is every Half-Life plot supposed to be “Gordon Freeman does something perilous to shut down a portal that’s supposed to fix things, and in the next game we find out it failed”?

The Breen encounter might be kind of fun, but it’s also a kick in the teeth to HL2 itself. Breen was a fantastic character, but just bringing him back is the epitome of genre laziness. I don’t want to read LOTR 2 where the Ring turns out not to have been destroyed, and Frodo has to return from Eressëa to destroy it again.

Having Alyx kill Judith Mossman suggests that Laidlaw forgot he was writing a game rather than a movie. As Shamus might point out, this is like your DM having the NPCS in the party kill the Big Bad. If Alyx is the protagonist of the game, make her the frigging player character.

The dimension-hopping of the Borealis would probably be fun to look at, but it’s not used in any interesting sense here. If what we have is a dimension-hopping ship, we should have more than one destination.  (I fear that Aperture Science and Cave Johnson, however, are a little too comic to fit into the Half-Life games.)

The Dyson sphere is a great reveal.  If it’s done right, you get an oh shit moment: the enemy is even more powerful than it appeared. Only… the Combine was already all-powerful. It conquered Earth in seven hours, remember? HL2 owes most of its power to its depiction of enormous, intractable catastrophe. Only, “the right man in the wrong place can make a world of difference”, right? Even if he spends a lot of the game whacking headcrabs with a crowbar.

So what difference does Gordon— or Alyx— make in this story? Absolutely none. the Dyson sphere makes a great Act II reversal; it’s a terrible end to the story.

Plus, to make G-Man mysterious is one thing; to have him make no sense at all is just wankery. Is he like the Outsider, changing his favorites on a whim? There was the idea that he was some sort of galactic mercenary… but then it’s way past time we learn something about what entities are paying his fees.

Here’s just a few ideas that would make this plot summary at least kind of game-like:

  • Make Alyx the PC.
  • Lose Breen. Invent an actual new named Combine antagonist who is racing you to the Borealis.
  • Alyx has the ability to kill Mossman at any time. If it’s too early, you lose. If it’s too late, she grounds the ship in the Antarctic and the Combine swarm in.
  • Use the dimension-hopping to prop up the Resistance at a few key points. This is optional, but each point will give you soldiers to take along, and they’ll make the fights at the Dyson Sphere easier.
  • At the Dyson Sphere, you find your nemesis snuck onto the ship. It was wounded, but this is its home turf. You have to follow and kill it.  You are using the ship to blink about; because of its time instability, you may arrive at a location several minutes before or after the nemesis does, which affects the difficulty of the fight.
  • In the fights, Gordon is your ally and uses his gravity gun. You, however, have a portal gun that was lying around the ship.
  • When you defeat it, the G-Man talks to you.  “Good job getting here,” he smirks, and offers you three choices:
    • Use the Dyson Sphere base to destroy all Combine points connected to it– freeing a vast number of planets, but also destroying unimaginable numbers of innocent beings who happen to be near the Combine facilities.
    • Destroy the base itself– leaving the Combine and their slaves on each planet isolated from each other.
    • Open a portal that allows one of the G-Man’s other clients to reach Earth. He assures you, with a slappable smile, that they hate the Combine “and will not destroy your people.”

Oh, you want HL3 and HL4 too?  OK, some ideas:

  • Get rid of the remaining Combine on Earth before they can reconstruct a portal.
  • Or, if you chose Door Number Three, get rid of the G-Man’s pals, who turn out to be just as nasty but in different ways.
  • Take the fight to the Combine homeworld.
  • Find out why the Combine are fighting: they are building resources against an intergalactic threat. Guess what, you’re the one facing it now.

 

I just spent about an entire workday reading two video game reviews by Shamus Young.  They’re pretty good. Here he is on Arkham City; here he is on the Mass Effect series.

arkham city catwoman

What holds her goggles on?

Did I mention these are really long?  The Mass Effect one is in fifty installments.

Now, Shamus is pretty solid on gameplay. He agrees with me, as well he should, on the excellence of Arkham City and why its combat system is fantastic. He observes that the actual gameplay improves over the Mass Effect games. But his heart is elsewhere. What he really wants to talk about (and boy howdy, does he) is plot. And plot holes. And character problems. And worldbuilding problems.

I’m making fun of his verbosity, but I read these entire things, and he’s actually really good at this sort of criticism. He points out what works in the story, and what doesn’t.  He can be pedantic, but he’s actually quite forgiving about things-required-for-gameplay.  (Like, Batman is in the city for like 12 hours, and never once stops to eat or even take a drink of water. That’s OK, everyone understands how games differ from real life.) If you were the game designer, you’d probably bristle at what he has to say, but the thing is, he’s almost always right, and he’ll even explain, for free, how you could have done it right and make the game better that way.

On Arkham City, about the thing he likes best is the Joker/Clayface plot, and how the Big Twist is carefully foreshadowed.  And what he likes least is how passive Batman is about, well, everything.  He’s never prepared for anything, he is constantly getting sidetracked, and he almost never does any actual detecting.

I agree, but of course I think the game works despite this, perhaps because the “World’s Greatest Detective” side of Batman has always been a bit of a cheat. In the original stories he’s all about the punching. If he does come up with a clue, it’s not the Poirot style of using reason to knit a story together; it’s the comic-book or Star Trek trope of “Being a super-genius, I will come up with the next plot strand by staring at this computer.” Still, it’s nice when Batman actually comes up with something to do on his own that works, rather than being supplied it by a voice in his ear. Using Poison Ivy in the first game works. About the only idea Batman comes up with himself in Arkham City is going to see Catwoman, and that actually tells him nothing.

On Mass Effect he goes through the entire plot of all three games.  In short: he thinks 1 is masterfully done, while 2/3 throw out everything that worked and try to tell a new story.  If it worked, that would be OK, though weird; but in fact it’s completely incoherent.

In short: lots of people thought that the problem was 3’s ending.  But he makes the case that the series went off the rails at the beginning of 2 and made terrible decisions throughout. The ending didn’t suck any worse than the rest of the plot; but since it was the ending, nothing came afterward to distract the player back into acceptance.

But the characters and side quests!  Yes, these were almost entirely good, and the stories here were often fantastic. On the other hand, almost all of what was good storywise came from 1. He particularly admires the Rachni/Turian/Salarian/Krogan storyline. The Rachni invade and kick everyone’s ass; the Salarians uplift the Krogans to fight them; they succeed but then become a threat on their own; the Turians unleash the genophage to beat them down.

As Shamus points out, this isn’t just a story (A happened, then B happened, then C happened), but a plot: A happened, this caused B, and that caused C in turn. It sets up a complicated history and conflicts between the species and creates multiple intervention points for Commander Shepard. The Geth/Quarian subplot is also high quality. In both cases, the story was set up in 1 and not mishandled in 2/3.

What went wrong in the main questline in 2/3?  In a word, everything. Cerberus makes no sense. The Illusive Man has contradictory powers, goals, and methods– one moment he’s a terrorist, another he’s a misguided nationalist who’s the only person willing to fight the Reapers, yet another he’s a dupe of the Reapers (yet never accomplishes anything for them). Game 1 set up a clear goal for Shepard (learn how to fight the Reapers, using her ability to understand the Protheans and her Asari friend’s special competence in that area).  2 threw all that away in order to fight a completely different threat, for completely different masters.  Then the ending of 2 was itself thrown away so that Shepard could go back to the Reapers… only she doesn’t, she spends almost the entire questline fighting Cerberus. The whole Reaper thing– the supposed inevitability of synthetics destroying organics– is completely contradicted by the story of the Geth. In the whole of 2/3 there’s no entity, from Shepard on down, who has a clear rational goal in the main story and pursues it intelligently.

Plus, outside the “good subquests”, Shepard is never given interesting choices, or even good dialog options. In all of 2 she never gets any zingers in with the Illusive Man, and in 3 she never defends her time with Cerebus, even to the extent of saying she had no choice. And yet Cerebus never has any word for itself either; no pro-Cerebus character ever explains any good thing it’s doing.

Now, as it happens, I enjoyed 2 more than 1. (I never played 3.) But that’s because I value plot far less than Shamus does. I thought 1’s gameplay was mediocre; 2’s was far better, and the squad recruitment and loyalty quests were almost all satisfying.  And this difference in evaluation is just fine.  He doesn’t expect everyone to share his preferences, and he’s very good at explaining why, for those who really care about plot and worldbuilding, failures in these areas are really obnoxious.

It’s not that I don’t care about story at all– a good one adds immeasurably to a game. But I’m willing to forgive a lot if the core gameplay is well done.  Left 4 Dead, for instance, is the stupidest of horror stories: a constant run from mindless zombies. But it’s a blast while you’re in it.

(If you know me, you might be surprised that I’m not all about the worldbuilding in games. Well, I do love a good world! But it’s only one of the things that make a great game shine, and it really can’t rescue poor gameplay.)

If all this whets your appetite, he also has good analyses on why the Thieves’ Guild storyline in Skyrim is far worse than the one in Oblivion, and why Fallout 3‘s main story is idiotic.

Shamus doesn’t get much into the production of video games, and this is the one defect in his analysis. He obviously understands that games are written by teams, but I think he kind of assumes that some Head Writer is in charge of everything. Now, my own knowledge doesn’t go beyond reading some interviews and diving down fairly deeply into Fallout New Vegas‘s game editor. But I get the impression that Shamus thinks games work like this:

  • writer outlines the main plot, much like a screenplay
  • writer works out the levels, main quests, and side quests
  • maybe other people come in and do some work, but writer acts like a movie director in charge of it all

And I suspect development mostly works like this:

  • developers work on the game engine
  • level designers create a bunch of levels
  • art directors create pictures; these are turned into a shit-ton of assets
  • meanwhile, a bunch of ideas are tossed around for an overall story
  • writers cobble together dialogs that justify moving from Level A to Level B
  • quests are created, each one by some designer who doesn’t talk to any of the others
  • pretty much each of these steps are reworked several times as ideas change, problems arise, and various suits step in
  • oh shit we’re supposed to ship in 12 months, we’d better get our shit together
  • the levels that demo the best are selected; the rest are thrown out
  • writers frantically stitch together those levels, patching over the missing quests that would have made sense of the overall story
  • voice talent comes in; now rewriting anything becomes nearly impossible
  • the writers grumble because things don’t make sense, but the team is shell-shocked by now, finishing final art and level design and quashing the infinity of bugs QA keeps finding
  • oh jesus we promised it’d be out by now and we can’t delay any more, HERE IT IS

Again, this isn’t to say that Shamus’s criticisms are wrong. It’s just, there was never something like a script where everything was laid out.  There was probably a treatment of the main story, but it’s spectacularly out of date. The process is designed so that a dozen people can be simultaneously writing quests without checking constantly with their boss or each other. And when you’re actually doing a quest in the game editor, there are a million things to think about– all the McGuffins have to be placed in the game-world, all the triggering boxes set up, all the dialog logic coded. You have to juggle an amazing number of possibilities that most players will never see. Players focus on a few big decisions, but a lot of the logic in a quest relates to far smaller decisions: are there ways to accomplish a goal by stealth or by combat?  Did the player mindlessly wipe out NPC #2394 who you’d chosen to produce a plot point?  What if they stumble on things in the ‘wrong’ order? Do we have a quip for each of the possible 12 companions to utter? How many NPC dialog lines have to be doubled because they refer to the PC’s gender? What special options exist because you took some perk, or you have a high (im)morality score?

It wouldn’t surprise me if Bioware was aware of half of the problems Shamus found… only once a quest is written, voice-acted, with level design and art created… who the fuck wants to redo it?

I also suspect it’s a lot easier to get all this right if you can railroad the player more. Arkham City has lots of sidequests, but the main quest is entirely linear, and the player has no story choices. (Well, technically you have one, as Catwoman, but one of them just ends the game.)

Edit: One more thought… to understand why nerds write 50-post screeds like this, and why other nerds read them, you have to understand something about nerds: we are way more frustrated by something that’s 90% what we like, than by something that’s only 50%. People really got into Mass Effect (and forgave its dull combat) because of the setting, the characters, and the pure fun of being Shepard. People wouldn’t get this exercised over a terrible set of games.

 

I had these drawing studies for my last gods picture and thought they might be an interesting process story.

The nice thing about these gods, Nečeron and Eši, is that they have things they can do. Nečeron is god of craft, so he can be building. Eši is god of art, so she can be doing art. But just that would be a little boring. From somewhere, but undoubtedly influenced by M.C. Escher, came the idea of each creating the structure that’s holding up the other.

Here are some doodles trying to make it work:

Nech-1

Nečeron’s bit is easy: he’s creating whatever Eši is standing on. (It starts as a table.) But what is she painting? Maybe some sort of framework holding up the platform he’s sitting on?  That’s the lower left drawing; it looked cumbersome.  Maybe a ladder (bottom right), but then he only has one hand free to work. Finally I tried a set of stairs, and that worked.

Here’s the second attempt at that:

Nech-2

I decided that the concept worked, but now ran into the next problem: I can’t really draw this scene out of my own brain. The figures here don’t look terrible, but the proportion and placement of the limbs was difficult, and the blobs representing the hands hide the fact that the concept requires four iterations of my personal drawing bugbear: hands holding objects.

(These are sketches, and would certainly have been improved if I kept working on them. But one thing I’ve learned is that poor proportions do not improve by rendering them really well. Better to get the sketch right.)

I tried looking for photos online, but getting these specific poses would be difficult.

Taking reference photos, however, is easy! I have an iPad! Here’s the pictures as they appear in Photoshop, with the sketch done right on top of them.

Nech-3

Who’s the model?  Oh, just some guy who’s available very cheaply.

If you compare this with the previous step, you can find an embarrassing number of errors in the original. E.g. Eši’s legs are way too small, the shoulder facing us is too low, and her neck is not drawn as if we’re looking up at her. Plus I think the final poses are far more dramatic.

I did the final outline over the purple sketch. Then the procedure is: select an area in the outline; fix the selection to make sure it includes everything I want, and fill it in on a separate color layer with a flat color.  Then go over each flat color area and use the airbrush to add shading. The bricks and stairs also get some texturing, added with filters. The jewelry is done on a separate layer with its own drop shadow— a cheap, quick way to add realistic shadows.

The gods aren’t wearing much.  That’s just how gods are, of course. On an operational level, there are two reasons for this (which we can assume are shared to some extent by Almean sculptors and painters).  The lofty level is that I like the human figure and hate to cover it up.  The less lofty reason is… clothes are frigging hard to draw. Figure drawing is hard enough, and clothing requires a whole new set of skills and rules of thumb, and looks terrible when you get it wrong. Plus, these are Caďinorian gods, so they should be wearing Caďinorian robes, which require, like, a black belt in drawing. They’re made of wrinkles. There’s a reason so many superheroes wear leotards: they’re basically drawn on top of the nude figure, with no folds.

The final picture:

god-Necheron-Eshi

Tonight, I like it; in a year, I’m sure it’ll dissatisfy me. Actually, when I look at it, I wonder if the angle of the iPad foreshortened the figures, making their feet proportionately too big. Oh well.

 

 

I hinted on Twitter awhile back that I was entirely rewriting a major bit of Almeology, and now it’s done!  It’s on what I used to call Caďinorian  paganism.

month-pagan

That was one of the first pages I put up, 19 years ago, and I’ve never been entirely happy with it. I’ve greatly expanded it, with more information on non-imperial versions of the religion, and much more detail on the actual mythology. Now you can learn what the heroes Maranh and Koleva actually did. Plus you can get married using actual Caďinor wedding vows.

The old version was pretty jokey, which can be fun, but it didn’t fit in with the rest of Almeology. (It was already toned down from the first version I wrote, probably during the original D&D campaign. Sadly, I can’t find that version right now— I hope it’s hiding in one of my cabinets.) The old version was also a little too influenced by G.K. Chesterton and his rumination on paganism from a Catholic perspective.

This project also involved finding etymologies for, and sometimes renaming, a bunch of minor gods and demons. The Verdurian names came with the original document, usually just invented without a meaning. Now most everything means something. (Occasionally this meant changing the Verdurian name— I hope you’re not too bothered that  Évetel, Leanota, and Urdelan are now Ávetu, Eduela, and Uřädec.)

There are a bunch of new pictures of gods.  Two gods are still missing, but I expect to add them in later.

Edit: Finished the last picture, and it’s the best yet!

As part of this project I needed to update the Verdurian and Caďinor dictionaries. I used to keep the lexicon in Word, output it as RTF, and use a program to convert that to HTML.  But upgrades to Word and to the Mac itself broke the system.  Instead, I adapted the code from my revamped numbers list, and generate the dictionaries on demand from a text file using Javascript.

The advantage for me is that I can keep them up to date easily.  The text files also take up less room than the old HTML files. And the advantage for you is that you can ask for just the words you need. Yes, you could use Ctrl-F before, but a listing of search results is far more informative and more likely to give you just the word you need. Plus codes are defined so you can enter all the diacritical marks.

There’s an interesting discussion here on waterfall project management– answering the question “Why did it fall out of style?”

113 Mill

Good thing I didn’t have to find a picture of an agile

A couple people make the point that “waterfall” was invented as a straw man by Winston Royce. He claims that the main problem with the supposed method was that testing only occurred at the end of the process, so that redesign was prohibitive.  This is absurd; it’s on the level of saying that Agile projects never think in advance what they’re going to deliver.

The first answer on that page is basically party line nonsense. Dude complains that “5 years, tens of millions of dollars, hundreds of people, not a single user, the code never ran once”, and somehow we don’t do that anymore.

The best response to this is to go re-read Frederick Brooks’s The Mythical Man-Month, published back in 1975, a set of ruminations on why big projects go wrong which everyone has read and no one ever takes to heart. Note that Brooks’s book is an autopsy of several huge 1960s IBM projects which finished, but didn’t go well. Nowhere does he say the problem was that testing was put off till the end; Brooks advocated a thoroughness of testing and scaffolding that few developers could match.

The basic idea of waterfall programming is that you write a requirements document, then a full system specification, then an internal architecture, then code. I don’t think anyone ever has believed that these processes are hermetically sealed.

And when it’s done well, it works! We used to actually do all this when I worked at SPSS. There was a design department responsible for the specifications. They worked out all the functionality, every statistical function, every dialog box, and wrote it all down. Because they were a dedicated department, they could be experts in the problem domain and in user interface, and they could work pretty fast, and get going before the developers were fully staffed. The design document wasn’t just for the coders; it was for sales, management, documentation, and QA. All these people knew what was in the system, and could get going on their jobs, before the program was written. There were big meetings to review the design document, so everyone had a chance to offer input (and no one could say they were surprised at the design).  More on the SPSS process here.

So, waterfall works just fine… if you do it. The problems people perceived with the process are not due to something wrong with the model of design/code/test.  They’re generally due to not following the waterfall method, i.e.

  • not actually doing an external design
  • not actually doing an internal design
  • not even knowing the features when coding starts
  • not actually planning for testing
  • coders generally being pretty bad UI designers (see: Alan Cooper)

Now, maybe most workplaces and devs are hopeless, and can’t do the waterfall process, so they should do something else.  But it’s not really the case that the process “didn’t work”.  It works if you let it work.

As a cranky middle-aged old guy, I’d also answer the original question (“why did waterfall go out of style”) with “Fashion.”  Every ten years, someone comes around with a Totally New Programming Style. In the ’90s it was object-oriented programming; in the ’00s it was Agile. If you’re in your 20s or 30s, you can get very excited over the latest revolution and you’re eager to make it work.  If you’re in your 40s or 50s, you’ve seen several of these revolutions, and they never live up to their original hype.

This isn’t to say that there aren’t advances! I still think OOP was a pretty good advance; it made people think about design and re-use a lot more; plus, if done well, it had the huge advantage that any given routine was small, and thus more likely to be correct. (On the other hand, done badly, it produces huge swaths of nearly-useless layers and increases complexity.)

I haven’t actually worked on an Agile project (I write books now), so I can’t say if it works out well in practice.  From what I’ve heard, it has at least two fantastic ideas:

  • Keep the code buildable.  As developers are constantly breaking things, this seems like a great discipline to me.
  • Keep close (daily) contact with everyone. I’ve had too much experience with developers who were assigned a task and it was only discovered 2 or 6 months later that they couldn’t get it done, so the early warning also sounds great.

But the insistence on short sprints of work sparks my skepticism. There really are things that take a year to program. Yes, you can and should break them down into pieces; but those pieces will probably not be something deliverable.

I’ll give an example: one company I worked for did insurance rating software. This involved an incredible number of tiny variations. You’d have general rules for a line of insurance; then state variations; then variations over time; then variations between companies.  Our original method was to write a basic set of code, then write snippets of code that changed for each state/version/company. Writing all this took a lot of time.

Eventually I decided that what we needed was a specialized rating language– basically something that business analysts could handle directly, rather than coders.  It worked very well; 15 years after I left, the company was still using a version of my system.

The point, though: writing the language interpreter, and the proof of concept rules for one line of insurance, took time. Half a year, at least.  There was no way to divide it into two-week sprints with customer deliverables, and daily meetings would have just got in my way.

I can understand that doing things this way is a risk– you have to trust the programmer. On the other hand, I’d also point out that I took that project on after about six years at the company, and it was my third architecture for the system. (Brooks rightly points out how second projects go astray, as programmers do everything they ever dreamed of doing, and the project gets out of hand.)

 

 

Maximum City sounds like a good name for a non-Big-Two superhero comic, but it’s a book about Bombay by Suketu Mehta. (The city is officially Mumbai, but Mehta prefers the old name.)

It’s amazing. I reviewed a few other books in the Gawking at Modern India genre,and this is by far the best.

Mostly, it’s because Mehta dives down, deep down, into the underbelly of the city. A lot of the book is about the gangwar— one word in Indian English, pronounced like gen-gwar. He finds the hit men and hangs out with them. He’s full of factoids about them. They’re mostly slumdwellers (but then most Bombayites are; we’ll get back to that). It’s a good job for them; most of the time they hang around watching TV or talking, between jobs; they have plenty of money to spend on girls.  They love Bollywood movies, especially the ones about gangsters. They’re often quite religious… when death is on the line, you’d like some supernatural aid. They seem to like talking to Mehta– they like the idea that their story is being told accurately.

Mehta talks to one of the highest bosses, who runs the gang from Karachi. I wish superhero comics writers would read this, to understand how a powerful villain really talks.  The boss is gracious, solicitous.  He wants to appear normal and rational.  He offers a free contract for Mehta: he can have some work done.  That’s the slang for offing someone.  Mehta muses on what it’s like to be able to call up someone to have someone else killed.  He says it’s calming– you feel a little more magnanimous about Bombay’s many irritations.

He spends almost as much time with one of Bombay’s top cops.  Though honest and effective, he’s also about as brutal as the gangsters. He doesn’t much bother with detective work, though he uses plenty of informants; he picks up a gangster and tortures them. If the police have had enough of a gangster, it’s far too unreliable to try to prosecute him– a bribe will quickly free him.  They just shoot him.

The metropolitan area has about 20 million residents.  9 million of them live in the slums. This is largely because of a well-meaning, disastrous bit of legislation: the Rent Act of 1947. This froze rents at their 1940 levels, and prevented evictions of tenants. Naturally, no one who has an apartment ever moves out; when they die, their heirs inherit the place with its frozen rent. The law was intended to be temporary, but the millions of tenants far outnumber the landlords, so all parties support the bill and it’s been extended till the present.  (Mehta notes that India is the opposite of the US, in that poor people vote, and the rich do not.)

Landlords can’t make money at 1940 rents, so they refuse to maintain the buildings. Services and pipes and wires fail; the tenants repair them haphazardly. There’s no way to make new buildings for profit, so none are built. Instead, people build their own houses in the slums.

Another long chapter is on bar girls.  In the West these would be strippers, but in fact the dancers don’t take off their clothes. Men shower them with money anyway.  They press to get the girl’s number; she is expert at slowing them down, only slowly relenting to give a man her phone number.  She will accept calls, and then only accept meetings if he’s generous with gifts.  It’s not respectable, but there’s far more money in it than in the respectable jobs.

Mehta frequently wonders how Bombay works at all.  Everything is slow, corrupt, falling apart.  Gangsters extort money from businesses; nationalist politicians keep the population at the edge of riot. And yet people keep moving into the city, eager to get in on the action.  Bombay produces 25% of India’s industrial production and 40% of its foreign exchange.

While living in Bombay, Mehta managed to write a Bollywood film, Mission Kashmir. This was done in story sessions with the director and other writers. Though there was a script, you don’t get actors to appear in your film by sending them a script.  You go to their house and basically act out the story for them.  Oh, and banks won’t finance movies, which are highly risky ventures; the underworld does.

There’s a chapter, full of ironies, on the Jains. They are big in the diamond industry, and thus many are very well off.  But many of them choose to give away all their wealth and live as poor beggars; Mehta follows one family through this process.  The family not only gives away everything it has and wanders the roads asking for food; it splits up, as men and women monks can’t travel together.  And yet the process of giving away wealth is done as ostentatiously as possible, at a massive town-wide gathering.

More factoids for you: India is not over-dense with people, compared to Europe. The population density is greater in Belgium than in India. On the other hand, parts of central Bombay are denser than anywhere else on Earth: 1 million people per square mile.

On the lighter side: to Indianize your glass of Coca-Cola, you add spices: lemon, rock salt, pepper, and cumin.

The crime and corruption and density Mehta talks about, by the way, are not exotic features of India; American cities were exactly the same a hundred years ago.

A lot of the success of the book comes from its choice of subjects, but also from the depth and empathy that Mehta brings to them.  He obviously spent a lot of time with people, and the result is a set of portraits that feel like far more than interviews.  (And probably only a born Bombayite could have written this book, simply because he has to know English, Hindi, Gujarati, and Marathi to understand what’s going on around him.)