Mar 02 2009

Hard to Develop For

Published by under Code,Games

PS3 A recent CNET article has much of the blog-o-sphere commenting away like crazy.  The article contains a quote from Kaz Hirai from SCE that the PS3 is hard to develop for.  In reading the article, the author does not appear to have thought much about why Kaz might have said that.

As a note, these are only my views and do not represent my current employer, SCE, EA, or any past employers.  These views are also not based on any “inside” information, but instead are based on many years in the video games industry.

It is absolutely true that of the current consoles (PS3, XBox360, and Wii), the PS3 is the most complicated.  However, there are two aspects to developing on a console.  1) The hardware and 2) the development environment.  The thing that the author of the CNET article seemed to forget is that (excluding Nintendo), selling software is what makes the money, not selling the hardware.

Continue Reading »

One response so far

Jan 25 2009

Books About Cooking

Published by under Food

elBulliLately I have been reading  a lot of books about cooking.  Not cook books, but books about the process, restaurants, or a particular ingredient. On the Line by Eric Ripert describes how Le Bernardin in New York City operates.  What Einstein Told His Cook by Robert Wolke is much like Harold McGee’s books on the science of food and cooking.  Recently, I picked up A Day at El Bulli by Ferran Adria.  It describes how the famous restaurant works and some of the methods that they use to create new dishes.  The similarities between creating a menu and creating a game are striking.

Continue Reading »

No responses yet

Dec 21 2008

Objects, components, and services

Published by under Code

Tree of LifeDue to the holidays, I actually have some time to get back to programming.  Up until now, my code has been focused on the machine and engine layers…rendering, memory management, job control, debug scaffolding, etc.  All of the items which are needed to get things on screen, but do not have any of the behavior nor game play parts.

Most game engines have gone away from trying to describe game objects with explicit C++ class hierarchies.  Very quickly, there is a base object called CObject which has everything but the kitchen sink in it.  This also creates an interconnected mess between the tick cycles for the object and all of the game systems.  It is very hard to parallelize the tick loop and impossible to move the objects off to extra processors such as the SPUs.

Continue Reading »

No responses yet

Dec 11 2008

Nicholas Hlobo at the Tate Modern

Published by under Travel

I spent the last week with my co-studio head in the UK.  We had lots of meeting and were very busy the entire time.  We made a lot of progress on the game we pitching, justified our existence and funding to the board, coordinated IT hardware, and did everything else which a new games studio does as it starts up.

However, one of the coolest moments of the trip had nothing to do with the new studio.

Continue Reading »

No responses yet

Nov 23 2008

Week one at my new studio

Published by under Games

Week one is done for my new studio.  Spent the week working a game pitch, running phone and ethernet wires, and generally getting everything set up at the office.  It is extremely exciting and scary to not have “the man” telling you what to do every day.  The success of the studio will be a direct result of the work of my co-studio head and I.

And I love taking BART every day.  My commute time is about the same as when I was at EA and Sony, but now I get to read and relax with my iPod.

No responses yet

Nov 14 2008

Last Day at Sony

Published by under Code,Games

I made the leap.  Today was my last day at Sony.  It has been an amazing time there and I am truly honored to have worked with such talented people.

…but something came up…

I am starting a new game studio in San Francisco.

No responses yet

Oct 26 2008

Pumpkin Carving

Published by under Food

We spent this afternoon carving pumpkins.  My daughters, of course, picked some insane designs which required intricate carving skills.  I happen to have a fruit and vegetable carving set, which made the task much easier.

The first step was taping the outline onto the pumpkin.  Then, we used a mini-saw to cut out the shape…basically, it just created an outline.  We then removed the paper and started cleaning each of the cuts.

Continue Reading »

No responses yet

Oct 21 2008

SPU Seminar

Published by under Code,Travel

I am heading off for the next few days to an SPU seminar that I am running.  At work, I spend a lot of my time dealing with the SPUs on the PS3.  In fact, if you are using the libswcache libraries in your game, then you are using code that I wrote.  The SPUs are interesting beasts for multiprocessor work.  They are not as easy as the homogeneous multicore solution for the XBox360, but for raw processor power, not much can beat the SPUs right now.

My work tends to be around making the SPUs easier for developers to use.  Software caching (like libswcache) are ways to deal with non-uniform memory systems and making the architectural complexities more transparent to the end programmer.  I have a lot of experience with C++, so I have been looking at how templates and auto_ptr‘s can help.  Libraries like these do not give you the peak performance, but it makes it much easier for the general gameplay programmers to work on the SPUs.  I have found that game development is a constant trade off between easy to use architectures which any generalist programmer can code for and extremely high performance architectures which require a specialist.

No responses yet

Oct 12 2008

Adding Lua

Published by under Code

I spent the afternoon adding Lua to my code.  It only took about an hour to get the Lua library compiling and running.  The rest of the time was setting up the various hooks to make the scripting language actually functional.  I did not have time to add an interactive parser, that is on my list of things to do.

I have used Lua on previous games and never been that happy with it.  It tends to run slowly and require more memory than you would expect.  Also, most people tend to use it during development by reading in text files and doing on demand parsing.  This scares me since I prefer doing type checking and variable checking at a compile time…one typo and suddenly your run-time can blow up.  In some games, I have made the memory allocator throw an assertion if someone tried to allocate a var, string, etc. that was not seen before.  This seems to stop the typo problem, assuming that the game (and testers) have coverage over every script.

Continue Reading »

No responses yet

Oct 05 2008

Grilled Pizza with Ground Lamb and Goat Cheese

Published by under Food

I went for a long run and then bike ride this morning, so I was in the mood to be lazy for a while.  I spent the afternoon making fresh pizza dough to cook on the grill tonight.  The finished pizza is a ground lamb with goat cheese, grilled onions, and red bell peppers, covered with a rosemary and garlic infused oil.  The lamb came from Wind Dancer Ranch.  We have been working with Lisa, the farmer, for a few years now and get all of our meat from her.  Our freezer is filled with lamb, pork, turkey, and everything else she sells.  At this point, we rarely buy our meat from the grocery store.  Wind Dancer’s is cheaper, tastier, and better for the environment!  Plus, since my family spent all day on Saturday at the Hoes Down Festival, I was feeling like cooking sustainably.

Continue Reading »

No responses yet

« Prev - Next »