Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.


Warning for game developers: PCGamingWiki staff members will only ever reach out to you using the official press@pcgamingwiki.com mail address.
Be aware of scammers claiming to be representatives or affiliates of PCGamingWiki who promise a PCGW page for a game key.

Difference between revisions of "Vessel"

From PCGamingWiki, the wiki about fixing PC games
(Wrote the Vessel page.)
Line 1: Line 1:
{{stub}}
+
{{infobox
 +
|title          = Vessel
 +
|cover          = Vessel (video game) cover art.jpg
 +
|developer      = [http://www.strangeloopgames.com/ Strange Loop Games]
 +
|publisher      = [http://www.indiepubgames.com/ indiePub Games]
 +
|release dates  = '''Microsoft Windows'''<br />March 1, 2012<br />'''Mac OSX'''<br />October 2012<br />'''GNU/Linux'''<br />October 2012
 +
|steam          = 108500
 +
}}
 +
 
 +
= Windows, Mac OSX, Linux =
 +
 
 +
== Configuration ==
 +
 
 
[[File:Vessel_Windows_optionsmenu.png|300px|right|thumb|Options menu.]]
 
[[File:Vessel_Windows_optionsmenu.png|300px|right|thumb|Options menu.]]
 +
 +
To edit the configurations outside of Vessel, edit '''VesselConfig.ini'''. For Windows this is in ''"%APPDATA%\Vessel\VesselConfig.ini"'', for Mac and Linux this is in ''"~/.vessel/VesselConfig.ini"''.
 +
 +
== Keyboard Input ==
 +
 +
To change the key bindings, edit '''VesselKeys.ini''', found in Vessel's root folder. For Mac, this is in ''"Vessel.app/Contents/MacOS/VesselKeys.ini"''.
 +
 +
== Game Saves ==
 +
 +
It is expected that the game saves for Vessel are cross-platform. For Windows they should be located in ''"%APPDATA%\Vessel\"'', and for Mac/Linux they should be in ''"~/.vessel/"''. Just poke your saves into those directories and you should be all set!
 +
 +
= Mac OSX, Linux =
 +
 +
'''''<big>MASSIVE DISCLAIMER!</big>''''' The Mac/Linux versions of Vessel are still in development and this section is subject to change prior to/on/after release. '''''Consider this a preparation guide for now!'''''
 +
 +
== Known Issues ==
 +
 +
'''Note:''' The following section was originally written by Vessel's primary Mac/Linux developer, [[User:Flibitijibibo|Ethan Lee]], but may have been edited after the original post by other contributors.
 +
 +
=== Resolution Settings ===
 +
 +
'''The Problem:''' Resolution settings do not change after applying them in-game.
 +
 +
'''The Solution:''' Edit them in the config:
 +
* Open up ''"~/.vessel/VesselConfig.ini"'' with your text editor of choice.
 +
* Edit ''ForcePixelResolutionX'' for screen width, ''ForcePixelResolutionY'' for screen height, ''VSync'' for v-sync, and ''FullScreen'' for fullscreen.
 +
 +
'''Why?''' The renderer, being designed around Direct3D, set display resolutions in a way that SDL/OpenGL was not entirely comfortable with. As a quick fix, I made the engine initialization read the config inputs first, then initialize the display with those settings. I will look at fixing this in-game, however.
 +
 +
=== Gamepad Bindings ===
 +
 +
'''The Problem:''' I can't set my gamepad bindings in-game!
 +
 +
'''The Solution:''' Edit '''VesselGamepad.ini''' with your text editor of choice to configure your gamepad. The directions are located in the file. For Mac this will be in ''"Vessel.app/Contents/MacOS/VesselGamepad.ini"'', and for Linux this will be in ''"/path/to/Vessel/VesselGamepad.ini"''.
 +
 +
'''Why?''' The original Win32 version of the game uses XInput and stores configurations for various controllers into the engine itself. For the SDL port, I designed this SDL joystick config system to quickly enable controller support while supporting as many controllers as possible.
 +
 +
'''Additionally:''' If you've got a compiler handy, you can use [http://flibitijibibo.com/files/VesselJoystickDetector.c this C file] to determine your controller's config values. '''Note:''' Requires SDL headers/libs!
 +
 +
== Controller Input ==
 +
 +
=== 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 -1.
 +
--
 +
-- 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=-1
 +
DPad_Up=5
 +
DPad_Down=4
 +
DPad_Left=6
 +
DPad_Right=7
 +
Axis_LX=0
 +
Axis_LY=1
 +
Axis_RX=2
 +
Axis_RY=3
  
 
[[Category:Game]] [[Category:Windows]] [[Category:Mac]] [[Category:Linux]]
 
[[Category:Game]] [[Category:Windows]] [[Category:Mac]] [[Category:Linux]]

Revision as of 19:05, 2 October 2012

Template:Infobox

Windows, Mac OSX, Linux

Configuration

Options menu.

To edit the configurations outside of Vessel, edit VesselConfig.ini. For Windows this is in "%APPDATA%\Vessel\VesselConfig.ini", for Mac and Linux this is in "~/.vessel/VesselConfig.ini".

Keyboard Input

To change the key bindings, edit VesselKeys.ini, found in Vessel's root folder. For Mac, this is in "Vessel.app/Contents/MacOS/VesselKeys.ini".

Game Saves

It is expected that the game saves for Vessel are cross-platform. For Windows they should be located in "%APPDATA%\Vessel\", and for Mac/Linux they should be in "~/.vessel/". Just poke your saves into those directories and you should be all set!

Mac OSX, Linux

MASSIVE DISCLAIMER! The Mac/Linux versions of Vessel are still in development and this section is subject to change prior to/on/after release. Consider this a preparation guide for now!

Known Issues

Note: The following section was originally written by Vessel's primary Mac/Linux developer, Ethan Lee, but may have been edited after the original post by other contributors.

Resolution Settings

The Problem: Resolution settings do not change after applying them in-game.

The Solution: Edit them in the config:

  • Open up "~/.vessel/VesselConfig.ini" with your text editor of choice.
  • Edit ForcePixelResolutionX for screen width, ForcePixelResolutionY for screen height, VSync for v-sync, and FullScreen for fullscreen.

Why? The renderer, being designed around Direct3D, set display resolutions in a way that SDL/OpenGL was not entirely comfortable with. As a quick fix, I made the engine initialization read the config inputs first, then initialize the display with those settings. I will look at fixing this in-game, however.

Gamepad Bindings

The Problem: I can't set my gamepad bindings in-game!

The Solution: Edit VesselGamepad.ini with your text editor of choice to configure your gamepad. The directions are located in the file. For Mac this will be in "Vessel.app/Contents/MacOS/VesselGamepad.ini", and for Linux this will be in "/path/to/Vessel/VesselGamepad.ini".

Why? The original Win32 version of the game uses XInput and stores configurations for various controllers into the engine itself. For the SDL port, I designed this SDL joystick config system to quickly enable controller support while supporting as many controllers as possible.

Additionally: 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!

Controller Input

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 -1.
--
-- 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=-1
DPad_Up=5
DPad_Down=4
DPad_Left=6
DPad_Right=7
Axis_LX=0
Axis_LY=1
Axis_RX=2
Axis_RY=3