Cool Little Maze

A friend from #atheists at irc.freenode.net created this neat little interactively-revealed maze. The neat thing about it is that it is created using only HTML & CSS. No JavaScript, no programming, nothing. Just static HTML & CSS. (Note: works on most mainstream browsers except Internet Explorer.)

The only real irritation is that if the pointer slips off the trail, you have to start over. Move slowly. 🙂

Find the maze start at the upper left.

(See also my own maze experiment.)

New Adventure Game from Ron Gilbert: DeathSpank

So, perhaps there’s hope for the gaming world after all. Ron Gilbert, the creator of Maniac Mansion, the renowned Monkey Island series, and the famous SCUMM adventure-game scripting engine, is doing a brand-new action-adventure game, DeathSpank. Love the title already. The official site has barely anything on it, but there’s an article at 1UP, and some teasers were shown at PAX.

Pastor Tim of New Hope

A captivating post from my agnostic brother Joshua’s MySpace page (private, must friend).

pastor tim of new hope

I backed my truck up neatly into a space on the lawn of Shrewsbury Christian Academy, where orientation was about to begin for my sons as they start their first year in school. And I would see my estranged ex wife in awkward moments.

I had changed out of my work clothes in some gravel lot on the side of the road. I had eaten and drank at a local dive. I was dressed for the city, out of style in this working class community where taste is only a sign of the queer.

Smoking my pipe as I parked the car, setting it down in the cup holder beside the stick shift before I turned the key loose of its hole, the classical music silenced, I opened the door and walked away in strange reddish uncomfortable zip up feminine cowboy boots.

….

I returned to my truck to find a business card tucked into the window. “New Hope” a local church I guess. Someone wrote on the back: “call me and we’ll have a cigar- my treat”. I guess he saw me smoking my pipe. A sign of a fellow tobacco afficianado I guess.

But I won’t call.

I’d love to smoke a free cigar. Even to drive forty five minutes north into podunk to smoke it…. but I don’t want to talk. Don’t want dig up my past to make for common ground with a religious man I would have loved to know in a time in my past. I don’t want to lead him to believe that I need jesus. I don’t want to be nice and polite and speak in his language, and know what he thinks I should want. What he thinks I really need but can’t see. I’ve already seen your precious Jesus. I’ve been baptized. Twice. I’ve been born again. I’ve known the joy of seeing grace in a new light. I’ve read your book. I’ve prayed your sincere prayer, and I left a jaded man worse for the wear.

carry on my wayward son,
there’s no peace when you are done
only deeper regrets than you knew before
deeper emptiness from that withered shallow whore.

What the Best Games Have

My inaugural post to this blog was a short lament about the abysmal state of video/computer games.

Unfortunately, the situation has not improved since that time. If anything, it’s gotten decidedly worse. I love video games; and yet, a truly interesting and enjoyable game comes out around once or twice a year. In that post, written 2½ years ago, I mentioned Shadow of the Colossus as a breath of fresh air. It remains virtually the last game I can think of that was really, truly enjoyable in a significant way. I mean sure, episodes one and two of Half-Life 2 came out since then, but it’s pretty much just mild additional content to Half-Life 2. BioShock and Portal were incredible games, but Portal was too damn short, and I never got around to completing BioShock, for some reason.

Two other games that made solid impressions on me were the independently-released Aquaria by Bit-Blot, and Penny Arcade’s On the Rainslick Precipice of Darkness. Aquaria was particularly good, though there’s a little too much freedom at one point, where you can spend a coupla hours futzing around until you figure out how to make some decent progress. Kinda like Zelda. But anyway, it was incredibly well-written, very engaging, and had an awesome ending. Plus, it’s loaded with a variety of game-play elements.

But anyway, we’re still talking about basically four games that I can remember from the last 2½ years that were decent enough for me to even remember. And two of them play well under ten hours. :\

In the meantime, I just keep on replaying the same favorite, classic, and yes, aging games that I’ve always loved. Every once in a while I’ll break out with Abe’s Oddysee or Syberia. I just spent the last couple of weekends reacquainting myself with some of the great old LucasArts games like The Dig and Day of the Tentacle. Every several months I’ll play through Half-Life 2 or F.E.A.R..

