Game Maker Studio 1.4 Mac

Free Full Version Download for GameMaker Studio. Instillation instructions: 1. Download our zip archive from the link below and unzip it with 7-zip or equivalent un-zipping program. Run the GMStudio-Cleanup-1.0.0.0.exe first 3. Now run the GMStudio-Standalone-1.2.1130.exe and setup gamemaker Enjoy! For more info visit our website.

This section deals with gamepad input for your game.

GameMaker: Studio has a number of dedicated functions that can be used to detect both analogue and digital controls from multiple connected game pads. These functions work similar to the Device Inputs, in that you can detect up to four different XInput game pads that are connected (and up to 8 DirectInput gamepads) and deal with the input from each one using the same functions. Note that when a gamepad is plugged in to your device (or it is removed) then an asynchronous System Event is triggered where you can deal with the situation using the appropriate functions.

The gamepad 'slots' are indexed from 0 with slots 0 - 3 inclusive being only for Xinput gamepads, ie: Xbox360 controllers and compatibles. However you can also check slots 4 - 11 inclusive for DirectInput gamepads, which means you can detect many other models of controller when connected through these slots. It is worth noting that when using DirectInput gamepads, the constants given below may not match exactly the buttons that you expect when they are pressed, due to the fragmented and non-standardised way thet the API is implemented by controller manufacturers. It is recommend that you have some kind of game-pad setup screen in your games where people can redefine the gamepad buttons based on input from any connected to device to mitigate any issues. Also note that the Direct Input interface is run in cooperative mode which means that your game only has access when it is the foreground application, which in turn will cause Direct Input controllers to be 'lost' if the game uses focus and then 'found' again when it comes back into focus (this can be detected in the System Event and dealt with).

When working with the gamepad functions, there are a number of built-in constants that should be used for getting/defining buttons and stick axis etc...:

ConstantDescription
gp_face1Top button 1 (this maps to the 'A' on an Xbox 360 controller and the cross on a PS controller)
gp_face2Top button 2 (this maps to the 'B' on an Xbox 360 controller and the circle on a PS controller)
gp_face3Top button 3 (this maps to the 'X' on an Xbox 360 controller and the square on a PS controller)
gp_face4Top button 4 (this maps to the 'Y' on an Xbox 360 controller and the triangle on a PS controller)
gp_shoulderlLeft shoulder button
gp_shoulderlbLeft shoulder trigger
gp_shoulderrRight shoulder button
gp_shoulderrbRight shoulder trigger
gp_selectThe select button (this is a touch-pad press on a PS4 controller)
gp_startThe start button (this is the 'options' button on a PS4 controller)
gp_sticklThe left stick pressed (as a button)
gp_stickrThe right stick pressed (as a button)
gp_paduD-pad up
gp_paddD-pad down
gp_padlD-pad left
gp_padrD-pad right
gp_axislhLeft stick horizontal axis (analogue)
gp_axislvLeft stick vertical axis (analogue)
gp_axisrhRight stick horizontal axis (analogue)
gp_axisrvRight stick vertical axis (analogue)


To better understand exactly what part of the controller each constant represents, you can refer to the following image of a standard gamepad:

Below you can find a list of all the gamepad functions:

Maker
  1. gamepad_is_supported
  2. gamepad_get_device_count
  3. gamepad_is_connected
  4. gamepad_get_description
  5. gamepad_get_button_threshold
  6. gamepad_set_button_threshold
  7. gamepad_axis_count
  8. gamepad_axis_value
  9. gamepad_button_check
  10. gamepad_button_check_pressed
  11. gamepad_button_check_released
  12. gamepad_button_count
  13. gamepad_button_value
  14. gamepad_set_vibration
  15. gamepad_set_axis_deadzone
  16. gamepad_set_colour

Compatibility

Game Maker Studio 1.4 Machine

The following list shows current compatibility across the platforms (note that this will change with future updates):

  • Windows is fully supported with up to a maximum of 12 connected devices permitted at once (numbered from 0 to 11, with 0 - 3 being XInput devices and 4 - 11 being DirectInput).
  • Mac OSX is supported with up to a maximum of 4 connected devices permitted at once, and these devices can ONLY be of the type Playstation3 or Xbox 360. Please note that the 'Build for Mac AppStore' option in Mac Global Game Settings needs to be OFF for pad support to work.
  • Ubuntu does also support GamePad input, but you may need to install additional libraries from the Ubuntu repository. You can do this easily by opening a command line terminal and typing the following:

    sudo apt-get install jstest-gtk
    sudo apt-get install joystick.

    This will install GUI support for the joystick as well as the joystick itself.

  • HTML5 games are only supported by most major browsers, except Safari.
  • Gamepad support also extends to iOS with the iCade cabinet. The left axis maps to the stick controller (although the input is digital, not analogue), the four 'face' buttons map to the cabinet front buttons, and the four shoulder buttons map to those at the back of the cabinet.
  • Android export supports NYKO controllers and generic Bluetooth controllers (including the OUYA), but only when they are enabled, meaning that you will have to tick the iCade/Bluetooth option in the Android Tab of the Global Game Settings. They require API level 12 for them to work fully and it should be noted that GameMaker: Studio will register as connected any Bluetooth devices that your device is paired with, whether or not it’s actually connected. Therefore this should be taken into account when assigning and checking 'slots'.
  • On PS4, if you want to use the touch pad tracking you need to use the device_mouse_* buttons.

Game Maker Studio Download


Game Maker Studio 1.4 Mac Download

Next: Joystick Input
© Copyright YoYo Games Ltd. 2018 All Rights Reserved

Comments are closed.