Archive for August, 2007

Sometimes I wonder if I’m just too different from other people to “get” stuff.

The Bourne Ultimatum grabbed a 94% approval rating on Rotten Tomatoes. The lone voice of dissent among the Cream of the Crop was Stephen Hunter. I thought the camera work and editing was horrible. But with such a high rating, who can argue?

Apparently, I’m not alone. Roger Ebert’s website has been flooded with people complaining about Paul Greengrass’s horrible film work.

Reading through the comments is comforting. At least I’m not the only one…

Every year EA hits us with a new Madden video game. And every year there are people who decline to purchase it for various reasons: not enough new features, removal of older features that were loved, reported glitches, bugs not fixed from previous versions, etc.

If you are one of those people – if you decided to skip Madden 2006 or Madden 2007 – now is the time to upgrade. This year’s Madden is as good as they come.

To start, this is the best looking Madden ever. Not so much in terms of player models (they don’t look much different from last year), but in terms of motion. Madden 2008 is the most fluid looking version in the franchise. From the moment you launch the program you can tell: this game is smooth. The menus operate as fast as I’ve ever seen them (on the same machine I’ve used for Madden 2006 & Madden 2007), and the player animations are the best they’ve ever been.

Part of this visual improvement is due to some new (and much needed) additions to the player animation library: defensive backs now have a much more realistic set of moves to use when defending deep passes (I have yet to see the Superman Jump-Swat); some additional tackles have been added that improve the running game quite a bit; the players huddle up and break into formation right after you choose a play. The visual touches aren’t overt, but you notice the quality of the game as a whole while you’re playing. This is the closest Madden has ever come to looking like a real NFL game.

But not only does the game look good, it plays good too. The running game seems more realistic between the tackles; wide receivers on crossing routes don’t seem to get tracked down as easily by linebackers; out routes seem much more viable; long passes down the sidelines seem to have a much more realistic outcomes; punt and kick returns are much more fun to deal with. You’ll still catch an occasional linebacker making a Superman slide on skates to catch up to a receiver in the flat, but overall those sorts of imperfections seem to be fewer and farther between this time around. For the most part, this version of Madden plays as good as it looks.

Even if the visuals and game play were the only improvements over last year, Madden 2008 would still be worth owning. But the developers have added a number of features and tweaks to the system – almost all of which are worthwhile – so that gamers don’t feel cheating out of their money.

To begin with, this year’s Madden fixed one of the most glaring issues from last year’s game: the complete absence of the QB Slide. I complained about this last year and was pleasantly surprised to find that this year’s development team was smart enough to include this much needed feature. Now, when your QB runs across the line of scrimmage, you can drop into a QB slide by simply tapping a button on your controller (holding the button down causes a dive). With the proliferation of scrambling QB’s at an all-time high in the NFL, this is a feature you can’t live without.

Player Roles also return this year, but this time they are augmented by Player Weapons. Different player weapons grant different abilities. For instance, a Smart Quarterback can read defenses before the snap, revealing the oppositions play call to you. Unfortunately, while the icons for player weapons do show up in the manual, the exact benefits do not; the descriptions of each weapon are incredibly vague and don’t give you the slightest idea of what exactly the benefits will be. It seems amazing to me that with 12 months between releases of Madden, EA can’t afford to print a comprehensive manual for its game.

There are other tweaks as well. This year, there are four difficulty levels: Rookie, Pro, All-Pro and All-Madden. In recent years, players such as myself have complained that the difficultly system was inadequate: All-Pro was too easy and All-Madden was too hard. Well, All-Madden is still too hard (for me) but All-Pro mode seems to have been beefed up. In the dozen games I’ve played so far only a few have been blowouts, and I’ve seen more close games than ever before (though no losses). With the four modes it appears there’s a much better chance of finding a mode that fits your own skill set. The sliders still exist for adjusting specific deficiencies, but they’re necessity seems diminished. I had to bump pass-blocking to 75% because, as usual, my offensive line faired much worse than the CPU’s, but at least I didn’t have to max it out at 99% and still watch my QB get smothered. The other sliders I have yet to touch (although, like seasons past, there are almost no penalties called during a game, but I suspect this has more to do with the Madden Challenge and increasing the sliders may create a more realistic experience).

