Friday, November 16 2007

The just released first-person shooter Call of Duty 4 hit store shelves a couple of weeks ago, targeting a variety of platforms, surprisingly including the PC. I grabbed a copy to supplement my Battlefield 2 outings -- I still enjoy the odd late-night frag-fest to ease me gently into sleep.

I was pleased to find it priced at <$50 at my local electronic superstore: 20 years ago, terrible games for a ColecoVision cost $70-$80, so it's amazing to pay less for such an incredible product. It's even more amazing after factoring in 20 years of inflation.

CoD4 is a remarkable feat of software engineering, demonstrating significant technical excellence. As a business-class software developer, it's a bit humbling. It's pretty clear that the team is extraordinarily capable. The game is riddled with remarkable details that are easy to miss, but they're so impressive you're surprised that they didn't stop the action and highlight it to make sure the player savoured every laboriously created effect.

Probably worth mentioning that It also happens to be a lot of fun to play!

Featuring unparalleled visuals, incredibly intense combat, an interesting and immersing storyline, and a lot of gameplay variety, the single player game has been a pleasant surprise. I usually skip the often trite single-player games in first-person shooters, heading directly online for some multiplayer combat. For this one the single-player game has captured every moment of the few chances I get to game.

It isn't a perfect game, though. Like many games in the genre, the player is tightly coralled along a heavily orchestrated path (standing in stark contrast with even dated games like Operation Flashpoint, which allowed the player to basically do whatever they wanted within the confines of the island). The game features invisible triggers that cause predictable outcomes: When I pass this line the two guys will appear behind that door, and then I'll move right and the guy will run out at the top and the five guys will march in the door at the end of the hall.

It does randomize to a small degree, but I can't imagine that there's a lot of replayability.

One noteworthy attribute of the PC version -- what inspired me to write about it on here given the various entries about quad-cores over the past while -- is its ability to scale out across multiple cores. The following is a graph of CPU usage on my otherwise unladen quad-core PC.

Call of Duty 4 Multicore CPU Usage

The drop-off at the end was the period of time while it switched out to the desktop so I could take a screenshot of the task manager. While actual gameplay was underway, the application consumed about 75% of 3 cores at times, peaking up to 75% on the fourth core, using this to apply the physics model used extensively throughout the game. Further evidence of the technical excellence is the fact that they didn't just spin out threads for each core and then busy wait for the duration (which would have fixed each at 100%) -- as many games sadly do (Netscape Navigator's download manager used to do that) -- but instead they have some finite amount of calculations they perform and then they properly yield to any other tasks on the system that might have work to do.

A brilliant game, making great use of modern hardware.

   
Related Entries

Reader Comments

"surpri_z_e" - shurely shome mishtake?
Dunc @ 11/16/2007 1:09:15 PM
But I just want the prize, damnit!

Thanks Dunc
Dennis Forbes @ 11/16/2007 1:27:20 PM
It's a truly great game! I think Crysis is even better.

That definitely looks indicative of multi-core scaling-- but it's largely moot, unfortunately. You'll be bottlenecked by the video card *long* before the CPU is a limiting factor. Unless you are running a high-end card at an absurdly low resolution...
Jeff Atwood @ 11/16/2007 2:54:38 PM
Hey there Jeff.

The truth is that my 8600GT -- a low-end video card, but better than the overwhelming majority of the public has in their PCs -- is a massive bottleneck in the game. I do have to run at low resolutions, and I do have to turn features off. Have to get me one of those 8800GTs or better to actually play at a decent resolution.
Dennis Forbes @ 11/16/2007 5:04:33 PM
Yes! Get an 8800GT, and buy Crysis as well. It's *incredibly* punishing on the video card. I run my 8800 gtx at 1280x720, and even then on mostly "very high" settings I dip into the 20s regularly. But the game is revelatory. Truly next-gen in every sense of the word.

COD4 is also excellent of course! It's a great year for gamers..
Jeff Atwood @ 11/16/2007 11:07:14 PM
Wow! Interesting! That’s really inviting. I’ve been avoiding games since the day my laptop came back after a week of under repair. The breakdown was due to the downloaded games. Since then on, I vowed never to use my laptop for pleasure. But with you post, I think I’m going to search for some reason to break my own vow.
portrait artist @ 12/7/2007 12:07:44 AM

Add Comment

Name *:

Email Address:

(your email address is not displayed)
Website:

Comment *:



About the Author
Dennis Forbes Dennis Forbes is a Toronto-based software architect. While focused primarily on the .NET and SQL Server worlds, Dennis frequently ventures outside of this comfort zone into game development and image processing. He has been published in several industry magazines, has been quoted in the Wall Street Journal and has been interviewed by NPR.

He is a vice president and lead software architect at an innovative New York City hedge fund back-office services firm.

Dennis has been working on solutions for the financial, telecommunications, and power generation markets for over 15 years.





 

Dennis Forbes