Not logged in, Join Here! or Log In Below:  
News Articles Search    

Submitted by Mason McCuskey, posted on February 21, 2002

Image Description, by Mason McCuskey

A spattering of screenshots from the sample programs of my new book, Special Effects Game Programming With DirectX 8.0, available for USD$50 wherever fine game programming books are sold.

This 913 page book contains complete code and tutorials for 13 commercial-quality effects:
  • Fire (lower-right screenshot)
  • 2D Water
  • Image Feedback (lower-left screenshot)
  • Image Warping
  • Clouds
  • Image Manipulation (Blurring, Sharpening, Edge Detection)
  • Transitions (cross-fades, wipes, melts, and more)
  • Advanced Particle Systems (driven by a scripting language)
  • Explosions (upper-left screenshot)
  • Guns and Projectiles (middle-left screenshot)
  • Lens Flares (middle-right screenshot)
  • 3D Water (upper-right screenshot)
  • Vertex and Pixel shader effects
  • Also included are chapters and sample programs covering ALL of the new DX8 features (audio scripts, shaders, DirectInput action mapping) as well as some advanced C++ techniques.

    Full-sized versions of these screens (and other sample programs!) can be found on the book's product page.

    Editor's note: If you have comments about the image itself, please post them on this comment thread. If you have comments about the book content, please post them under this resource summary.

    Image of the Day Gallery


    Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
    Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.
    Mason McCuskey

    February 25, 2002, 10:49 PM

    good eye. It is the old-school 2D demo effect.

    It was fun to write, I haven't played with palettes in years. Makes you wish the 256-color days were back, and doing waterfall effects was as easy as palette shifting a few shades of blue and white!

    Mason McCuskey

    February 25, 2002, 10:50 PM

    Yeah, they're overdone on purpose to illustrate the concepts.

    The chapter on lens flares begins with a stern warning NOT to make lens flares this noticeable. :)

    Mason McCuskey

    February 25, 2002, 10:52 PM


    All the code is C++. The bad frame rate comes from the fact that each texel must run through a blending operation inside the CPU. I wrote it this way so that the effect was easy to understand. You could probably implement the same thing in pixel shaders and see frame rates in the 100's.

    Mason McCuskey

    February 25, 2002, 11:00 PM

    I think both arguments are correct. I used to really enjoy playing MUDs precisely because there weren't any effects (or graphics, for that matter!). Imagination is sometimes the best renderer.

    There's also games I loved because of the graphics and the effects. Half-Life is a good example... also Max Payne and Serious Sam.

    But it always has to be about gameplay first. Effects can only disguise the fact that a game sucks for so long. But good, subtle effects can turn a game with good gameplay into a classic.

    Mason McCuskey

    February 25, 2002, 11:07 PM

    There's a book coming out that's going to be called (I think) ShaderX. It's a collection of articles from several authors explaining cool things you can do with shaders. I was one of the contributors until a higher-priority item came along. Nevertheless it looks like it's going to be a great book.

    I think effects programming is more than just shaders. It's a lot of particle systems, image manipulation, physics, etc. One of the reasons I really enjoyed writing the effects book was because it touched so many different areas of coding.

    Mason McCuskey

    February 25, 2002, 11:17 PM

    I've also written a lot of tutorials for various web sites. I answered a couple of questions for flipcode's Fountain Of Knowledge, and I've written a lot of stuff for as well.

    Honestly, you're right - eventually I would have written all this stuff and put it on the web. The money I got only sped up the process. There aren't many things in the world that can stop me from making games. But, making money is one. :) Since I was getting paid I could justify stopping my own game development projects and writing for a year.

    Of the 913 pages, about 400 is newbie DirectX stuff. I cover everything new in DX8, stuff like audio scripting, shaders, action mapping, DirectPlay voice, etc. If you're really advanced you probably won't find much in these first pages to get excited about.

    I don't do a lot of code dumps. Actually what takes up a lot of space are figures. I tend to learn things visually, so I tried to put in as many figures as I could. There are lots of flowcharts and stuff.

    Mason McCuskey

    February 25, 2002, 11:26 PM

    If you just stole the source code, I'd say you're missing out on a lot of the book. The point of the book was to *completely* explain a few common effects. I know when I was first learning this stuff I had a tendency to just cut-and-paste stuff together without really understanding it... I really wished there was something out there that took me slowly through every step of the process.

    I hope that the people who read this book run the samples and say, "Oh, that could be made cooler by doing this." I didn't write really advanced, completely impossible to understand effects that you could take and drop as-is into your game. Instead I wanted to show some basic stuff and then explain how you could go from there, taking what I've written as a base. The thing in effects programming I think is the most fun is looking at someone else's effect and going, "hmm, I could do that better if I did this..."

    BTW - There's a

    This thread contains 37 messages.
    First Previous ( To view more messages, select a page: 0 1 ... out of 1) Next Last
    Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.