Vessel
- Steam Users' Forums for game series
- Steam Community Discussions
Availability
- Further patches for the Linux and OS X versions of Vessel can be downloaded here
Game data
- The game saves are cross-platform
- The game supports XDG on Linux
Video settings
Mac OSX Resolution Settings
Due to a flaw in SDL video modes, Vessel for Mac requires that the settings be changed outside of Vessel. Edit ~/Library/Application Support/Vessel/VesselConfig.ini for this.
Input settings
Controller Input
If you've got a compiler handy, you can use this C file to determine your controller's config values. Note: Requires SDL headers/libs!
The INI File
From the ini file...
------------------------------------------------------------------------------- -- This is the config file for SDL joystick input. -- We map joysticks in a somewhat obtuse way in order make Vessel compatible -- with as many controllers as possible. Here's how it works: -- -- Let's say I've connected my Classic Controller Pro. Here's what will show up -- in the terminal output: -- Gamepad #0: Nintendo Wiimote -- Number of axes: 4 -- Number of hats: 1 -- Number of buttons: 11 -- -- We bind joystick values from 0 up, and we bind the axes, hats, and buttons -- in that order. -- 1 axis = 1 value. Example: The left thumbstick's x axis is 1 axis. -- 1 hat = 4 values: Up, Down, Left, Right in that exact order. -- 1 button = 1 value. Yeah. -- -- So let's look at the Classic Controller again. We have four axes, so we will -- use 0-3 as our axes keys. We have one hat after that, so values 4-7 will be -- that hat value's Down, Up, Left and Right keys (the CCP hat is upside down). -- The buttons will simply be 8-18 after that. -- -- If you don't want to bind a button value, just use 1337. -- -- DeadZone is a way to account for possible dead zones in controller axes. -- The actual axis value (-32768 to 32768) is divided by the DeadZone value. -- The lower the number, the more amplified the axis motions will be. -- -- If you want to invert any inputs, add a - sign to the front of the value. -- For example, to flip an axis that is value 2, set the binding to -2. -- -- Unfortunately there is an element of trial-and-error due to controllers -- having no real standard, so you are highly encouraged to share your -- controller configurations with the community. I recommend making a database -- at the PCGamingWiki: http://www.pcgamingwiki.com/ -- -- Below is my set of bindings for the Classic Controller Pro, mounted with -- wminput and using this config: -- -- http://www.flibitijibibo.com/wminput/gamepad.wminput -- -- Love, flibit -- -------------------------------------------------------------------------------
The bindings that follow are named after the buttons found on the Xbox 360 controller. Simply bind the values described above to the equivalent 360 controller value.
Configurations
Below is a list of configurations for various controllers, contributed by the community.
Nintendo Wii Classic Controller Pro
This uses the wminput configuration found here: http://www.flibitijibibo.com/wminput/gamepad.wminput
[Binds] Button_A=9 Button_B=8 Button_X=11 Button_Y=10 Button_Black=13 Button_White=12 Button_LeftTrigger=14 Button_RightTrigger=15 Button_Start=17 Button_Back=16 Button_LeftThumb=18 Button_RightThumb=1337 DPad_Up=5 DPad_Down=4 DPad_Left=6 DPad_Right=7 Axis_LX=0 Axis_LY=1 Axis_RX=2 Axis_RY=3 DeadZone=24576
Logitech Gamepad F310
Note: Use "XInput"-mode. LB will be used instead of LT and RB instead of RT.
[Binds] Button_A=10 Button_B=11 Button_X=12 Button_Y=13 Button_Black=1337 Button_White=1337 Button_LeftTrigger=14 Button_RightTrigger=15 Button_Start=17 Button_Back=16 Button_LeftThumb=19 Button_RightThumb=20 DPad_Up=6 DPad_Down=7 DPad_Left=8 DPad_Right=9 Axis_LX=0 Axis_LY=-1 Axis_RX=3 Axis_RY=-4 DeadZone=24576
Logitech RumblePad 2
[Binds] Button_A=9 Button_B=10 Button_X=8 Button_Y=11 Button_Black=13 Button_White=12 Button_LeftTrigger=14 Button_RightTrigger=15 Button_Start=17 Button_Back=16 Button_LeftThumb=18 Button_RightThumb=1337 DPad_Up=5 DPad_Down=4 DPad_Left=6 DPad_Right=7 Axis_LX=0 Axis_LY=-1 Axis_RX=2 Axis_RY=-3 DeadZone=24576
Microsoft Xbox 360 Controller
LB will be used instead of LT and RB instead of RT. With xpad:
[Binds] Button_A=10 Button_B=11 Button_X=12 Button_Y=13 Button_Black=1337 Button_White=1337 Button_LeftTrigger=14 Button_RightTrigger=15 Button_Start=17 Button_Back=16 Button_LeftThumb=19 Button_RightThumb=20 DPad_Up=6 DPad_Down=7 DPad_Left=8 DPad_Right=9 Axis_LX=0 Axis_LY=-1 Axis_RX=3 Axis_RY=4 DeadZone=24576
With xboxdrv:
[Binds] Button_A=10 Button_B=11 Button_X=12 Button_Y=13 Button_Black=1337 Button_White=1337 Button_LeftTrigger=14 Button_RightTrigger=15 Button_Start=17 Button_Back=16 Button_LeftThumb=19 Button_RightThumb=20 DPad_Up=6 DPad_Down=7 DPad_Left=8 DPad_Right=9 Axis_LX=0 Axis_LY=-1 Axis_RX=2 Axis_RY=-3 DeadZone=24576
Sony PlayStation Controller
ID 0810:0003 Personal Communication Systems, Inc. PlayStation Gamepad
[Binds] Button_A=11 Button_B=10 Button_X=12 Button_Y=9 Button_Black=13 Button_White=14 Button_LeftTrigger=15 Button_RightTrigger=16 Button_Start=18 Button_Back=17 Button_LeftThumb=19 Button_RightThumb=20 DPad_Up=5 DPad_Down=6 DPad_Left=7 DPad_Right=8 Axis_LX=0 Axis_LY=-1 Axis_RX=4 Axis_RY=-3 DeadZone=24576
Sony PlayStation 3 (DualShock 3) Controller
Note: Due to the PS3 Controller's motion- and pressure-sensitive capabilities, PS3 Controller users may need to delete (or remove) the file libSDL-1.2.so.0 found in the ~/Vessel/x86/ directory; Otherwise, this controller may not function properly.
ID 054c:0268 Sony Corp. / PlayStation 3 Controller
[Binds] Button_A=41 Button_B=40 Button_X=42 Button_Y=39 Button_Black=36 Button_White=35 Button_LeftTrigger=38 Button_RightTrigger=37 Button_Start=30 Button_Back=27 Button_LeftThumb=28 Button_RightThumb=29 DPad_Up=31 DPad_Down=33 DPad_Left=34 DPad_Right=32 Axis_LX=0 Axis_LY=-1 Axis_RX=2 Axis_RY=-3 DeadZone=24576
Issues unresolved
Vessels appear empty
This bug only appears in the Linux and OS X versions of the game. The vessels are being filled, but the fluid isn't being displayed.
Multi-monitor issues
The game works without problems in multi-monitor setups, however overviews, for example which reactors have been fixed in factory, will appear severely bigger than the screen height.