A Programmer’s Look Inside BioShock

121 0

I’m Steve Sinclair and I work at Digital Extremes. I’m scrawny with dry skin and male pattern baldness. Despite all that – I’m still smiling because I got to peek up BioShock’s skirt!

By skirt I mean the source code. For a programmer there is great joy in understanding. Every time the Great Carmack open sources an id engine, I rush to the Interwebs and fill my brain with the glory. I remember being astonished that they were using Huffman compression on their network stream for Quake 3. If I recall correctly, they’d just capture a bunch of traffic and build the table out of it. It was like profile-guided optimization for packets. That’s sublime right there.

Well, it was a bit odd, being the way I am, that the first thing I did when we got the BioShock build was … check the other ending. Like a coward, I could never bring myself to harvest. What kind of demented person can do that? Sure, I laugh when I light a Splicer on fire and she runs away screaming and then I shoot her in the head and beat her corpse with a wrench … but in my mind the freak deserved it. The point I’ve failed to make is this: learning more about the world of BioShock overwhelmed that programmer’s impulse.

crashsite

How about I say something on topic? BioShock on the PlayStation 3! My first task was to optimize the character ‘skinning’. For Bioshock, a lot of resources go into the character animation – here ‘skinning’ refers to the process of taking the various animated joints (spine, elbows, knees, wrists, etc) and deforming the rendered character to match that animation.


Skinning was coded for PS3 in two phases: first I made it work on the main CPU (actually Sony calls their CPU a PPU) using their specialized math instruction set (much faster than straight up C/C++). That was about four times faster, but the PS3 still had more love. That love was the final step, take that code and run it entirely on a SPU, freeing up the PPU for other tasks. The SPU processors run along side the PPU, chewing data while the PPU worries about something else. The idea being, if you have spare SPU time, your skinning is essentially ‘free’ (done before the rendering system even asks for it).

After that was working, I helped out with profiling and memory optimization. Things you want to do when you change memory architectures, like adding a second straw to your milkshake. In this amazing analogy the two straws would be the collision system and the rendering system. The ‘milkshake’ (chocolate) would be the objects in the world that need to be drawn but, just as importantly, shot, knocked over and generally interacted with. By dividing the data describing the objects between the two dedicated areas of memory I eliminated the need to make a second copy of the object while giving both systems full-speed access to the parts they needed.

As we wrapped, I was slogging on TRC issues (not fun) and crashes (quite fun actually). Such are the tasks of taking it the last mile … as usual it comes down to some nuanced and hard to nail down issues.

Well, enough of my technical jargon for now – thanks for reading. I hope you enjoy BioShock on PlayStation 3. It was an honor to be able to contribute to it.

Comments are closed.

