Us vs PS3

July 1st, 2009

Recently Activision boss Bobby Kotick threatened to stop supporting Playstation 3. Now, this is the most ridiculous thing I’ve heard in a while and it’s obviously just a bluff. Not even funny. Kotick’s track record of flame war inducing statements are infamous and this is just one of them. I won’t even bother to comment on that.

But his alleged reasoning is something everyone and their mother has talked about. Namely, “PS3 is oh so hard to program” syndrome. Having about two years of experience on PS3 programming and in the comfort of my own blog, I think I can chime in. Note that if you’ve programmed for PS3 before, chances are you already know all this. I’m not going to get technical here.

PS3 is yes, a radically different architecture. It won’t love you back if you don’t treat it right. Without the right adjustments, all you’re going to get is the performance of an old Mac G5 processor, at best. That means if you already have a piece of code that you’re trying to run on PS3, you’re in for big trouble. PS3 code must be carefully designed around PS3’s specific needs. But here in the game industry, we have a lot of legacy code that is not ready at all for massive parallelization. That’s where the mess begins.You’ve probably realized that most early PS3 games were crap, just because of this reason. It’s also the reason why so many PS3 games are delayed or cancelled.

So at this point, should we blame Sony for all this trouble they put us through? I don’t believe so. Yes I could (and do) criticize many architectural decisions of the PS3, but that’s not the point. We, as software developers have to make the best of whatever hardware is given to us. We don’t have the luxury to complain.

Moreover, PS3 is just the beginning of the paradigm shift we’re about to go through. Sooner or later, we’ll have to deal with writing highly concurrent code and this transition isn’t supposed to be an easy one. There’s a great chance that the changes we’re making in our codebase will benefit the next XBOX as well, which is bound to be more horizontal than vertical (just like every other modern high end hardware).

Making a multiplatform game these days is very difficult. That’s also probably the biggest issue that’s hurting the aforementioned Activision boss. I can understand why this is frustrating to many developers who have to spend disproportionate amount of time and effort on only one of their three target platforms, due to the fundamental design challenges. But then again, we (especially Kotick) make money off it in the end, albeit a little less than X360.

For an exclusive PS3 developer the complexity should be an order of magnitude less, and I have to say I’d love to work on an exclusive title to be able to concentrate on making the best damn game possible.

Now one thing that we have the right to complain is the development environment Sony provides for the PS3. I can’t go into details unfortunately, but I must say that I believe Microsoft is doing a much better job of giving us the necessary tools on time to help us make the best games. I hope Sony gets up to speed on this.

In the end, I honestly don’t think PS3 programming is -that- hard, but it surely has its quirks. That being said, please, for the love of god, don’t ever utter a sentence that sounds like “PS3 is actually very powerful but the current games can make use of X percent of its power because programmers don’t know how to use it yet”. This is crap. Overall PS3 is not really more (or less) powerful than an XBOX 360 when video games are concerned. And it’s practically impossible to use 100% of its power anyway. That’s like saying “I can actually jump 10x higher if not for the gravity”.

Sony can decide if they did the right thing by going down this path. I personally believe it immensely hurt their business. But that’s not my business. In the end, as programmers, we are only here to solve problems. And PS3 gives us a great complex problem to solve. Let’s enjoy it.

PS: If you have a PS3 at home and want to mess with it, try buying this book. You don’t have access to all of the hardware (e.g. no RSX) but it’s still fun to play with the SPU’s of the CELL processor. And it will give you an idea of why PS3 development is, well, different.

Just do it.

May 3rd, 2009

<rant mode>

I don’t know how I can talk about this without sounding like a total douche or at best a terrible self-help book author. But here we go:

The worst thing you can do to yourself is doing something you don’t love for a living. Or living in a place that you don’t enjoy.

That’s why I’m genuinely annoyed by people who complain about their job/school/city. I can’t figure out why they just keep doing what they do if it makes them unhappy. It’s your life, if you think something’s wrong with it, change it. Change it now. You shouldn’t have a job that you hate. Why don’t you find something that will be fun for you? Is it because it’s harder than constantly whining about it?

And it’s a matter of what you put in the center of your life. If you think being close to your “other half” is the thing that’ll make you most content, just move where he/she is. If your dream is living in a small Italian town, come on, do it. What’s holding you back?

Personally, I could’ve stayed in Istanbul and worked at a bank’s software department. I’m not saying those are bad things, it just wasn’t doing it for me. In the end, would’ve been so much easier to do so than going to a foreign country and trying to get into a top video game company. But it was painfully obvious that staying there wouldn’t have been satisfying for me and I would’ve probably hated my job. So I sucked it up, went through all the misery and I’m now living my childhood dream. 

That’s not the end goal though. In fact, there is no end goal. I feel like you have to keep chasing something new to get better. If you’re satisfied with your life you’re most likely doing something wrong.

Now, you may not succeed -maybe I’m particularly lucky-. But nevertheless, it’s better to fail trying.

Thanks for listening.

</rant mode>

Tweety

March 29th, 2009

When I found out about Twitter, I thought it was pretty useless to the point of being annoying. Back then it was filled with posts like “I’m in the bathroom trimming my nosehair”, or so I thought.

I don’t know if Twitter has changed or I did, but I signed up for it last week and I’m enjoying it a lot so far. You can follow me if you like: http://twitter.com/acidicwithpanic.

O GDC, Where Art Thou?

March 28th, 2009

Back home from GDC with somewhat strange feelings. This is my third time in a row that I attended the conference and I feel like it was the best so far. But that’s maybe because I have more experience now and that helps to get the most out of the conference.

There were some stellar moments and some let-downs of course. But in the end I’m pretty convinced that the conference is not about teaching you stuff about your day-to-day job. 

It’s all about broadening your vision. Gauging where you are compared to the rest of the world in your industry. And even though it may sometimes make you feel like you’re not as smart as you thought you were, it definitely gives you the urge to get there and lets you set clear goals.

It was a brilliant experience in this sense. It was only so-so in terms of the actual practical knowledge gained.

Hurrah!

March 15th, 2009

Everybody’s gotta have a blog, right? Wrong!

Nevertheless, I’ll do it. I occasionally find too many thoughts on my mind and have to jot some of them down to avoid overflowing. If anybody’s interested in my second hand thought-spillage, you may find what you’re looking for here.

It will mostly be about game development, computer graphics, good music, good books, good people and many other things. The only thing I can foresee is it will never, ever be about cocoa puffs. I promise. They suck.

And if you’re confused by the blog’s name, this should justify it:

st. petersburg

st. petersburg

 More here: http://www.hyd-masti.com/2008/12/winter-in-st-petersburg.html