When you come right down to it, I’m definitely an adventure game fan. My favorite genre; though I also enjoy arcade-style gameplay. But adventure games are exceedingly rare these days. RPGs are often similar enough to adventures to be quite enjoyable; but it seems like lately all anyone wants to make are FPS and MMORPG games. I’m not really a “social” gamer; I don’t really enjoy playing my video games with other people, except when they’re people I’m already really good friends with, so I really just don’t get MMOs. As for FPSses, well they’re fine and all, but really, shot one alien while jumping out from behind a wall, shot ’em all. Half-Life 2, F.E.A.R., Bioshock and Portal are exceptions, since the first three are unusually immersive (rather similar to adventure games, really), and Portal introduced radical new gameplay (and was funny as hell. I can’t wait for Portal 2).

At this point, I’ve more-or-less given up on the game industry. I’m not going to spend hundreds of dollars to upgrade my computer to the latest-and-greatest if I’m only going to see four games in the next couple years that I care about playing; that’s just not value. I think my only real hope is for independant game development to rise up and fill the massive gaps that the industry has left. As part of mourning the death of all that I love about video games, though, I thought I’d write a little about what those things are.

Immersion. The moment that the game Myst was released, I knew it was something special. It was such a great experience, so deep and immersive (for the time, anyway). You really felt like you were there, actually exploring this interesting and mysterious island. It had a lot of the things I like about adventure gaming, too: reading, learning, problem-solving, exploring… I’ve loved most of the sequels in that series, too: Riven, Exile, Revelations. I have to admit End of Ages was a little disappointing, and I didn’t really get into their MMO thing, Uru (but then, pretty much no one else did either).

Syberia was another example of a really engaging game. Unique concepts, realistic graphics, a heroine you could identify with, a world that’s interesting and fun to explore.

To me, a large part of the immersion factor is the music and sound. Final Fantasy VIII had a particularly haunting sound track; so did ICO.

Story. I like books. I like video games that are like books (that’s probably another reason I loved Myst: its creators were clearly as enamoured with books as I am). I like it when interesting things happen, and I can’t stop playing because I want to find out what happens next.

I think the most masterful examples of story-telling in games were Final Fantasy games. I mean, for starters, FFVII having one of the main, crucial player characters actually die is of course one of the most famous and best-remembered twists. I think some people may actually have cried there (especially if they spent serious time leveling her up!). Finding out that Cloud’s not entirely in control of himself because he’s been infused with cells from an evil alien. Or that Cloud basically fabricated an entire memory of his life, because it’s what he had wanted for himself (which was a little corny, since it means he was nothing but a poser, rather than the supreme bad-ass he made himself out to be).

Even better is Final Fantasy VIII. Plenty of plot twists there, even if a couple are a little corny (like, finding out that you and several friends you thought you’d just met had actually all grown up together as kids, under the care of the person who’s now your arch-enemy, because she’s been possessed by the Sorceress of Time, but you’d forgotten all about it because using the Guardian Forces erases memories). When Squall’s elite battle-training schoolground suddenly transforms into a kick-ass giant battle-station, or when Rinoa gets possessed by the Sorceress of Time while she’s at the space station… what the hell were they smoking? ‘Coz I want some of it.

Unfortunately, Square-Enix’s recent fare has completely lost me. I no longer trust them to be able to make even a halfway-decent game, let alone a master epic.

The Dig‘s story was great. Finding an alien technology that raises your comrade from the dead. Oh, but it turns out it’s destructively addictive, too. 🙂

Novelty. Portal. I don’t need to say anything more about that.

That was a major draw for Abe’s Oddysee, too. I mean, a wimpy alien who can’t even fight, but can lead his alien friends to freedom, turns into a flock of birds when he dies, and can possess his enemies? Friggin’ awesome. Still one of my all-time favorites.

Variety of gameplay. One thing that some of my favorite games have had is gameplay depth. Aquaria makes a great example of that; it has a story, it has swimming around in a serene sea, it has magic-like abilities controlled by singing specific melodic patterns, it has morphing into kick-ass fireball-weilding maniac, it has a recipe system for creating potent items from ingredients you find around, and it has a pretty kick-ass story. Final Fantasy VII and VIII (especially VII) had  a lot of fun mini-games. And as bizarre as Final Fantasy X-2 was, it was fun, because it was basically just a big collection of mini-games. I could never play it all the way through, though. The Gameboy Color Zelda games did a really good job of this, too.