A Long View has also been added to the view points you can watch the game from. The Long View is at a much higher angle behind the quarterback and gives you a much better view of the field as a whole; finally you’re able to see the wide receivers to your right and left and know whether a defensive back is sitting on that hitch route or not.

Probably the most radical change to the game has to do with the kicking. The classic button-clicking method has been done away with. Instead, you kick field goals by pulling back on the right analog stick and thrusting it forward when it has reached peak power. Any deviation to the right or left is picked up by the analog stick, and if you deviate too far right or left while thrusting up or down you fall out of the Accuracy Zone which can cause the kick to veer off to the right or left. The change adds a whole new dimension to the kicking game; field goals can be an adventure until you get the mechanics worked out. Unfortunately, users of the Logitech Rumblepad may experience problems with their right analog stick not being detected during the “push up” phase of the kick. I experienced this problem with my own pad, making it impossible to kick a field goal. Some users have reported that swapping their Rumblepad to a different USB port cleared up the problem. Hopefully this oversight will be corrected with a patch.

If there’s one area of disappointment it is with the play books. I expected to see a bunch of new plays this year, and I expected team play books to match their real life counterparts more accurately. But alas, when I opened up the Seahawks playbook I saw the exact same formations and plays as last season, many of them wrongly affiliated with my favorite team.

Creating a custom play book seems to be more glitch free than last year, but unfortunately the custom play books are still limited to 10 formations and 75 plays which is totally inadequate. After creating a custom play book and using it in a game I went back to using the Seahawks’ play book because the custom one was just too small.

While most plays were not changed, there was one small tweak: on some plays, certain players will be sent in motion prior to the snap of the ball. You do not have control over this, it is a set part of the play. These motion routes are indicated with a bright green line, instead of an orange or yellow one, so they are easy to find when navigating your play book. It’s a small detail, but it adds a bit of realism to the game.

My biggest gripe, other than the small custom play book, is that the Seahawks still don’t have monochromatic home uniforms. It seems absurd to me that a team that was in the Superbowl two seasons ago still does not have its uniforms replicated in Madden correctly, yet the Arizona Cardinals, who have not even sniffed the playoffs in many years, do have their monochromatic uniforms.

All in all this is the best Madden ever. It looks better, plays better, and has more features. If EA continues to make these kinds of improvements every year we won’t have any more excuses not to upgrade.

The other day I got an email from a developer asking my opinion about some software management tools. He’s in a situation I’m sure we’ve all been in at one time or another: he’s got a very small team of developers and a limited set of resources, and he’s working for an agency that has all sorts of rules and regulations they want developers to follow. He’s somewhat new to the game of software management and wanted some advice on tools to help him manage his project.

I started thinking: I am not a project manager. I am more of a “team lead” on my current project. I’m the guy other developers come to for answers in regards to topics such as architecture, coding conventions, design decisions, technology queries, etc. But I’m also an opinionated guy, and I did have thoughts on the matter. At any rate, I started typing out a response to my developer friend when it occurred to me that this might make a decent blog post. Thus, these are my thoughts on project management…

Simplicity

My feelings on Project Management are very similar to my feelings on writing good code: Keep It Simple Stupid. I believe complexity only slows us down and makes things more difficult in the long run. If one way of doing something takes less (a) time or (b) effort than another way, and provides us with the same data or feedback, then I think the faster/easier way is superior. That seems like common sense, but you’d be surprised what guides people’s decision making processes.

Above All: Information

The number one thing you need to manage a project successfully is information. And you need it to be concise, easy to find, easy to digest and accurate. You also need this information to be updated frequently, in whatever form it takes.

No single tool exists to do all of this for you. It takes more than that: it takes good developers, constant communication, and a suite of simple, reliable, accurate tools to gather metrics and data for you and present it in easy to digest ways.

  • Simple. Because anything complicated takes too much effort to maintain, and when that happens people stop using it. This goes for tools or processes.
  • Reliable. Because tools that don’t work just add overhead to your time. Unreliable tools create aggravation.
  • Accruate. Because enough of software development is a guessing game already. Accurate metrics define from the obscure.
  • Easy to digest. Because you’re already too damn busy with everything else going on.

