Port Report: BioShock Infinite

bioshockcover

Port Reports are a new series of quick first impressions of the technical aspects of a PC game. For an up to date account of BioShock Infinite’s fixes and improvements, please visit PCGamingWiki.

The BioShock series was infamous for its rocky PC launches in the past. The first BioShock was released on PC with the “horizontal-” implementation of the widescreen display, meaning that the widescreen view actually cropped the top and bottom of the display, and there was a huge outcry from the PC community. Back in 2007, gamers were buying widescreen displays so that they could see more, not less of their games. Although Irrational were quick to patch “horizontal+” widescreen for BioShock, 2K managed to release BioShock 2 on PC in 2010 with exactly the same “horizontal-” cutoff, and the added sting of compulsory Games for Windows Life activation.

For BioShock Infinite, Ken Levine and Irrational have made bold the promise that they will deliver us a good PC port, with features implemented such as mouse acceleration toggles, high resolution textures, a field of view slider and all the bells and whistles we expect from a PC game. Have they fulfilled their promises, and is BioShock Infinite a good port? This report will answer this question, and also provide a number of tweaks which will help you play the game exactly the way you want to play it.

Digital rights management

It seems that 2K have learned their lesson after the outcry that BioShock 2 faced when they included mandatory GFWL activation. Ken Levine promised to give players “effortless access to the game“, and has delivered BioShock Infinite as a Steamworks game, which is about as about the best that we can expect from a AAA-quality PC game. All versions activate on Steam, including retail and digital distribution copies.

Performance

System specifications

Minimum:

  • OS: Windows Vista Service Pack 2 32-bit
  • Processor: Intel Core 2 Duo 2.4 GHz / AMD Athlon X2 2.7 GHz
  • Memory: 2 GB
  • Hard Disk Space: 20 GB free
  • Video Card: DirectX10 Compatible ATI Radeon HD 3870 / NVIDIA 8800 GT / Intel HD 3000 Integrated Graphics

Recommended:

  • OS: Windows 7 Service Pack 1 64-bit
  • Processor: Quad Core Processor
  • Memory: 4 GB
  • Hard Disk Space: 30 GB free
  • Video Card: DirectX11 Compatible, AMD Radeon HD 6950 / NVIDIA GeForce GTX 560 with 1024 MB

BioShock Infinite crams huge amounts of detail into well-realized interiors and hugely expansive exteriors with awe-inspiring views of Columbia, the exquisite floating city. Loading appears to happening the background frequently, with level exits prompting whether you want to leave the area and sit through a loading screen for the next section, similar to how they handled level changes in the original BioShock.

One of the things that really surprised me was how well the game looked at its lowest graphics settings, and how smooth and beautiful the game runs on my low performing laptop (around 50 FPS on the Low present at 1366×768, on an i5 with a mobile AMD 6630M, roughly equivalent to the popular Nvidia 540M) and also on full blast on my main rig (an i7 920 with a 560Ti). This is testament to the engine optimisations and scalability that the game is built on and the beauty of the strong and effective art design.

The game itself runs on the Unreal 3 engine which is familiar to PC gamers who enjoy tweaking the game as the engine stores its settings in predictable places. This is one of the reasons why it has been relatively simple to discover the tweaks and fixes necessary to getting the game running smoothly.

Graphics settings

BioShock_menu
A full view of the graphics settings menu.

The list of graphics options are impressive, and are everything that you would expect from an excellent PC port. Switching the ‘Graphics quality’ setting from Preset to Custom unlocks further graphics options.

Borderless fullscreen window

Options: Fullscreen/Windowed/Windowed (Fullscreen)
This is another first person shooter which has natively implemented the borderless fullscreen windowed mode, known has Fullscreen (Windowed) in this game. This setting displays the game in a window, but is stretched in such a way that it looks like a normal fullscreen game. It has the benefit of allowing one to alt+tab at any point, a godsend for multitaskers and multimonitor users. However, it does incur a slight performance hit. Using FRAPS, I compared of the same areas and found that there was a hit of around a 7% to performance hit for running the game in a window.

This game seems to be one of many which have implemented this feature over the last 12 months, including Crysis 3 and Call of Duty: Black Ops II. This is in contrast to say Dishonored (2012) and Moddern Warfare 3 (2011) which didn’t have this feature. The trend of implementing borderless fullscreen windowed mode is a good sign of things to come.

Anti-aliaising

Options: Off/On.
It’s fairly disappointing that anti-aliaising is simply a binary off/on switch. The following super cropped image demonstrates the difference between the settings:

Texture detail

Options: Very low, Low, Normal, High, Ultra.

Ambient occlusion

Options are: Off/On/Ultra.

Field of view

Like Resident Evil 6, the field of view (FOV) settings provide a range of 15 degrees of field of view to play with. However, as this is a first person game on PC, I’ve found that the default FOV scale is fairly inadequate when sitting to close to the display. Using the following fix to bump it up to a maximum of 140 degrees.

Using Notepad, open the file XUserOptions.ini located in:

%USERPROFILE%\My Documents\My Games\BioShock Infinite\XGame\Config\

Locate and the line MaxUserFOVOffsetPercent=15.000000 and change value to 100.

Note that this value is in percent and not degrees. To get a FOV of around 90 put in a value of 28.5 and slide to max.

Start the game and set your desired field of view via slider.

Keyboard and mouse

