Friday, May 27, 2005

Don't Make Eye Contact

One of my original stated goals of this blog (which, gasp, now is by far the longest living, most frequently updated blog or website I've ever had!) was to chronicle my adventures as a newbie in California. Okay so I've not really done that very much so far.

Largely the reason is my transition to a Californian has been largely a smooth and enjoyable one. I really like the Bay Area, and have been enjoying living here quite a bit. Gas prices are a little higher than North Carolina (though not nearly as much as I expected), and there are lots more people, but by and large, life is life and it isn't that different. I'm sure that wouldn't be the case if I lived in San Francisco instead of Sunnyvale, but nonetheless, the transition has been peaceful.

One thing stands out, though. One thing that bothers me a bit. Strangers are less friendly here. I'm not saying people are rude or that they go out of their way to be gruff, but there is definitely a less friendly feel to the area when you're in public. People make less eye contact. They smile and nod less. Perhaps it is a southern thing, or perhaps it is just a small city thing, but I spent the first twenty seven years of my life smiling, making eye contact, and generally being friendly to strangers.

At first, I did think it was rudeness. But over time, I started to realize what happened if you made eye contact, if you smiled, if you nodded -- people asked you for money. In the eight or so years I lived in larger cities (Nashville, Raleigh, Durham), I was asked for money maybe 5-6 times. In less than two months, I've already reached that number here in California. I guess the aloofness is a defense mechanism.

Passing by someone on the street who asks for change always makes me feel like an asshole. I have a good job; I can certainly spare some change... but I never do. I always wonder what the person will do with the money. Is it really for food, or is it to satisfy some kind of vice? But then I wonder if it is even right for me to judge or to use that as a condition... after all, an addict who can't get his fix is just as miserable as someone who hasn't had a good meal in days. So is it right for me to withhold or handout based on that?

A friend of mine suggested handing out gift cards for grocery stores. I think I'll start doing that. It's not like handing out cash, mostly. I dunno.

But until then... don't make eye contact. :(

Wednesday, May 25, 2005

Jesus Hates Perl

My pal Jesus hates perl. He's a Java guy and Java is the only language he likes. That's okay, he's still my pal anyway! But I feel the need to respond to his blog, as it is, of course, wrong, and he likely is complaining about code I wrote!

First he complains about infix conditionals, such as:


return 0 unless $condition;


There are a couple of reasons this pops up in perl. One is that you can't say this:


if ($condition)
foo


I know, I know, it's weird, but you have to use braces, even if the block is just one line. That's a bit annoying, so people often will reduce it to an inline conditional (not just with return, but with other clauses as well).

The other reason -- and the reason I tend to use infix conditionals -- is that they let you emphasize the result over the condition. In most languages, the condition always comes first, inside the if clause. But it isn't always true that the condition is the more important part. For example:


print "The printer is on fire!\n" unless $quiet;
$obj->foobar() if $obj->can("foobar");


The more important thing here is the message, not the check, and so you see the message first. This is more a stylistic issue, but perl lets you be expressive, giving you the ability to emphasize one point over another. I like this, too, as I think it actually can lead to more readable code. Read this aloud and you will see the perl version is more natural-sounding:


if (debugging) {
printf("Something broke, check your stack\n");
}

vs

print "Something broke, check your stack\n" unless $debugging;


He also complains about types in perl; well, many other people have debated strict typing vs loose typing, and I'll let them wage that war.

His last complaint is about grep. Argh! grep is a wonderful function, because it is one of the parts of perl that allows for a more functional-style of programming. I guess Jesus doesn't like functional programming, which is a pity, because functional programming can be very handy (and, not to mention, very efficient).

But Jesus is a Java programmer, so functional programming is all but foreign to him, as is the 'relax, types will figure themselves out' approach of loosely typed languages.

But that's okay! Jesus is still my pal!

Sunday, May 22, 2005

Review: Psychonauts

I picked up Psychonauts last weekend for a couple of reasons. One, I was looking for something new to play. Two, I wanted to find something that would be enjoyable a la my previous blog entry. Three, I literally grew up on games Tim Schafer either made or was part of -- Maniac Mansion, Curse of Monkey Island, Day of the Tentacle, etc. I liked each of those games, and they provided some of the few times when playing video games that I really and truly laugh out loud.

So, like I said, I picked it up last Saturday. I immediately was hooked on it. The game itself is a platformer, though it has so much personality and the theme of mental exploration is so well done that it is utterly enthralling. You play a ten year old boy named Raz who sneaks into a camp where psychics are trained to become Psychonauts (think secret agent psychics). Before long, a nefarious plot begins, and you are swept into it.

The game consists of a moderately sized campground where you explore to find other campers and counselors... whose heads you jump into! Great idea, very well done. Basically you pop into peoples' minds and those are the core levels of the game. Each person has a distinct personality which makes you look forward to what being in their head would be like. Like most platformers, you progress through levels and pick up various things, though instead of random coins or some other stable of platformers, you gather things appropriate to someone's mind -- figments of their imagination, psychic baggage, mental cobwebs, etc. The psychic theme is woven perfectly into the game and creates a vivid world to explore.

Of course, the idea of popping into peoples' brains has tremendous comic potential, and Tim and his crew don't disappoint. The characters in the game are funny, demented, bizarre -- and that's until you jump into their heads. Once inside, the truly demented nature of the game comes out. Without giving away anything, let's just say that repairing the psyche of a bipolar nutcase or uncovering and defeating repressed memories make for excellent atmosphere and gameplay.

Speaking of gameplay; it's quite good. You start off with a basic set of powers and get more as you complete various parts of the game (some of which are appropriately given to you as merit badges -- it is a camp, after all). Those powers also evolve over time, though not in ways that drastically change gameplay. All in all, though, a solid concept and execution. Additionally, the environment is quite interactive. You can't destroy buildings, but you can use telekinesis, pyrokinesis, clairvoyance, etc on almost anything in the game... including woodland life. PKing squirrels is rather funny, and accompanied by nice quips by the protagonist such as "Ooops, I didn't mean to do that."

Overall it's a great game. I wish it were a bit longer (I completed it with about 14 hours of gameplay and collected maybe 90% of the collectible items in the game) so it may be better suited for a rental. But if you think you'd like it, go buy it! It isn't getting much hype, but it is a truly great game. It is clear the makers crafted it with care and love. This is exactly what we as gamers want -- new material, people being creative, and making great games. We don't want cookie cutter games, so support the underdog! Heck, just go trade in your umpteen "mega hit" games you don't play anymore for Psychonauts, if nothing else.

Saturday, May 14, 2005

What makes a good video game

So I was discussing video games today with Greg and he mentioned Jade Empire. For those who don't know, Jade Empire is a new game from Bioware, the folks who made the excellent Star Wars: Knights of the Old Republic (and it's very good, but not quite as excellent sequel). Before its release it was hailed as being one of the big games for the season, with emphasis on the real-time martial arts style combat inside of an engrossing, story-driven RPG. Initial reviews were good as well, and they only got better as time went by. Excellent sign! So I bought it. Not really because of the hype (though hype does help bring games to peoples' attention) but because I liked this developer's previous works and because the reviews sounded interesting.

Sadly, I was wrong. I should have picked up on details in the reviews I read about 'simplified' RPG elements -- simplified inventory, few new skills (in a flat list; no tree like, say, Diablo II). A few reviews may have mentioned something about the combat being somewhat of a let down, too. Shoulda picked up on that, too. Ultimately I was disappointed by Jade Empire, as I was by Fable before it (another hyped game, but then again, Peter Molyneux would hype ice to Eskimos... well, he would if it were his ice).

To me, what it came down to was more or less one-dimensional gameplay. By that I mean as the game progressed, there was little that changed in how you played it. Talk to characters, explore dialog tree, kill opponents. Which really is the essence of most games, but the ones that are enjoyable make it change over time. They let you gain new abilities or weapons that you need in order to progress. Jade Empire, though, is never really difficult, and although you can gain other fighting styles and use weapons, you only need to specialize in one since they are all largely the same. Zero depth. Likewise, combat itself is sadly lacking. You can block, but basically you never want to because it is better to dodge. So a large chunk of the already limited combat mechanic is gone, poof. Never there, really.

Some people won't mind that, but I find it surprising how many positive reviews the game really received. Go check metacritic or gamerankings to see just how positively it was received. I think this is sadly a result of the hype; most reviewers don't seem to be willing to diverge from the trends of other reviewers or to pan a highly hyped game. They do seem to tell you the truth about a game, but usually in the text, not in the final number. Another oddity in this department are sites like gamespot (which I actually like in general) -- they rate a game on five axes, for gameplay, graphics, sound, value, and tilt. Except, if you look, you almost never see any divergence here! I've yet to see a game get a 10 for graphics but a 4 for gameplay. There's something fishy there.

Well, that was a rat hole. Back to the topic. I personally think what makes a good video game is gameplay. It all comes back to gameplay. I find a game engaging if, while playing it, I want to see what is coming next, what the publishers will throw at me and what they will give me to overcome it. For instance, I loved the old Megaman games because of the utterly brilliant mechanic where every time you beat a boss you got their powers to use in the rest of the game. How awesome is that! I found the recent God of War to be likewise a thoroughly wonderful game. Not only did it give you a lot of variety in the gameplay, but you gained abilities as the game went on that changed how you played the game. More combos, different weapons, new powers -- all added up to new ways to interact with the game.

In terms of other metrics, I view them as less important, save one -- plot. Plot matters, too. I'm not a huge fan of the immersive 'oh wow I am totally in the game, and I customized this avatar to really represent my angst-ridden inner soul' games. I don't necessarily mind them, but I'm not really playing the game to change who I consider my identity to be. Oh, on this note -- game publishers! I don't really care if I can change my character's name! But I do care that spoken dialog ends up being stilted and peculiar in the games that DO let you pick your name because they can't have prerecorded all possible names... so you're always 'you' or 'hero' or 'that guy' or whatever. Pet peeve. Plot does matter, though, because it can help pull you to the next part of the game. It ties together the gameplay and helps establish an interest with the material.

Graphics are either bad, acceptable, or great. That's about it. And the scale changes over time, obviously. I was very disappointed in Doom 3. Sure, the graphics were great. Top notch. Awesome. Amazing. But the gameplay was absolutely nothing new, the story was terrible, and the "ambiance" of a creepy, shadow-ridden base on Mars really was just annoying because there was rarely enough light to see the cool graphics. And yet look at how many great reviews it received. Reviewers were afraid to grade it poorly.

Sound is either annoying, tolerable, or good. Bad voice acting really can ruin things, and theme-specific sound effects can help with immersing yourself in the game (the Star Wars properties come to mind in this; I remember as far back as the original X-Wing how much like the movies absolutely every sound effect, er, sounded).

Longevity, eh. The market is such these days that there is almost always something new and pretty good out there. I very rarely go back and replay old games. But I am busier than the average high schooler (but, hmm, the average gamer is in his 20s... odd). If I get about 20-25 hours of gameplay from a game, I'm happy. If it takes 40 to finish, chances are, I won't do it, because I'll see something else new and shiny and go play it instead.

So anyway, that's my long-winded critique of the game industry today. Give us gameplay. The rest will follow. Show us your designers and engineers can be creative and give us experiences no other game has ever before, don't just recycle the same gameplay into your own packaging. Give us more Lumines, more Psi-Ops, more X-Men Legends, more Viewtiful Joes, more Ninja Gaidens, and more Gods of War.