So, that’s pretty much the list of things that are guaranteed to make me love a game. …Provided, that is, that it doesn’t severely suffer from any of the following flaws…

Pixel-hunting. The infamous flaw of many graphical adventure games. Far too many otherwise fantastic adventures made progress difficult because you had to pretty much sweep the whole screen with your pointer, sometimes over teeny-tiny areas, to find everything there was to be found. No fun.

Cryptic puzzles. I don’t have the patience to spend hours trying to figure out how to progress in a game. I love a challenge, but frustration is definitely not fun. If it’s not something I can figure out in a reasonable amount of time, I’ll flip to the walkthrough so I can move on to the fun part again. And there are plenty of adventure-game puzzles I’ve encountered that I never would have figured out. Shame on them.

Sometimes, puzzles are hard to solve because you never would have believed that the game would have let you do that, in a million years. As much as adventure game advertisements can drone on about a vast world which can be “fully explored”, no game yet is actually as “explorable” to anywhere near the same degree as the real world is. As a gamer, you just get used to the things you’re not going to be able to do, so you stop doing them. Because trying them every time would quickly get really, really tedious. Or, more often than not, the game itself trains you that it doesn’t let you do things like that. But then, suddenly, in one puzzle, you can do it, and it confuses the hell out of you because the game failed to prepare you for an understanding that, just at this one point, you can break the unspoken rules. Or sometimes, it’s something you would never even try in real life, because it’s unrealistic, or silly, or some sort of pun, or…

To be fair, this is a tough thing to avoid when you’re writing an adventure game. You definitely want to challenge the players. But it’s easy to cross the line from challenge to frustrate. There’s an art to providing enough cues so that players begin thinking in the direction they need to. An easier solution is to provide a “help” or “hint” solution. That can be fine if not overdone, but if you can get the clues just right in the first place, it’s a much more satisfying, if significantly more difficult, approach.

Tedium. Some adventure games, some RPGs, a significant portion of the time is spent on getting from point A to point B. Counting that as a part of your “90 hours of gameplay!!!” is criminal, plain and simple. Tedium is not fun. It is therefore not “gameplay”.

When people discuss the MMOs that are popular today, “grinding” sometimes comes up. That’s where you spend hours of game time doing repetitive, boring tasks to level your characters up or whatnot. Fuck that.

A word on realism. Realism is awesome when it’s realistic graphics, or if it’s something you enjoy doing. But, if your character is a farmer by trade, realistic simulation of the tedium of doing farm work, unless something interesting is added to that, is not fun. Please let’s remember that gaming is an escapist activity. We do it to have fun, because we want a break from doing work. Police Quest may have been a relatively “realistic” simulation of what it’s like to be a cop (depending on who you talk to); but Police Quest didn’t have you spending all day filling out reports. :p

Forget realism. We want realism in the fun parts. If we wanted real realism, a single bullet would have a decent chance of ending the entire game when you get hit. And would cause excruciating pain otherwise. And you wouldn’t be able to start the level over or begin a new game, because you’re dead.

RPGs frequently suffer tedium when it comes to battles. Boss battles can be fun, because they’re an opportunity to be forced to switch to a different fighting tactic. But fighting wave after wave of enduring mindless, robotic, random low-level enemy fights is also not fun, and a fairly cheap way to eat up “gameplay hours”.

Anyway, I guess that’s enough of that. I’m pretty much resigned to playing the same great games over and over again, with only the very rare and fleeting breath of fresh air.

Rom Check Fail

Fun game: Rom Check Fail, Windows and i386 GNU/Linux. From the site:

Recipe for ROM CHECK FAIL

Carefully place a dozen arcade classics in a large mixing bowl. Add a dash of awesomesauce, cover the bowl, and allow the ingredients to ferment over three weeks. Uncover in a well ventilated area, then mash until loud and glitchy. Serve over the internet.

Simple “get all the enemies” arcade-style game with a twist: the player’s type, the type of the enemies, the music and the background are randomly selected from a variety of the best classic video games (Super Mario Bros., Pacman, Zelda, Breakout!, Asteroids, Spy Hunter, Space Invaders, Tetris, Marble Madness…), and randomly switch to something new every few seconds. Simple, fun, addictive, and a little bit buggy.

