Practical Rendering

I was thoroughly impressed by Practical Rendering and Computation with Direct3D 11 by Jason Zink. Microsoft’s Direct3D API is certainly not for beginners, and neither is this book. But, at the same time, the author does a great job of explaining the material in a way that is approachable. The book assumes you are already comfortable with C++, and doesn’t hold your hand with the syntax. This is great, since you really should have an understanding of C++ before jumping into 3D graphics programming. It’s also not the kind of book that expects you to type in long pages of example code into your computer. In fact, there are not really any complete examples listed in the book at all. Instead the author chooses to highlight specific API calls and explain how different techniques can be implemented using the GPU.

This is in stark contrast to the last DirectX 11 book I read by Frank Luna. Luna’s text was great, don’t get me wrong. But it was very focused on producing functional demos to showcase certain effects (like shadow mapping or ambient occlusion). Instead Zink chooses to go totally knee-deep into the API itself and, as a reader, I came away much more confident that I understood the material. Just as an example, early on in the book there is a 100 page chapter just on resources. Most other tutorials would briefly show how to create a buffer, and then move on other stuff. Not here. In fact, the next 200 pages of the book is just about how the pipeline works. It’s really great, and rare to find such insight.

Don’t be fooled, there is certainly code in these pages, and there are a few examples. The book covers some topics like deferred rendering, multi-threaded graphics, dynamic tessellation, and physics. What I liked about the examples is that only the bare minimum amount of code was shown. Just enough to understand the key concepts without getting bogged down with boiler-plate code. It also made reading along much nicer, without having to feel like you need to get up every 5 minutes and type something in on a PC. Plus, the source code for the examples, and the author’s engine, are available for free online. So no need to type either way.

One thing I really enjoyed was the discussion on DirectCompute and on compute shaders. There are hardly any books covering DirectCompute, so it’s great to see so much space dedicated to the API. I am very interested in using this in my own engine, though it’s difficult to find information on the topic. Practical Rendering and Computation includes several chapters using compute shaders, for example to do image processing (blur). There was also a good amount of space given for tessellation. So if you are at all interested in these specific topics, it’s pretty much a no-brainer to get this book.

One other thing. Mad props to Jason Zink for being available to the community. You’ll find him on the gamedev.net forums, even helping out newbies with their 3D questions. Much respect.

All-in-all, this was quite an eye-opening read. I mean, after reading the Luna book and doing some online tutorials, I thought I knew about DirectX 11. Well, I knew something. But this book went much further than what I had previously seen on the topic. I would even recommend reading this *before* Frank Luna’s book, as I think that would flow a little better. Get the foundation solid, and then start learning how to code specific effects. Anyway, this book comes highly recommended by me if you are attempting to learn Direct3D.

Shadowrun Returns

Let me just say this right off the bat: Shadowrun for Super Nintendo is my all-time favorite game. All time. It was great. Set in a future cyberpunk theme urban sprawl, you are basically a gun for hire. Or at least you were. You wake up in a morgue back from the dead with no memory of your life. You spend the rest of the game trying to discover what happened. It had RPG elements, action elements, adventure elements. You could hack computers and get money or steal information. You could go to a bar and hire guns to help out on your mission. It had an innovative dialogue system where you would get words in your “dictionary” that you could ask people. You started with nothing, but as you talked to people you would get more words to ask. It was awesome. Especially for 1993.

While Shadowrun Returns might not quite match what I remember of the original SNES title, it does a damn fine job at what it does. Basically the world is similar, and even the main character from the SNES game makes a cameo. Magic has returned to the world, along with ogres and elves and all that. Shadowrunners rule the streets. From simple hired guns (street samurai) to hackers (deckers) to mages, there are lots of different classes to choose from. The story follows a string of mysterious murders and the investigation to find the killer. Well, there is more than that but I don’t want to give anything away. The game is what I would call a turn-based strategy RPG. There are lots of RPG elements and stats you can level up. This effects everything from your hit points, to the chance of success with any particular weapon. So this takes a note from the mechanics of the original pen-and-paper game. This works well, and the combat is still satisfying. There are also some cool missions, or at least one really good one at the end, where you have to hack into security systems and fight of guards on an espionage mission. Good stuff.

So the game is great, and you should buy it. However, I did feel like it was extremely linear.  In the Genesis version of the game (1994) you could take all sorts of side-missions to beef up your stats or make money. It was awesome. They had drug deals, extractions missions, VIP escorts (no, not that type of escort), hacking, the whole nine. In Shadowrun Returns there is only really one side-mission in the whole game. So you are basically watching a good interactive movie. Granted, it’s a 17-hour movie, and it’s great, but I would have liked more choice. There is also very little exploration, it mostly feels like an “on-rails” affair. That said, it’s still a blast and any fans of cyberpunk fiction will probably get a kick out of it.

All in all a great addition to the Shadowrun universe, and a refreshing break from all the first-person 3D games that are all the rage. I do wish it were a little longer, and more of an open-world, but I guess you can’t have everything. However, it appears the modding tools are good, and there is already a good amount of user generated content available. Plus, a DLC campaign is slated for early next year. This game has my cyber-seal-of-approval.

Vernor Vinge - Rainbows End

I went into this book not knowing much. Well I heard it was set in the future, and was recommended on some internet forums. So that was enough to pique my interest. After listening to the 14+ hours of the audio-book, I’m not sure I can say I know anymore.

OK, I will be blunt. I don’t think I enjoyed this journey. It was not that it was badly written. Vernor Vinge seems like a competent writer. It’s just that the story did not grip me, nor were the characters particularly recognizable or likable. I mean, I was not expecting something on the level of Snow Crash, but I was hoping for at least a passable sci-fi novel. I came up short.

When I say the story was lacking, maybe I should be more specific. I am not sure what happened in this book. In fact, I am not even sure anything happened at all. Well, that’s not entirely true. I know the main character is some old geyser that gets out of the hospital and doesn’t know much about modern technology. And they have these wearable computer contact lenses. That part is actually kind of cool. So the beginning half of the book is about this old guy trying to get hip to the new tech, going to high school again, and stuff like that. There is dialogue with his family members. There is some hint of hackers. This is all vaguely interesting, but a real story never materializes. I guess I am used to books where you are hooked in from the first page. Don’t expect that here. I kept thinking to myself: “OK, this is going to get better.” but sadly it never does.

Granted, about 10 hours into the book finally something, and I mean anything, started to happen. Without any spoilers, the characters go on a dangerous mission together. However, if a book has to make the reader wait until the end for even a hint of excitement, they have failed. To make matters worse, the whole premise didn’t make much sense to me. Weak characters, weak story, really no reason for me to care.

I feel bad, actually, giving this book such a horrid review. I am usually pretty forgiving, and I did give this title and honest chance. Unfortunately it let me down and there is not much more to it then that. Not sure what other people were talking about when they recommending this book. I appreciate the effort but, sadly, the book doesn’t deliver.