Posts tagged bioshock

Learning from Alan Kay, 11 years later

I first saw this video on reddit about a year ago, a famous talk by Alan Kay given about 11 years ago. I’ve watched it many times and each time understanding it a bit more.
[googlevideo]http://video.google.com/videoplay?docid=-2950949730059754521[/googlevideo]

The first time I watched it, I found his proposal that every object on the internet should have an URI and/or an IP address interesting (43:00). This was totally opposite of what I was doing at the time. We were near the end of the development cycle on BioShock and memory optimization was in full swing. Objects in Unreal engine are pretty heavyweight so we spent a lot of time stripping out unnecessary variables and functionality from the base UObject class.

Since last year, I’ve learned a bit more about web technologies and now see what Alan Kay was talking about is realized by REST style web services. A little bit later in the talk (52:30), Alan expounded a bit more about interoperability on the web and says “[object capability discovery] is going to be the critical thing to automate in the next ten years,” which “allows an interchange of deep information about what objects think they can do.”

This has obviously not happened. Anyone that has to write against web services like Amazon, Facebook or Flickr knows a lot of trial and error is needed to make anything work, at least thats been my experience trying to use their REST api. Alan proposed creating a “universal interface language” to exchange this information, which sounds a little like WSDL, but what about automatic discovery of services? I haven’t found a protocol for REST introspection like there is for XML-RPC.

If the strength of REST is its simplicity and low barrier to entry, than perhaps introspection and automatic discovery would add too much complexity. Since most web services provide client libraries for most popular languages (PHP/Java/Python/Ruby) all this REST vs XML-RPC vs SOAP can be hidden from the programmer.

Yet I can’t help but think about the last advice Alan gave in the talk, “play your system more grand than it is right now.” Wouldn’t it be grand if a client lib for an object can be automatically created given its URL? Wouldn’t it be grand if your application that upload to Flickr can upload to Smugmug just by changing the URL?

Cast of Characters pt 2 : the Broken

If you want to work in the games industry, know that it is filled with geeky guys. Be prepared to put up with a certain amount of ‘eccentricities.’ In this series, I offer up a sampling of the types of people you might meet in your journey.

Last time I talked about the ‘Burnout’, this time I’ll be talking about a close cousin to the ‘Burnout’ I like to call the ‘Broken.’

The inspiration for the name comes from something that Dan, a fellow gameplay programmer on BioShock, told me. After I was hired at Irrational, I learned that there was long search to fill the position I was hired for. When I asked Dan why it took so long, he explained that it was hard finding experienced people that still had the passion to make great games, and the person they interviewed right before me was ‘broken and bitter.’
More >

Make Better Games by Reducing Interactivity

Most people believe that interactivity is what separates games from other kinds of media, so how can you make games better by taking away that advantage?

Back when we were creating the interface on BioShock, Ken was the one who always pushed for a simpler interface. The main method we used was to remove options from the main in-game menu and placing them into the UI of machines you interacted with instead.
More >

Cast of Characters pt 1 : the Burnout

If you want to work in the games industry, know that it is filled with geeky guys. Be prepared to put up with a certain amount of ‘eccentricities.’ In this series, I offer up a sampling of the types of people you might meet in your journey.

The first personality I’d like to talk about is the “Burnout”, which technically you won’t meet in the games industry since he has already left it. A Burnout is someone who has worked as a developer for many years and then leaves the industry entirely.

Working in as a game developer can be an unforgiving and thankless job, so some turn over is to be expected, but one group in particular seems to be susceptible to becoming a Burnout, the programmers.

Burning Man by Aaron Logan
More >

Dear Developers: button layout loading screens must go

I recently downloaded a bunch of demos from the Playstation Store to check out some of the games I’ve missed. After playing through a bunch of them, I noticed that all of them included a loading screen that tells you what each of the buttons do, the “Button Layout” screen.

Here is an example of a button layout screen:
harman-kardon-avr-340-receiver-remote-control.gif
More >

The Publisher/Game Studio Relationship

Since the blog is called “Inside the Game Developer Studio,” I should talk a little bit about what a game studio is.

A game studio is where the eternal dance between the money, the monkey, and marketroids takes place (that would be publisher, developer and marketing in layman’s terms). Given those things and add an extra ingredient of Chemical X to the concoction and you will have a hit game on your hands.
studio-equation.jpg
More >

Three degrees of Miyamoto

Miyamoto, Inafune, Ian, me. That is the three degrees of separation between Miyamoto and me.

There is a well known theory that everyone is connected to everyone else in the world in just six steps. There is also a trivia game that connects actors to Kevin Bacon through working together on the same movie, where the number of steps is called a “Bacon Number”.

If we apply the same idea to get a “Miyamoto Number,” where you connect people by the games they worked on, then my number is probably 2. I worked with Kelly on BioShock, and Kelly worked for Nintendo for 12 years, so she must have worked on a game that Miyamoto made.

So what does this have to do with understanding the games industry?

More >

Welcome to Inside the Game Developer Studio

This blog is my attempt to open the door and shed light on the game making process, from the point of the view of a game developer.

Blogs about games tend to fall into two categories, “Enthusiast” and “Insider.” Enthusiast blogs are all about the games, what’s the latest and newest, and written for gamers looking for their fix of information. The insider blogs are written by people making games and contain interesting details for those working in the same field, but too arcane for other readers.

The idea for this blog was inspired by JC Barnett’s “Japanmanship” blog, which is a great introduction to working in the games industry in Japan. As I was reading that blog, I wondered if is there a blog about what’s it like to work in the games industry in the US? Well, this blog is my stab at it. Unfortunately, I am not an artist nor possessing the dry British wit of JC Barnett, but hopefully you’ll enjoy my blog anyway.

I am not an artist, but I was a programmer in the games industry for the last five years. I was in two great studios, Volition and Irrational, and worked on three titles I am proud of: The Punisher, Saint’s Row and BioShock. I am currently taking some time off to work on my own thing, and finally have time to write this blog.