121 Comments

  • It’s funny, we just learned about Huffman encoding in my computer science class this week.

  • @48 I think you were replying to 46, but NEways…

    You will definitely enjoy it, as it is still a great game and highly playable. It’s just that there are a lot of us out there that know how great the PS3 really is and it’s hella disappointing to see that these somewhat inferior ports keep popping up.

  • I played and enjoyed the demo. Now I’m ready to get a taste of the full game and experience what 360 gamers been enjoying about Bioshock.

  • It should be $40 considering it’s the inferior version.

  • The demo for the PS3 version is better than the full game on the XBox 360. I can’t wait to get my hands on the full game.

    There wouldn’t happen to be anyone who reads this blog who knows when the Resistance 2 Beta will be available for the annual subscribers of Qore would there?

  • Man, I didn’t realize there was so much enmity toward this game… Not that I was ever enthralled with it to begin with, but you guys are being simply relentless. It is disappointing that the final game won’t live up to the expectations of many, let alone the bar set up other platforms, but as I understand it the issues are primarily aesthetic. If you were really looking forward to this game, then the look really shouldn’t have THAT much bearing.

    By the way: “but in my mind the freak deserved it.” XD Thanks for sharing some of the technical aspects with us, and I wish you luck at launch.

  • I was really looking forward to finally being able to play Bioshock for the first time. But now with all these problems I’m starting to wonder if I still will buy the game.

  • @ Walter Kovacs, seems we have more hungarians here on the blog since we had a guest hungarian developer lol…

    I will definitely be buying this game, however it will definitely be at a later date. (seeing as I don’t own a PS3 :-p)

  • i loved the demo, i will be getting this game fo sho.

  • first off thanks for the post!

    sorry to bring up a negative point, because i loved this game when i played it last year-

    but since i HAVE played it before, and loved it, i have to ask you-

    In the demo, when you find the dead big daddy with the water falling over it, when you get close up to it- What’s the deal with those huugge textures on the helmet? they were supposed to be tiny bumps – i remember!

    as referenced here by other keen observers-

    http://forum.beyond3d.com/showpost.php?p=1223727&postcount=153

    It just seems a shame that the many, many PS3 owners who have been patiently awaiting this port for a year have to accept anything but the whole game of the year BioShock!

    I also noticed visible blurriness and a frame rate chug when the player is first traveling down to rapture and the fish are swimming…it just didn’t seem as crisp as i remembered, so i just hit my hdmi switcher on my remote and played the intro on the original on the unnamed “other” system, and i actually paused it at the same spots, just to see for myself, and sure enough, the PS3 demo was lacking in what i described….i stopped it also at the point with the female
    splicer and her crib cast the spooky shadow..and i could tell the difference instantly, and this on the same 46″ LCD with the same color/brightness settings, both systems with hdmi connection..

    it pains me to have to say this, as i know alot of my friends are going to be buying this regardless, and, even thought they don’t even realize what they are losing, are getting an inferior port if this demo represents the build that is used in the game..

    (and of course it will cost $60 for a year old port, but i’ll leave that alone because the game really is that good it’s worth it, if presented as it should be..)

    so please! let us know if indeed this demo was an older build, and the retail will be on par-

    i really want this game to be the best it can be, it’s one of my favorite games of all time-

    and i’m looking forward to challenge rooms and trophies…btw, i played the original with no vita-chambers, so i’m ready for that trophy!

    sorry to have to give you a hard time, but this release is a big deal to alot of people..

    thanks for bringing this to the PS3!!

    peace!
    :)

  • Why is it that we always get a bunch of lame complainers on this blog? I downloaded the demo, played it, and very much enjoyed it. I would have to say if it looked bad to you then you might want to check your set-up. It looked beautiful on my TV and it only does 1080i. You people need to get over yourselves. You all want to read something somewhere and repeat it like it is the gospel or something, without even trying it for yourselves. I think those people make our community look stupid, of course that is just my opinion.

    Anyway back on topic, the game looks good and I’m gonna buy it if I have any money left by then. Thanks for the post.

  • Plz someone at 2K program in customizable controls or multiple control schemes like Southpaw so I can play it right.

    Thank you for bring over a awesome exp. to the Playstation 3, I look forward to the next Bioshock.

  • Uh huh, seems like the chewing and the loving didn’t help with the frame rate, blurry visuals, messed up textures on some objects (Big Daddy) especially. Seems like you have to go back to your drawing board.

  • Thank you for sharing! That was informative.

    Kudos for PSBlog!

    With regards to the PS3 version of Bioshock, I guess it goes to show that it’s still pretty hard to optimize non-Cell codes on the PS3 CPU. Still a long ways for PS3. Unless PS3 becomes lead…

    1 year is probably not enough time to iron out all the bugs which usually occur from conversions.

    Should still be a great game tho. I mean come on, the issues can’t be that bad. Plus there’s trophies! Anyone? People whose got no frame of reference to the other versions and are FPS fanatics should definitely try to manage in picking up this still wonderful game.

    Purists might rather wait for future titles where the PS3 version stands up to par with other versions. Who knows when that might be but I hope really soon…

    And Sony, BRING US MORE JRPGS FOR GOODNESS SAKE!! I’m tired of FPS’!

  • Thanks for a programmer’s perspective on writing video game code.

  • This blog post is full of win. I love reading any insider, specifically, technical information I can on game development. Thanks for sharing!

  • @railenmiles
    Your jrpgs might be coming with Valkyria Chronicles. After that, my guess is that you’ll have to wait until maybe after March ’09 for White Knight Chronicles. Just goes to show how big of a mistake it was to choose the Cell processor.

  • I really want a chocolate shake now… :)

    Anyways, on topic… I like this behind the scenes stuff! It’s cool hearing from people who work on the games! I like learning how it all works, you know?

    Thanks for the post!

  • @featurepreacher

    lolz. Yeah, whatever happened to sony’s “Something for everyone”?

    Keeping on track. The programmers view on game development was much appreciated! Looking forward to more insider posts.

  • the demo was fantastic, must’ve played it about 6 times. I just don’t know if my wallet can afford this game. if it would have been priced a lil wiser than perhaps my decision would have been easier. Like I’ve stated in previous posts, its either Bioshock or Dead Space this year, whichever gets reviewed better for the PS3. then if either title gets a price drop next year I’ll pick up the other. Thanks for bringing this title to the PS3 though.

    peace,
    Lh

  • They have a good marketing strategy. 1st they put the game on the 360 & wait until the sales on the game to start decreasing & then port it over to the ps3 @ full price.
    I B Damn if I pay $65 fo that. My 65 going straight 2 my gas tank!!!

  • After playing the demo and avoiding the PC version like the plague… I’m looking forward to this release. It’s definitely a must-rent at the least… and is currently sitting at the top of my Gamefly queue.

  • umm maybe its because i havent played bioshock in awhile but when i booted up the demo on the ps3 i actually enjoyed it..now i guess i noticed the so called blur framerate issues but truth be told because of trophies im definitely getting this game again…it trully is an awesome game

  • I have no idea what you, but it was a fun read!

  • sorry ill pass on this game
    it should be $40

  • Day 1 purchase. Besides the blur-effect. The two versions are similar. But seriously, are we really comparing multi-platform games? I thought that fanboy non-sense was over and done with in 2007.

  • I’m sorry but I’m disappointed with the game. I’ve looked at comparison shots between the Xbox 360 and PS3 demos and the textures are disgusting on the PS3. They are really blocky and not what the PS3 could live up to. It makes it look like a half ass port.

  • i personally think the game is amazing i dont see what all this bs is about when it comes to a lowsy port

    the ps3 demo looks great on my 32′ vizio 1080i hdtv which only has 1400:1 contrast and my 50 inch vizio plazma

    i dont even bother watchin these lame video gameplay comparissons cuz it all depends on the tv now a days and what it supports

    still screens are bs

  • These $60 bucks whiners must be Xbox 360 owners that decided to sell that crappy console and buy a PS3.

    The game is worth it, no matter what crap texture you can find.

    Any game on a console is an “inferior version” graphically on almost any game.
    Consoles can’t compete (right now at least) against: Multi GPU’s, FSAA and High Quality Textures.

    That said, Bioshock is still great, YES INFERIOR TO A PC VERSION, but still a great game for a PS3.

    As for the xbox360 version, the console is going to crap out no matter the game…that puts any game for xbox 360 on a lower level than any other pc or console game ever created by a human, so its hard to compare this PS3 version to that one…

  • @ lordmetzen – nuff said man! you’ve got an amen from me brother. can we get another amen? hahaha

  • I’d never played this game before so I can’t comment on which platform looks better… But, the gameplay? I thought it was sorely lacking. Felt like just another generic FPS with underpowered weapons and clunky movement. The story was awesome, the setting was cool, the water looked fantastic… but, other than that? Booooooring.

    This month my money is going to Dead Space and Little Big Planet. Maybe Far Cry 2. Maybe. I hated Far Cry, so I’ll need to demo 2 before shelling out the dough.

  • OMG I just saw that this version of Bioshock HAS 2 BUBBLES LESS IN THE WATER COMPARED TO THE OTHER SUPERIOR VERSIONS ON PC AND XBOX360…

    I SAW IT COMPARING THE 3 VERSIONS WHILE I PAUSED THEM…

    Man if that’s all what it takes to keep you from playing a great game…then I don’t know how in the world you are going to make levels for LBP….

    I hear the new lame complain already, just wait a few weeks and you will see it on this blog:

    ” OOOHHH ITS SOOO DIFICULT TO MAKE LEVELS IN LBP…I CAN’T BELIEVE I PAID FOR THIS…SOOOO EXPENSIVE AND I CANT EVEN USE MY SACKBOY CORRECTLY”……

    And most of them call themselves “hardcore gamers” LOL…

  • @ 49

    Very well, you are very much entitled to purchase whichever game you like and enjoy Bio the storyline is good.

    As far as “A bad texture on the back of a Big Daddy’s head”? It’s more like the Big Daddy is a whole bad texture.

    I just figure that if your going to port over a game and announce it to be identical to its counterpart is a lie.

  • Thank you Steeve for taking the time to explain a little bit of your work. I sincerely appreciate

    That being said, I’m sorry but I have to agree with posters on the blog. Charging full price for a year-old port is definitely a bad move from Sony and 2K, especially at this time of the year, and I’m pretty sales figures will feel it.

    I was really considering buying the game because I haven’t played it before and I’ve heard very good review about it.

    Unfortunately Bioshock being mostly identical from the other version (i don’t really care about trophies), I’m even more unwilling to spend 60/70 euros. Sorry but IMHO it’s way too expensive . 45-50 € ok, but full price no.

    I hope next time Sony and 3rd-party publishers rethink their marketing strategy and give better consideration to their loyal customers.

  • @railenmiles
    There’s also Eternal Sonata on 10.21.

  • Very interesting article, Thanks.

  • Thanks Steve, I played the demo and liked it.

  • I will pick this up, but it’ll be from the sales bin. Given that there’s so many good games coming out this fall and that you stuck such a high price on a year-in-coming port, the motivational level to go grab it now isn’t the highest.

    And, honestly being a sucker for good ambience and graphic, I admit I’ll eagerly wait out the graphic comparison on the finished product. 2K – did you deliver or not?

  • It is AWESOME to hear from a programmer! The PS3’s architecture intrigues me!

    A little, off topic but since, you work at Digital Extremes I wanted to mention that Dark Sector looked and I think story wise would have been much better as presented in this older original trailer. http://www.youtube.com/watch?v=Mucf3kdVzes
    With that said I should also mention I bought still own, beat, and enjoy Dark Sector. Accept for the laggy online experience, which a ping indicator could fix.

    Back to Bioshock I do agree that $60 is a lot to ask for this game since I already beat it on my Sony VAIO. =)

  • I think people are mistaking the consumer’s demand for effort for “fanboy nonsense”. We were promised a version that looked better or identical to the 360 version… even if the graphics were slightly inferior, I could understand that much… but the textures on the Big Daddy aren’t even worthy of a placeholder texture. There’s no way that things like that just “slip through” the quality control department unless there’s someone up there that says “Screw it, we’ve got deadlines to meet!” — which is obviously what’s happening if they’re patching glitches that they have FULL KNOWLEDGE of after the fact.

    This is disgraceful… how networked consoles seem to encourage laziness and indifference on behalf of the developers. HAVE SOME PRIDE IN YOUR WORK, 2K. I won’t be doing it for you.

    But anyhow, it seems like we’re all screaming at a wall, because 2k doesn’t have the guts to face the gaming community on something they’re clearly wrong on, apart from having this man rattle off a company line full of clear falsities and half-truths.

    Shameful.

  • All the people that looked at that link with the two screens the top one is a PC version with the graphics card settings turned down. I’ve played the PS3 demo it doesn’t look like that at all.

  • I guess Sony fans are used to being screwed over. I guess that’s why people don’t care about the fact that this is $60 port of an year old game, which performs worse then the 360 release.

    But hey, we shouldn’t expect much from Sony. Exclusives are dropping like flies from the PS3 and the 360 continues to get a ton more along with DLC.

  • Well I was fairly excited about getting this till I played the demo. For some reason it felt like I was going blind, cuz of it being so blurry. And then I seaw that a Big Daddy went PLAID, and deleted it immediatly after noticing that. Sigh,this is just another half *** port. I wanted to see what was so magical about the story but that wont happen. Thanks! but No Thanks!

  • “…BioShock PS3 visually just as detailed and colorful as the original versions.” by Andrew Park, GameSpot. If game spot says the graphics are the same then they are the same. In the demo, I look at textures closely, not necessarily the big daddy one, and I didn’t see any blemish. I thought they looked just as good as any game on the 360.
    That being said, I do think that 60 dollars is very expensive. But, I think we’re paying for different modes that they added in the game. I thought that this game was alittle too weird for me. Plus I’m getting resistence so this game will probably take a backseat. I may buy this game when it is 30 bucks.

  • Nice writing! (kept the techie stuff fairly understandable for us non-tech types!)

    The demo was great and put the game on my “buy” list!

  • @NeCrom-X

    All the people that looked at that link with the two screens the top one is a PC version with the graphics card settings turned down. I’ve played the PS3 demo it doesn’t look like that at all.

    I AGREE HATE.

  • @NeCrom-X

    All the people that looked at that link with the two screens the top one is a PC version with the graphics card settings turned down. I’ve played the PS3 demo it doesn’t look like that at all.

    I AGREE.

  • I think some of you need to understand this game was designed for a Direct X machine, be Xbox 360 or the PC. The playstation port was destine to be semi-inferior, not but because of it’s hardware specs and such, but because of the architecture. Also, we are comparing a demo with a full game. Demos take a while to put together and this build could be from over a month before the demo actually hit the PSN. This could be the final version, but who really knows till the game hits the shelves later this month. The fact is, I have the PC version and the PS3 version still looks better than what my PCs are capable of pulling, so I’m picking it up eventually. Plus I heart trophies hehe.

  • For me I’d could really care a less..this game looks fun and I played the demo..saw some flaws but can be overlooked for gameplay.The framereate never chugged for me at all.I’ll buy the game for me not because people on the internet say no don’t lol.If you listen to people on the web then you truely don’t have a mind of your own.

  • I liked your post, would like to see more of these type of posts on this blog. Lets us know how the PS3 is different from all other.

    As for buying this game… I’m sorry but not paying full price for this game, like everyone said it’s too much for a year old game, and cheaper on another platform (platform which I hate) Probably would buy second hand.

Please enter your date of birth.

Date of birth fields