This is an actual, honest-to-God piece of spam I received on Sunday night:
Title: Please, pay Your attention!
Monster.com company greets you John Zeitler.
We are happy to inform you that we had succesfully upgraded our site. Because of our system has great changes, you have to install Monster.com certificated utility (click here) to be able to use monster.com database. If you donÂ’t setup this tool until March, 1st, 2007, you will not be able to use your account
You donÂ’t have to answer this letter - itÂ’s just a newsletter.
Thanks for cooperation.
Obviously, I didn’t respond. But this is quite frankly the funniest scam I’ve received in a while.
Furry One never told you what happened to your Bailout. He told us enough! …He told us you killed it.
No. I am your Bailout. That’s not true…. that’s impossible!
Search your caches. You know it to be true! NOOOOOOOOOOOOOOOO!
Ugh. No offense to you folks out there, but the last thing I want to do this morning is write. I blitzed through this weekend, 11a to usually 8p, seated in one Panera Bread or another, eating cookies and chugging diet soda, my fingers never leaving the keyboard. As a result, for the next week or so, the printed word is going to be my mortal enemy. In short, we’ve got a week of Bailout scheduled while I game and try to recover feeling past my second knuckles.
Oh, and for the record.
I’m done. Final word count is just under 99,000, and it weighs in at about 175 single-spaced pages. I have the option of expanding two specific scenes out a bit, possibly to extend me to the full 100K, but not for a while yet. Right now, the only thing my hands are good for is the thumbs…
Inconsequential Update: As you have probably guessed, this was a huge weekend for writing. I currently have five scenes left plus one or two potential rewrites, with my word count at 89,500. Of course, I’m not done yet– I have some errands and other stuff to do this morning, but this afternoon is cleared to finish everything up. Four of the last five are big scenes, and I fully expect to be over 95,000 when all is said and done, if not pushing closer to 98 or 100,000.
All right, all right. Yeah, yeah, I know, first try, boring subject, lousy lighting, stupid actor, horrifying wardrobe selections. Sue me. It was late and I was overly excited about it. No idea if anyone’s interested in seeing more of me. Without the bathrobe. With regular clothes, of course; I’m not going to show my daddy parts on the Interwebs. I meant ‘more’ as in ‘more pointless and needless drivel’. Though after this paragraph, I’m pretty sure the answer’s going to be ‘no’.
First, and possibly more interesting than the drivel below…
Inconsequential Update: 12 scenes left, with a current word count somewhere around 83,500 words or so. Odds are good that I won’t be doing much gaming this weekend in an effort to ride out this writing streak… But trust me. If I start banging my head against a wall, I’ll be sure to let you all know.
With that taken care of: I’ll probably start talking a little bit more about my coding work, especially as I continue my quest to learn more than just web-based technologies. Thus, the new tag for the posts. Those of you not inclined to that sort of thing, feel free to skip these– they’re going to get WAY nerdy WAY fast.
So, as I may have mentioned, I’m playing around a bit with a couple RAD tools. In particular, I’m looking at Microsoft’s XNA framework for C#/Windows/XB360 applications games, and Apple’s XCode suite/Cocoa framework for OS X development using Objective-C. Now, I’ve never been terribly adroit with C or C++ to begin with. I wrote some of it in college, fouling up a perfectly good traffic light simulator (remind me, if I haven’t ever recounted that story, to get it on bits one of these days), but to be perfectly honest it’s all Greek to me. Or, at least, it was for a while. Now it’s closer to, I dunno, Baronh, meaning I can barely read the f%$#ing code. Both C# and Obj-C take different tacks towards twisting C to their own purposes. Naturally, they both go in completely opposite directions.
You would think, actually, that C#, being a Microsoft product, would be pretty arcane and archaic. It’s not really the case, actually. C# has some quirks; but where it quirks, it tends to favor a more lax approach to coding. Everything is type-safe at compile time, variables are strongly typed (and well-enforced), and pointers are abstracted away. Inheritance and polymorphism is done through interfaces well, and the Visual Studio IDE is very helpful in telling you what you can and can’t do with an object. In about three hours of playing with it, I managed to get an animated mouse pointer on-screen, transparency effects, and the beginnings of a sprite-tile engine together. If XNA had an easy-to-use visual design studio, or at the very least better documentation on how to create, adjust, and use textures for 2D games, I could probably have cut that down considerably.
Contrast this to Objective-C. Objective-C is basically S&M For C. Yeah, you get a very nice visual interface builder, but unless you know the safeword you’re going to be on your knees, in tears, begging for mercy. The concept of “type-safe” is gone here. Everything is pointers; even the goddamn POINTERS are pointers. The language is weakly typed and nothing is checked until run-time. You don’t call an object’s methods directly; instead you send it a message. Your message is then returned by a large burly postman in leather and chains who crashes your program telling you that you didn’t do something right. He won’t tell you what, but he will pop up a whole shitload of assembly language in the hopes that maybe you’ll have an aneurysm and give up. XCode won’t tell you that you’re doing something dumb until you try to build your program. And the syntax! Good freaking Lord, the syntax! It’s like someone printed out the code, ran it through a weed-whacker, and then scanned it back in backwards and on fire. In two hours of work I had a very pretty interface that crashed whenever I touched anything because I couldn’t figure out how to make a string literal.
Anyway, despite what it sounds like, I’m about equally matched on both setups. XNA is easy to work with and the language is a snap for anyone coming from Java or even PHP (to a certain extent). The drawback is that it takes a little bit more work before you get something that looks good– or, in fact, ‘looks’ at all. Cocoa is insanely easy to make really nice interfaces with, up to and including tables with built-in sorting, tabbed stuff, and the like. Of course, the problem is that the underlying language isn’t exactly clear on how to accomplish certain things, and it’s tricky to tie objects and interface elements together unless you know exactly what you’re looking for. I probably won’t be doing concurrent development with them– I really want to try to get the Obj-C project I started done first, as it’s sort of a GTD tool– but I will try to produce something for both of them.
But not this weekend. This weekend is writing for Incon, and only for Incon. So, yeah, sorry to leave you with an abrupt ending here, but I gotta get back to work on that.
This came up as a Google Quote of the Day a couple days ago:
Technology adds nothing to art. Two thousand years ago, I could tell you a story, and at any point during the story I could stop, and ask, Now do you want the hero to be kidnapped, or not? But that would, of course, have ruined the story. Part of the experience of being entertained is sitting back and plugging into someone else's vision.
--Penn Jillette
Aside from the wisdom of it being, well, Penn Jillette, he raises an interesting point. Having control over a story does sort of ruin the story, as you’re basically dictating to the storyteller how you think he should proceed. There is a difference, however, between dictating to the storyteller and having the storyteller adapt to the listener’s wishes.
Let’s take two quick and dirty examples, Final Fantasy VII and Wing Commander. Yeah, disparate genres and different games, I know; but the fact is, both do the storyline thing in different ways. FF7’s story is rigid and inflexible. Cloud always hands over the Black Materia, Aeris always runs off to the Temple of the Ancients, Sephiroth always manages to summon Meteor. Nothing the player does can alter this progression. The player is still ‘turning pages’– that is, the level grind and dungeon completions push the story along– but ultimately it’s still a book with one plot and one ending. In Wing Commander, the player’s ability alters the storyline to an extent that there could be several different outcomes. If a specific capital ship isn’t destroyed, for example, it could turn the tide for the enemy and branch the storyline away, ultimately resulting in the war being won by the Kilrathi instead of the Terrans. This creates confusion in the inevitable event of a sequel, because then you have to dictate to the player which of the endings was the “real” one, possibly alienating the player who worked hard to get a difficult, yet non-canonical, ending.
Which is better? It’s hard to say. Certainly Japanese RPGs have taken the first approach, with multiple endings being relegated to how quickly the player decides to defeat the final boss (Chrono series) or how much of the storyline they uncovered before the game ends (Dead Rising). Western games take the second approach by and large, allowing the player to side with the enemy (Jedi Academy) or to take an unconventional route to completing the main challenge (Maniac Mansion). Nobody can actually say which one has sold better because there are always other factors involved, and using sales as a measure of success isn’t always reliable (particularly when trying to analyze games as art). Both approaches have merits and flaws.
If I were to make a game (which isn’t entirely unlikely– shhh, you didn’t hear that), I would probably try to blend the two approaches. Certainly a game has to have a set progression common to all iterations of its storyline (ie a core set of levels/events that build up to the final conflict). I would probably have the player branch the storyline without actually knowing that he or she is doing so, and gently rein the player in if he or she is straying too far from the core story. Let’s say that a situation comes up where the player has three ways to complete a task, and has a party member strongly opposed to one of those ways. The player is free to choose any of those ways he or she sees fit, but if the path is chosen that the party member does not like, the party member may abandon the player– or, more dramatically, sabotage the player’s attempt to accomplish the task that way, revealing more of the story and putting the player on the ‘right track’ without being heavy-handed. Naturally, if the player arrives at that juncture with a different party member who has no qualms about that particular path, then the player can pursue that option, but possibly not another one which the original party member would have approved of.
It’s all very theoretical and nebulous, of course, but it is something that might be worth looking into if I were to script a game.
Inconsequential Update: 80,000 words with 15 scenes left to go. One more to hit my goal, but like I said, I’m taking this wave of creativity as far as it can go. Of course, the fact that I managed a good deal on a slightly used MacBook (read: as a gift, it never left the box as the recipient already has an MB Pro, so he sold it to me) means that a) I’ll likely be on such a binge of writing that I’ll get a lot more done this weekend, as opposed to relaxing and watching a movie as was my original plan, and b) I have an equal chance of just slacking off and staring at Dashboard widgets for the next 48 hours. Ah well.
Ladies and gentlemen, I have to say one thing before I reveal the name of the man against whom I have struggled. I ask only one thing of you, one trifling little thing before I entertain you. This man, this once-man, against whom I and my people have labored; do not think ill of him for my sake. In my own way, what he was is deserving of my respect. Few mortal minds can gaze upon the vast, unending horrors that lie beyond the veil of our so-called reality and remain sane. I do not fault this once-man for trying. His ideas were once sound, his motives pure; but, my brothers and sisters, he has become corrupted! He is no longer a man, no longer what he once could have aspired to be. All vestiges of humanity have fled, the as the light flees from the encroaching shadows. This once-man serves not the light any more than the foul monstrosities he now worships serve the even older Things in the darkness. Where once was sanity, there is only the hollowed remains of a mind shattered by the lifting of the veil, the parting of the fabrics of reality, and a glimpse at the untold horror, the sheer futility of his battle, that lay in the waiting nether-regions of our world. Do not think ill of this once-man for his intentions, foul as his pursuit of them has become. Instead, think ill of him for daring to toy with powers with which he had no business consorting. He shall be damned for shunning the path of righteousness, for turning his eyes from the gift which has been endowed to all of us by our Creator, be he our father or Our Father; yes, this once-man shall surely rest in the depths of hell for daring to tamper with the free will of another man.
And now that I’ve built this up to a ridiculous amount of hype, the denouement:
All right, everyone raise your hands if you saw the gag coming. I couldn’t resist, honestly.
Extra-special thanks to Kat and Andrew for the shirt.
Just tossing off a couple things from this fine lunchtime, as I fear they will be of limited interest to me next week when the next LW rolls around. First off, Final Fantasy Fables: Chocobo Tales is set for an April 3 release date; a week later, Super Paper Mario hits on the 9th. For those of you who just turn to a puddle of cooing, cute-afflicted goo when you see a large yellow flightless bird (read: me), this is good news for you.
Speaking of cute, I found this from Jalopnik by way of Lifehacker. It’s a good thing I was listening to “The Downward Spiral” at the time, or I would have probably had an overdose of cute.
I also signed up for Twitter, mostly because I have an overbearing personality flaw in that I feel the need to tell everyone what I’m doing every hour of every day. But also because I think it would be kind of cool.
For fans of Trent and bees, Year Zero looks to be right up your alley. I’m not entirely drawn in by such things but I do tend to enjoy a little NIN now and again, so I’m following it with interest.
Speaking of interest, the Month of PHP Bugs project has me mildly discomfited. Given that PHP was and is my most favored web language, I tend to get defensive about its flaws. I know they’re there, and unfortunately there’s little I can do save for code around them, so as long as I’m doing my job right (which I’m pretty sure I am) I and my clients have nothing to worry about. However, I’m sure that Mr. Esser has a handful of bombs to drop that can’t be coded around. And that’s what worries me.
I remain an aficionado of all things related to the former TechTV, partly because TechTV was awesome but more because I find Leo Laporte amusing. Hearing that he’d taken his long-running KFI Tech Guy show national had made me very happy indeed… until I realized that it’s not in Pittsburgh yet. Soon, I’m sure. Until then, the podcast netcast will suffice.
Konami blasted out news on several Bemani titles at the Japanese arcade show last week, including news on IIDX 14th, Pop’n 15, and word that DDR SuperNova 2 was indeed in the works. Also on the Konami front, would you like to take a survey? Do you like Solid Snake? Do you like Microsoft? Would you like to see Solid Snake working for Microsoft while eating beans with George Wendt at the movies?
Inconsequential Update: 16 scenes left, 79,300 words written over 140 pages. That’s three for the week, with two more to go before I can slack off… though if this streak continues, I might want to take it as far as it can go.
Finally, I have received a wonderful and unexpected present. As soon as I find the cable to my digital camera, I will be able to let you all know exactly where I stand with regards to a certain individual. As if my position towards this man– no, this rotting husk of a man, this Thing Which Should Not Be posing in the defiled flesh drapery of manhood– were not clear enough.
A good friend of mine asked me why I continue to go to sites that piss me off. Specifically he mentioned Digg and Slashdot, two sites that have had news I’ve been interested in for a while. My rationalization has always been that I like the news that the sites offer, but not the commentary from the vast majority of the trolls populating the ranks. Of course, this doesn’t exactly hold water because it’s very nearly impossible to read the news on the site without naturally gravitating to the trolls.
Which makes my decision much, much easier.
No more Digg. No more Slashdot. Both sites are now blocked from my browsers. Headlines are going to be read through RSS only and through Google Reader at that. If the City of Heroes dev tracker was available by RSS I’d add that too; it’s not, so I just closed up all of the CoH forum blades except Development. I need to find a good, commenting-minimal source for tech news, so I’m open to suggestions.
The big idea is to reduce the amount of stress I accumulate while I’m ostensibly trying to relax. Hopefully this will work as well as I want it to. It’ll take some time to get used to but eventually I should be free of the influence of idiots with agendas, even if that agenda is nothing more than to piss me off.