keyboardmouse
The game features fully customisable and remappable keys. However, .ini files are encrypted, meaning that custom bindings cannot be shared, which is a shame. It seems odd that developers do this kind of thing – Bulletstorm and Spec Ops: The Line also decided to go down this road. If anyone can enlighten me as to why developers decide to do this, please leave a comment.

We are glad that mouse acceleration is a menu option. And it seems odd that there is no ‘hold down’ for aiming down the sights – by default the Z or middle mouse button toggle aiming, which some people may find counterintuitive.

One of the things I noticed was that the mouse settings were too ‘jumpy’ and did not account for the full range of sensitivities that other games include. I found that the lowest and the second lowest setting were far too close together. Thankfully there is a fix for this, and you can set your own range of mouse sensitivity.

Using Notepad, open the file XUserOptions.ini located in:

%USERPROFILE%\My Documents\My Games\BioShock Infinite\XGame\Config\

Locate and the line MinMouseLookSensitivity=0.100000 and MaxMouseLookSensitivity=4.000000 and change to values such as 0.05 to 0.5 for more granular control at the lower sensitivity level.

Controller

controller
The controller is fully supported in this game, and is one of the best implementations I’ve ever seen. Plugging in the controller at any point during the game will switch all tooltips and icons to Xbox 360 style icons. Touching the keyboard or mouse will instantly switch all the icons back to keys.

The controller’s keys cannot be remapped, although there are ‘Control layouts’ such as Marksman, Retro, and also ‘Left/right stick layouts’ such as Southpaw, Legacy, Legacy Southpaw. It’s a shame that Irrational didn’t go the whole hog and implement fully remappable controls, as this would help to improve accessibility for some disabled gamers.

Tips

Unlocking 1999 mode

Bioshock Infinite features “1999 mode” which makes game much harder. Normally this mode is unlocked by finishing game at least once, however there is a code (the Konami Code!) which unlocks this mode right away:

On the main menu (menu with Play Now) enter: Up, Up, Down, Down, Left, Right, Left, Right, Esc, Enter.

Skip intro videos

The first thing you will notice when booting up the game is the slew of unskippable cutscenes. It’s a good idea to just go ahead and remove them from the .ini file entirely.

Using Notepad, go an open up the file XEngine.ini located in:

%USERPROFILE%\My Documents\My Games\BioShock Infinite\XGame\Config\XEngine.ini

Then change:

StartupMovies=2KLogoSweep720p2997
StartupMovies=IrrationalLogoTest
StartupMovies=UE3AnimatedLogo_ProRes
StartupMovies=AMDLogo720p

To:

;StartupMovies=2KLogoSweep720p2997
;StartupMovies=IrrationalLogoTest
;StartupMovies=UE3AnimatedLogo_ProRes
;StartupMovies=AMDLogo720p

Conclusion

This is a fantastic port of the game, with all the bells and whistles that PC gamers come to expect. It runs fantastically on low spec machines, and has settings for beefier specs as well. However, it’s a shame that there are a few options which are limited, but fixable in the .ini files (FOV, mouse sensitivity). Overall as a port, it’s about as good as we as PC gamers can expect. Good on you Irrational and Ken Levine, you’ve lived up to your promise and delivered a great PC port.

For an up to date account of BioShock Infinite’s fixes and improvements, please visit PCGamingWiki.

Tags: , , ,
  • http://twitter.com/Marzz4967 Brian Cantrell

    Introduction videos are skippable after the first viewing- everything except the first 2K video.

    • Andytizer

      Thanks you’re right, although those first 39 seconds are painful..

      • nicereddy

        I think it takes more than 39 seconds to disable it anyway :P

  • Wygramy Pl

    hi there, just want to report bug in your new blog – when i click number of comments at top it doesn’t scroll down to comments :) that’s it, keep up the good work!

    • Andytizer

      Fixed :)

  • Stephen Whittle

    The UserKeyBindings section you refer to is Base64 encoded rather than encrypted- this is an old trick to allow a string-based system like the Unreal ini files to store binary data. If you copy the value of that section and use something like Notepad++ to decode the data, you’ll see a bunch of human-readable strings and some binary data. Unless or until we get access to an explanation of that binary data, we can’t go further.. Personally I’d like to get a look at it simply because it might make it easier to implement hold-to-zoom functionality. The Unrealscript commands for hold-to-zoom are already in the game, we just don’t have a way to reliably map a key to them..
    As an aside, I had heard Bulletstorm implemented encrypted or obfuscated ini files to prevent cheating in their online leaderboards. Can’t say I see those being implemented for Bioshock, but who knows?

  • Tarrax

    IMHO You’ve missed a big one. It’s made my playthrough look much better. :)

    How to Disable Depth of Field

    File to edit with Notepad:
    ..SteamsteamappscommonBioShock InfiniteEngineConfigBaseEngine.ini

    Option to Find and set as shown below:
    DepthOfField=False

  • regretsecret

    I run the game with Athlon x4 640 and HD 6950 in normal settings and the game still looks brilliant in terms of visuals.

    I find it hard to use the vigors at first so I assigned vigor usage to middle mouse and also changed right click to aim. I also don’t mind the intro – I just press esc :)

    For those who are looking for BioShock Infinite walkthrough, here’s a good one: http://www.cheatmasters.com/blog/2013/03/26/bioshock-infinite-walkthrough-faq-guide/

  • darwin

    yeah… i can barely find the right key on while playing this ON PC BECAUSE IT SHOWS ME THE LAYOUT OF AN XBOX 360 CONTROLLER…