Catching up (part 2)
My previous post contained some of the links I’ve gathered in the last 6 months. Here’s another post to try to clear out the backlog. This time covering gameplay and graphics. Read the rest of this entry »
My previous post contained some of the links I’ve gathered in the last 6 months. Here’s another post to try to clear out the backlog. This time covering gameplay and graphics. Read the rest of this entry »
As many have probably noted, I haven’t had much time or energy for updating this blog in quite a while. To rectify this I thought I’d make an effort to at least share the many interesting links that I’ve gathered since I last posted. In fact, there are so many links that I probably have to do this in parts. Let’s start with those relating to tools, process, and software. Read the rest of this entry »
There are many things that can kill the frame rate in a modern game, and particles are up near the top of the list of causes. A key contributing factor is that particles are subject to a lot of overdraw that is not present in your opaque geometry. Read the rest of this entry »
Some CPU instructions sets offer a way of selecting bits from either of two registers based on the bits of a third register. For example, the SPUs of the CELL in the PS3 have the selb instruction:
selb rt,ra,rb,rc
The result of selb is placed in rt and each bit of rt is either the corresponding bit from ra (if the bit in rc is 0) or from rb (if the bit in rc is 1). Read the rest of this entry »
For several years now I’ve participated in the physics tutorial session at GDC (along with Jim Van Verth, Gino van den Bergen, Erin Catto, Brian ‘Squirrel’ Eiserloh, and Marq Singer). One section I’ve covered in some detail is robustness and within this area I’ve stressed (amongst other things) the importance of distinguishing between absolute and relative tolerances when performing comparisons of floating-point numbers.
I won’t go into details about why you would want to care about how your floating-point numbers are compared. (Detailed information can be found in part in my GDC presentation slides and in much more depth in my book.) Here I will assume you already know why you care, and I will just note that absolute and relative tolerances are tested as Read the rest of this entry »
A while ago a local developer (hi Rick) asked about what I thought was the best way of ordering draw calls for sending to the graphics chip. As the topic came up again in a discussion at work recently, I thought I’d share my thoughts about what I think is the best approach these days. Read the rest of this entry »
Third time’s a charm they say, and as I’ve talked about pathfinding twice before (in Don’t follow the shortest path! and Aiding pathfinding with cellular automata) I thought I’d charm everyone with a third pathfinding article. This time I’ll talk about how we can reduce the memory consumption on a commonly used pathfinding algorithm by about a magnitude! Read the rest of this entry »
Since I’ve dissed patterns and OOP recently (and rightly so) I thought I’d be a little positive and recycle an email I sent a friend a while ago. This someone was curious about functional languages after I had mentioned them over dinner as he had no experience with them. I absolutely think that if all you have ever used is an imperative language (exemplified by C++, Java, C# and other similar crap) I highly recommend spending (at least) several days learning a functional language. You’ll be a better programmer for it. (And why not learn some logic programming too, while you’re at it.) Read the rest of this entry »
Some anonymous soul emailed me regarding my “Design patterns are from hell!” post, arguing that “somehow, knowing patterns exist is the same as knowing different data structures exist” and that “understanding the different ways for creating objects (hello creational patterns) is like understanding the implications of deciding to use a dequeue rather than an array or rather than a linked list.”
I was also bravely asked what I thought about these statements. Well, guess what, since one can never diss design patterns enough, this is what I think… Read the rest of this entry »
I thought I’d post another summary of some (mostly) recent blog posts and links that are worthy of a read, in case you didn’t read them already. Here goes… Read the rest of this entry »