Graphical shader systems are bad

It is very easy for programmers to be seduced by pretty tech. Case in point: graph-based shader systems. Unless you’ve been sleeping under a rock, you must have noticed that these systems have become haute couture in the rendering world. Just so we’re clear, what I’m talking about are systems where you can construct shaders in a graphical UI, stringing together Lego-like building blocks of shader code snippets, with connecting lines. Read the rest of this entry »

Comments (21)

Salary of a game programmer (artist, designer, or producer)

As a technical director for the SCEA Santa Monica studio I do a lot of interviewing and, to a lesser degree, hiring of programmers for the God of War team. At some point during any hiring process the issue of salary inevitably comes up — as it should. Often that bit is painless and company and candidate will find an offer that makes both parties happy. Occasionally, though, there will be a difference in what someone is asking and what a company is willing to pay. There are several reasons this can happen, but one particular reason I wanted to address through this post: a lack of knowledge of prevailing wages in the industry on behalf of the candidate. Read the rest of this entry »

Comments (21)

Secrets of a scalar triple product identity

In my post about the evilness that is coplanarity I asked to be reminded to blog about the scalar triple product. Read the rest of this entry »

Comments (3)

Aiding pathfinding with cellular automata

Anyone who has ever experimented with Conway‘s Game of Life or any other cellular automata (CA) know they can be very fun to play with. You can easily lose several hours in e.g. George Maydwell’s awesome Modern CA site; his CA evolution lab is particularly cool. If you like to write your own CA code, there are some good efficiency hints on Tim Tyler’s CA page. (As a side note, Tim also has a good — but NSFW, due to boobie pic — rant on why the entertainment industry should be destroyed.) Read the rest of this entry »

Comments (8)

Don’t follow the shortest path!

The A* algorithm is perhaps the most ubiquitous algorithm in games but also seemingly one of the more misunderstood algorithms. Not in the sense that people don’t know how to implement it (they do) but in failing to use it properly. Read the rest of this entry »

Comments (14)

Design patterns are from hell!

The “Design Patterns” book is one of the worst programming books ever. Yes, really. I’m 100% dead serious when I say that I think it has set (and will continue to set) the progress of software development back by decades. Why?! Let me offer up a parable; I will call it “The Plank.” Read the rest of this entry »

Comments (49)

A brief graphics blog summary

With the signal-to-noise ratio of the internet at an all-time low, here are some fairly recent graphics-related blog posts from across the world that I think contributed positively to the SNR. Just in case you missed them the first time around. Read the rest of this entry »

Comments (10)

Learning patterns and the game of Flip

A foolproof way of separating the men from the boys, the women from the girls, or perhaps just an old programmer from a not quite so old programmer, is to mention the books Basic Computer Games and More Basic Computer Games and see if it results in frowning never-heard-of-them faces or strange dreamy looks of people recollecting an era long gone by. As their titles imply, these books were collections of games listings, all written in BASIC. (And originally published in the equally famous Creative Computing magazine, now defunct, R.I.P.) Read the rest of this entry »

Comments (2)

Programmers wanted!

If you’re reading this blog, other than clearly being a person of integrity and impeccable taste, odds are you’re a programmer. As such, I thought I’d take the opportunity to mention that we have a few really nifty programmer openings on the God of War III (PS3) team that could just be the perfect thing for a nifty person like yourself.

The positions we’re hiring for are graphics programmer, tools programmer, and online gameplay programmer, and the key qualifications are that you have your head screwed on the right way (i.e. counterclockwise, and very tightly) and have the appropriate experience and skills in one of these areas (other qualifications listed in the job descriptions). While these are all senior positions, we might just make exceptions for young or inexperienced people if they’re sharper than a tack.

We’re a pretty cool bunch of people (at least, our 100% retention rate on programmers suggests we are) who work on some pretty cool high-profile games and, honestly, you could do much worse than decide to work with us.

We also have a position open for a build engineer. At the most basic level this position involves being responsible for making, testing, and deploying builds to the team on a regular basis. What we’d love to see is an talented and enterprising individual who would completely take charge of our build and test machines and their scripts, and help take the process and its automation to the next level. And more! It’s all up to you! This is a great entry position for someone fresh out of college with a CS degree (or similar) to break into the industry (or, if you’re already in it, to switch gears into a new career).

If you’re at all interested in any of these positions, send me an email or a resume. Discretion guaranteed, of course. Finding my email address is your first (not very hard) interview test!

Information about other jobs (artist, animator, designer, producer) available at our Sony Santa Monica studio can be found listed in the SCEA jobs database.


Crunching your abs

That min() and max() are highly related to each other probably doesn’t come as a surprise to many people. After all, we have some pretty obvious identities such as:

min(a,b) = -max(-a,-b)
max(a,b) = -min(-a,-b)

What may not be as immediately apparent is Read the rest of this entry »


« Previous Page« Previous entries « Previous Page · Next Page » Next entries »Next Page »