A Great Marriage

Sara and I are celebrating our ninth wedding anniversary today. It’s amazing to me that we’ve been married for that long: the time just flies by.

What else is amazing to me, is that we are still very deeply in love. I can honestly say that I’m no less captivated by my wife than I was when we were first married. She can’t walk by me without drawing my eyes with her grace and sheer sexiness. I can’t walk by her, without stealing a kiss or a hug or a little cuddle. Or at least an appreciative pat on the bum. 🙂

We’ve got plenty of difficulties at home, but the one difficulty we don’t have is relationship strife. Even being at odds with each other is fairly rare; we virtually never fight.

And the thing is, it’s not even hard. It really isn’t. As far as I can tell, it just takes a very firm dedication to just a very few policies: mutual respect/acceptance, forgiveness, and a real and genuinely honest and open communication with each other.

I should qualify my “not even hard” assertion. If you have and can cultivate these things, it’s not hard. If you don’t have the things I mentioned, obtaining and keeping them can be very hard, and even impossible for some couples. And, they can’t even be sufficient for everyone: no matter how much I may respect you and your beliefs, if they are fundamentally opposed to mine, we probably aren’t compatible enough to be living together, and we almost certainly aren’t compatible enough to be living together. (If you want to teach our children that there are “many roads to heaven”, while I wish to teach them that without a personal relationship with Jesus Christ they’ll wind up in a fiery inferno for all eternity, I daresay we’ll find it hard to maintain a partnership!)

I also believe that for some, the “mutual respect” policy may be mutually exclusive with the “genuine honesty” policy, or with the personalities, interests, and ideologies of the couple, in which case a truly good relationship is practically impossible. A pro-life lobbyist and a doctor who practices abortions will find it awfully tough to respect each other. Another extremely common example would be religious/spiritual divergence. I’ve met secret agnostics/atheists whose spouses don’t know that they no longer consider themselves Christians. It’s impossible to have a meaningful relationship with such skeletons in the closet. And I’ve met others who have informed their spouses, family and circle of friends about their deconversion, and whose relationships with their spouses have become irreconcilably strained: that’s an example of where “mutual respect/acceptance” is incompatible with an honesty about who you’re asking them to accept. I’m very thankful that my marriage with Sara has weathered my own switch from Christian faith to atheism; I’m very aware how unusual it is to survive that as well as we have.

Mutual respect and acceptance means the following to me: I appreciate you for who you are, despite your flaws. I may not understand some of your interests and loves, but I value them because they are special to you. If there’s something I don’t like about you, I’ll let you know (“genuinely honest communication”), but with tact and care, and without nagging you about it. If that aspect of you never changes, I’ll still love you till the end of our days. It means I will never, ever, resort to short, biting remarks (to me, that’s a very sure sign of a damaged/damaging relationship). It means I respect your opinions enough to be willing to reach a compromise with my own. And, of course, vice versa on all of those things (“mutual”, remember?).

Note that just because mutual respect and acceptance is required to make a loving relationship, it does not mean that it’s wrong to deny your partner respect and acceptance: it just means that it’s required to make the relationship work. Some things are not worthy of respect or acceptance; some relationships should not work. Many cases of verbally, emotionally, or physically abusive relationships are held together through the victim’s desire to maintain the relationship, out of the hope/belief that the abuse will stop. In my view, any relationship in which abuse of any kind plays any part must immediately be ended. Do whatever’s necessary to help the abuser stop the pattern, but don’t even entertain the possibility of re-entering a relationship until the pattern has been completely eradicated. And don’t be too optimistic about the chances of such an eradication: it takes radical alteration of personality in many cases; best just to assume it’ll never happen, and move on. Let someone else take the risk the next time.

Forgiveness. In a nutshell, this means, “don’t bring up shit from the past.” It’s not forgiven if, the next time you have a little fight, it’s suddenly back on the table, along with a lot of other little friends from the past. Forgiven means: I’m not bringing it up against you ever again.