The faster you can digest the status of your project the less time you’ll need to spend interpreting data, which means more time for something else. The less verbose documentation you have to wade through the more time you’ll have for doing important things, like writing code, tests, and meeting customer expectations. So how can you get do this concise, clean information?

Version Control with a Continuous Build Server

This is the first step, and it is a must. You have to have version control. This may sound like a no-brainer, but believe it or not there are still developers and teams writing software without version control.

Second, the Continuous Build Server is one of the best tools for determining your project’s status. It is like a doctor’s thermometer; it helps you see, in very concise terms, what the health of your project is. Without a continuous build server you might as well use a Ouija board to figure out where your software project stands. The larger your team, the more difficult it will be to determine the state of your code, as developers will be manipulating it too frequently for you to keep up on all the changes. A build server is the ultimate distillation of status: green is good, red is bad.

Of course having a build server implies something else: Unit Tests. Without Unit Tests, a build server is just an scheduled compiler. Yes, it will tell you if the build is broke, but that’s only a small portion of what a build server can do. With Unit Tests, a build server can tell a lot more about the quality of the code as a whole. You can see tests passed and code coverage reported; you can know not just if the build is good or bad, but to what extent it is good or bad. And you can digest all of that in seconds.

Story Cards

Helmet Stickers

You know those stickers that college football coaches award to their players for outstanding plays? The ones players put on their helmets for making great plays? As the season gets closer to the end, helmets have more stickers, and it becomes really easy to see who the standout players are. That’s what Story Cards are. They are football helmet stickers.

Forget Gantt charts. Forget detailed requirements documents. Forget everything that requires extensive reading. Story Cards are the cat’s meow for Project Management because they’re simple, concise and maybe most importantly: visible. They hang on a wall where everyone from the development team to the customer can see them. They are physical representations of accountability. They are an incredibly easy to read metric for determining how far along the project is. When you see a wall go from empty to cluttered with story cards, you know you’re making progress, and so does everyone else.

Bug Tracking Sofware

No matter how well or completely you test, you’re still going to have bugs. Fewer bugs to be certain, but bugs nonetheless. Or little user complaints that aren’t really bugs: a detail someone forgot; a feature that needs tweaking; a user request that’s really too small for a story card. You need a place to track this stuff, otherwise it falls through the cracks. These are the things that add polish to a project. Bug & Feature tracking software can help. We use Dragnet where I work and we really like it. It’s simple, which is a key feature for anything we try and employ. It is extremely easy to use, which gives us no excuse not to use it.

Wiki

A project needs a hub. I think a Wiki is the perfect hub. You can put everything on it. You can link to any file of any importance on your system: link to your build server’s reports, link to your bug tracking software, link to web pages that developers should be familiar with, link to blog posts that are relevant, link to anything you don’t want to forget.

You can also publish release notes, release schedules, coding conventions, FAQ’s, or whatever your heart desires. It’s a great central location for all things related to your project. And it’s wiki software. Choose the right kind (simple to install, easy to use) and you’ve won most of the battle.

I would stay away from turning a Wiki into a design document however, or anything else that required extensive reading. It should be a place for links to tools and concise digests of information. If you turn it into a novel then developers and customers won’t use it. Besides, this is why you have a development team: to get the details. I don’t really want to read 100 pages of documentation about the project, I’ve got coworkers to tell me the details. Besides, they’re more fun to talk to. But as a hub – as a central way to tie all your important pieces together – I think a wiki is great.

Conclusion

Like I said, I’m not a project manager. But I’ve watched how my current boss manages our project and I’ve learned that his greatest source of frustration comes from not having enough information. He can’t make decisions without accurate, reliable, up-to-date information. No one can. And it is our responsibility as developers to get him that information in whatever forms we can, as concisely as we can, as frequently as we can. If I had to be PM tomorrow on a project these are the basic things I’d want to get started with. The rest of the information – whatever these tools don’t cover – would come from my employees.

