May 30 2011

L.A. Noire is Babylon 5

Tag: Game Design,Random Musingstrevor @ 12:52 am

In between work, home projects, and other things, I’ve also been spending some time playing L.A. Noire, and trying to fit it into my worldview of the current state of the video game industry.  The following is going to be completely spoiler-free, so do feel free to read it whether or not you’ve played or are planning to play the game (and I would absolutely recommend anyone interested in the current state of the video game industry to play this game)

To begin with, I should again mention that I’ve been in the commercial video game industry (with one recent six month break) continuously for the last fourteen years;  that’s more or less since the first accelerated 3D cards hit the market.  My comments in this post (and indeed, all the rest of this site) reflect only my own opinions, and not those of any of the fine people who have employed me or with whom I have worked in this time.

I should also mention, just as full disclosure, that there was a point where I might have gone to work on L.A. Noire during the latter half of its seven year development timeline, and that I now know and work with people who did work on various parts of this game.  I’m not going to go into any of those details, but I thought I should put it out there just as fair warning, so that people can take the following comments with any grains of salt they feel are deserved.

Full discussion is below the fold.
Continue reading “L.A. Noire is Babylon 5″


May 03 2011

Little bugs

Tag: Full Games,MMORPG Tycoontrevor @ 1:56 am

Spent much of my spare time today debugging the system which handles optimised OpenGL state changes, and porting that back into the VectorStorm trunk.  (It was tricky to get to work properly, since half of the Testbed games don’t use the material system;  took me ages to work out why things weren’t drawing properly!)

I also spent a kind of frighteningly large amount of time trying to figure out why I couldn’t get my “sub regions” to draw, as seen in this screenshot.  Silly me, I’d forgotten that my accelerated drawing stuff that’s used almost exclusively in MMORPG Tycoon 2 isn’t as easy to use as simply placing a model into the scene;  the drawing was accidentally occurring in an entirely different part of the world.  (For any with an interest in such things, this accelerated approach just sets a combined modelview matrix directly into the OpenGL state, instead of multiplying several matrices together one at a time within the OpenGL driver.  For those looking in the source code, this is done via the “SetMatrix4x4()” call on the display list, instead of using the Push/Pop functions.)

Virtually everything in MMORPG Tycoon 2 is rendering using custom rendering code.  Which means that almost none of it is testing the standard sprite or model systems (exception:  GUI elements).  Which means that it’s all a little bit prone to surprising errors when I’ve made a mistake.  But when it’s working, it’s very fast.