Difference between revisions of "Vessel"
(Wrote the Vessel page.) |
|||
Line 1: | Line 1: | ||
− | {{ | + | {{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
Windows, Mac OSX, Linux
Configuration
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