This doesn’t mean let’s be stupid. Forgiven is not equivalent to forgotten. If I’ve had fidelity issues in the past that I’m working on, and you’ve forgiven me, that does not mean that you don’t say a peep when I offer to give Maureen a ride back to her studio apartment. Part of forgiveness is taking part in building your partner’s ability to do better in the future. It means not allowing past mistakes to cloud your respect for your partner; it doesn’t mean being unrealistic about the possibility that mistakes will repeat themselves.

Sara and I don’t have any terrifically huge issues we’ve had to forgive each other from and work through, so perhaps time will tell how well we weather such things. However, a lot of relationships without huge mistakes get battered down due to constantly rehashing the same old small things. One of the things I appreciate the most about Sara is that she does not throw up old mistakes at me, and I do my best to give her the same courtesy.

Honest Communication. Remember in Jerry McGuire, how Jerry’s fiancé had that “brutal truth” thing (Jerry: “I think you added the ‘brutal'”)? She used it as an excuse to make awkward and inappropriately-timed revelations about her sexuality (“You know, I don’t think we need to do the thing where we tell each other everything!”), and pound him into the ground when he lost his job for having some principles. That’s not what I mean. 🙂 Honest communication is one of the best things about our marriage; but honesty is worse than useless without tact and respect. If I think you made a bad decision, I don’t believe that it’s right to tell you that you did right, or even to just keep my mouth shut; but that doesn’t mean I get to be an asshole to you. If you’ve got a problem with me, I wouldn’t want you to be a prick to me, either—but I do want to know you’ve got an issue with me.

It’s important to understand that part of genuine, open and honest communication, is communication. It’s easy to have the whole trifecta: respect, forgiveness and honesty, if no one’s ever saying anything to each other! But it’s still impossible to call that a great relationship.

Paridoxically, honest and open communication can very frequently lead to unpleasant conflict. Nobody wants a marriage full of conflicts and quarreling. But I strongly believe that addressing conflict is better than ignoring it, or avoiding it by keeping silent about how I really feel. In earlier years, Sara and I got into a few big, boiling, even screaming (just once) fights, because I made the conscious decision that I wasn’t going to silently allow her to nurture an attitude of bitterness about some people who’d hurt her. I’m ashamed of the screaming. But I don’t regret the argument: I’d rather have a short-term, volatile fight resulting from “open communication”, then to let something persist in our relationship that I can’t “respect”. (This was during a period of adjustment to getting a handle on a severe mood disorder that was afflicting her: she would sometimes get an exaggerated impression of genuine malice or utter lack of regard from people; she has learned to recognize

Part of open communication is being quick to communicate (with care) whenever there’s a grievance. A couple of years ago, Sara had a very, very close relationship with a young girl we knew from our church named Cassidy. Sara and I both felt like she was virtually family, and appreciated her down-to-earth, no-nonsense sensibilities. She was also a very quiet person. We still think about her pretty frequently, though we’ve had no communication with her for a couple years.

One day, Sara took it upon herself to share with Cassidy that she was feeling hurt by the way Cassidy would let her older sisters talk about her, and relay these insulting things back to Sara, but not defend her at home. Cassidy’s response was to write a long letter with a good dozen grievances of her own against Sara and our family. Some of the things in that list were ridiculous, and some were quite possibly legitimate concerns. But any of the things that might have been legitimate were from months past, or else were potentially ongoing issues—in either case, she should have brought them to our attention as soon as it was a problem. Saving them all up to dump on us the moment we have one issue that concerns us isn’t a discussion, it’s a torrent! It’s impossible to have a meaningful conversation about a dozen things at the same time. Several of the illegitimate accusations were very serious, and Cassidy refused to consider the possibility that she had misunderstood. In the end, Sara and I decided it was best to sever ties with Cassidy, as Sara simply could not emotionally survive another ordeal like this one; it would have been impossible to maintain the same level of friendship with her anyway, as she intended to “forgive and forget”, without actually addressing the problems she’d brought up, which were too serious just to bury like that.

Sara and I both have a particular sensitivity for when we’re angry with each other. When we’re pissed off, we are very aware of the rift; it’s like a sliver of glass in the brain. I’m not sure that every fight can be resolved before the sun goes down, but so far we’ve always managed to do so. We don’t have a specific policy on that or anything; we just both can’t stand to go to bed angry, and stay that way. This has the nice effect of ensuring that we communicate until we can return to a position of acceptance and affection for each other.

Sexual honesty. I suspect that a huge number of marriages suffer from an inability to honestly communicate about sexuality. Sara and I are at a point where we speak freely about who we find attractive and why. When watching a movie, or watching people on the sidewalks while driving the car, Sara and I are equally likely to drop a comment about how sexy they might be. That’s not particularly unusual these days, but it is relatively unusual to people who came from churches like ours, I think. A lot of Christians feel like, once they’re married, they’re supposed to suddenly stop experiencing (or, more typically, pretend to stop feeling) any physiological reaction whatsoever to members of the opposite sex, except for the one person they married. It might be a small thing, but it amounts to a small skeleton, a small secret that you never admit or talk to your spouse about, and I think that’s a potential bad seed.

So she’s hormonal, a waiter at the restaurant has a great butt, and her eye happens to follow him a bit while he passes the table. So I turn my head to follow a female pedestrian on the sidewalk as we’re driving by. So friggin’ what? Are we to shoot each other nasty looks, and add another tally against each other, as many couples do? Why pretend that sexual attraction is a choice, or pass judgment on each other for what amounts to aesthetic tastes?

I think where it becomes a problem, is when the “female pedestrian” can draw that kind of attention from me, while my wife can’t. My eyes are captivated by Sara every moment that she passes in front of them; why begrudge a random stranger a half-second of my fleeting attention? If you find yourself in a situation where you’re ogling strangers more than you’re lusting for your spouse, then you might look to what’s going on in other areas of your marriage: I don’t think it’s because he or she’s “unattractive”. It’s pretty damn hard to ogle your spouse more than your neighbor, if much of the time you’re too pissed-off at each other to even look them in the eye. Conversely, surface beauty isn’t such a huge deal when you’re literally married to your best friend. You become much more willing to overlook physical shortcomings. I’ll note that most, if not all, of the instances of marital infidelity that have involved people I’ve known, started life first as simple, innocent friendships, and progressed from there. The opportunity for infidelity usually arose when the marital relationship went through a normal period of difficulty, where the “cheater” then felt less close to the spouse than to the “friend”. Is it little wonder why secretaries make the stereotypical affair partners, when one begins to spend significantly greater numbers of hours with them than with the spouse?

§

Sara, you are absolutely the source of my greatest joys in life, along with the three beautiful/smart/sassy/spunky kids we’ve had together. I’ve treasured the nine years we’ve had, and look forward to many, many more to follow. Keep being you, and know that you are deeply loved.

Superautomatica

We have this coffee machine at my workplace. I want one, it works great. You just push a button, and out comes hot, fresh-brewed real coffee.

I’m surprised it’s advertised as an “espresso and cappuccino machine”, though, as it doesn’t make a true espresso, since it doesn’t use high-pressure steam to brew the coffee. As near as I can tell, it super-heats water and then drip-brews it, which is even less of an “espresso” than moka (which is also a wonderful way to brew coffee, and does use steam, but also fails to be a true espresso because the steam pressure isn’t high: if you can’t “pull” a shot of it, it ain’t espresso).

At any rate, though, it makes damn-good coffee, and very quickly. You press a button, it grabs some whole beans for grinding, heats some water, and you’ve got a cup of coffee in about a minute, maybe less. You can’t adjust the quantity of beans used, but you can adjust the amount of water used. I tend to put mine fairly low; about the second “big dot”, and then hit the brew button two or three times to make the amount I want, at the strength I want.

Amazon seems to be sold out, though, so maybe Saeco doesn’t make these any more. At any rate, though, it has given me a fairly high opinion of the company. Maybe when I have a little extra money to throw around, I’ll buy one of their current products.

GNU Teseq 1.0.0 Release

I wrote in a previous post about a project I’d been working on, called Eseq, that translates terminal escapes and control sequences to something a little more descriptive, and readable by humans.

Well, after roughly a month of work on it, including features for an “interactive” mode of operation, and a 30-page manual, it’s release-ready. It’s now called Teseq (someone pointed out the confusion Eseq might cause that it might mean “extended seq”, seq being a program from the widely-deployed GNU coreutils package), is an official GNU project, and has seen its official release as of 4 Aug.

The website is at http://www.gnu.org/software/teseq/, the manual is online there, and there’s a discussion mailing list.