This is just a short thought: A coworker of mine was running down the credentials to a programmer he encountered online. He wanted to see more of the work this guy had done, so he was looking up the person’s profile. He came across something that mentioned that the person had worked on an online gaming project. Come to find out it was online poker.

I just find the whole thing funny. I have been an avid video game player my entire life; I’ve spent hoards of hours playing Everquest and later Everquest 2. When I read the words “online gaming” the thought of gambling doesn’t even enter my mind.

Stardust

Fans of the film The Princess Bride speak of it with a reverence reserved for few movies. They have memorized it wholesale, and can recite entire scenes word for word. It has obtained a cult status among its followers; it is worshipped; it is beloved.

It was also perhaps the only sort of fantasy movie that could have been made successfully before Peter Jackson and The Lord of the Rings convinced the world that the genre could be taken seriously. The Princess Bride was not just a fantasy film; it was a perfect marriage between fantasy and comedy. And it was this latter quality that made it accessible, allowing it to earn a legion of devoted fans.

Stardust is a movie for these people. It is a movie for people who hold a place in their heart for The Princess Bride, and still have shelf space left for something else.

Startdust is the story of Tristran (Charlie Cox), a boy who, unbeknown to him, is actually the son of a princess (Kate Magowan) from another world that exists on the other side of a rock wall that lies in a field near a town in England, appropriately named Wall. Or should I say the kingdom lies in another dimension on Earth. Or a parallel Earth. It doesn’t matter. These are trivial details that are mostly unexplained, and the movie works better if you don’t try and figure out the details.

Tristran is a lost cause. He’s the subject of unrequited love. His affections are targeted toward Victoria (Sienna Miller) who isn’t interested in him; she’s after another, seemingly more capable man, who appears to have better clothes and is more accomplished with a sword. Tristran doesn’t care; he’s in love, and he’s willing to go to great lengths to prove it.

On the other side of the wall, in the province of Stormhold, the king (Peter O’Toole) is dying. He’s sired seven sons, some of whom are already dead at the hands of their siblings because they all covet the crown. As his final act, the king does a bit of magic with his prized necklace: The heir who can find it and restore it will become king.

The necklace shoots off in the stars and brings one of them back down to Earth with it: Clare Danes, who has never looked this lovely in any film she has done before. Here, she is absolutely radiant as Yvaine, the literal embodiment of a star. She glows when she is happy, but even without the special effects she melts the heart.

Through devices that I will not reveal here, Tristran meets up with Yvaine and their adventure together begins. The king’s sons hunt them for the necklace that Yvaine wears, and Michelle Pfifer, in a wicked turn as the witch Lamia, hunts the star for her own reasons. Along the way they run into certain troubles, as all such plots require, but the movie never comes across as tired or long, despite its two-hour-and-fifteen-minute running time. And while describing the complete plot of Stardust would make it sound complicated, the film is never confusing or difficult to follow.

Robert DeNiro shows up about halfway through the movie as the gay pirate Captain Shakespeare of an airship that harvests lightning from the clouds. His attempts to mask his true nature from his manly pirate crew make for some of the most humorous moments in the film.

If a gay pirate captain of an airship that harvests lightening sounds strange on paper, well, that’s because it is. But it also works, largely because of DeNiro, who has as much fun with the role as the audience does, but also because that is how Stardust works as a whole. The film, despite how strange or unconventional it may sound, works in every way once transferred into visual format. This seems fitting, since the film is based on a novella by Neil Gaiman that is largely a graphical work.

Like The Princess Bride, Stardust marries a fantastic fantasy realm with comedy and a love story. The movie never takes itself too seriously and hardly misses an opportunity to make the audience laugh, yet all the while still manages to make us care about the characters.

Princess Bride fans will note that while Stardust is funny there are few memorable lines in the film. This is not a weakness however; it is just a difference of style. Stardust has more to carry it, with some very attractive special effects and a love story that takes more prominence. It is charming and beautiful, which does not make it better or worse than The Princess Bride, just different.