Description

INPUTDOG IS NOW FREE AND OPEN SOURCE https://github.com/messhof/Input-Dog

FEATURES

  • Replaces keyboard_check(), gamepad_check_button(), and joystick_check_button() with a single script inputdog_down()
  • Automatically checks for joystick connections and disconnections. Players can add and remove joysticks at will without disrupting the flow of your game
  • Includes an example input remapping room for players to define custom controls their keyboards/joysticks and switch between xinput and directinput (per player) for maximum compatibility (NOTE: Game Maker can only track up to 2 joysticks in direct input mode)
  • Define your inputs with names instead of referring to the button index/default key. (ex: inputdog_add_input("left", vk_left, inputdog_left_stick_left), then to check it use inputdog_down("left") )
  • Inlcudes checks for whether an input is down, pressed, or released
  • Supports gamepad rumble
  • Record and play back inputs with the easy to use inputdog_replay functions

The asset package includes examples for all of these features.

In the example project I've set up the controls for player 1 in the InputForPlayer1 object:

inputdog_add_input("left",   vk_left,    inputdog_gp_left_stick_left);
inputdog_add_input("right",  vk_right,   inputdog_gp_left_stick_right);
inputdog_add_input("bark",   ord("N"),   gp_face3);
inputdog_add_input("growl",  ord("M"),   gp_face1);

Here's the Step Event for player 1's character:

if inputdog_down("left", playerSlot) x-= 3;
if inputdog_down("right", playerSlot) x+= 3;

if inputdog_pressed("bark",playerSlot)
    sprite_index = sDogBark;

if inputdog_pressed("growl", playerSlot) 
    inputdog_set_rumble(0.5, playerSlot);

FEATURE REQUESTS WELCOME

If there's something you wish this had, send me an email and I'll see what I can do!

PLEASE LEAVE A REVIEW

More info

End User Licence Agreement (EULA).

Changes in 1.2.0

-fixed issues with newer versions of gm

Version 1.2.0. Published October 23, 2015

Created with GameMaker: Studio v1.99.460

Age Rating: 4+

Average Rating

Your review

You can only review assets you've bought.


Gravatar

Tobias F 08 February 2017

incredibly great asset

Avoid spending days on a partially working keybinding system when this takes care of (almost) everything.
For a free asset this should be mandatory to download for everyone who wants to create a quality game. Set it up once and never look back.

Currently I am trying to figure out how to make the code work with my controller and keyboard menu system, and I could not find any help online. If someone would make a version with Input Dog AND a working menu system for controller, keyboard and mouse, it would be the ultimate asset.

IF YOU SEE THIS AYAT S. FROM BELOW. PLEASE POST YOUR CODE ON REDDIT/GAMEMAKER. PLEASE!


Gravatar

Martin H 07 December 2016

A fantastic tool

It took me a half a day to get my head around it, I have it implemented but this is so advanced and wonderful I'm not sure just how it works, but it does. And brilliantly at that.
Thank you so much Messhof for making this available. You not only make wonderful games, but also excellent tools available for free, and for beginners like me. You saved me and others a ton of time.
Thanks :)

PS.: For others who might struggle on implementing:
The hardest stuff in order to get custom controls in my game, was realizing that you have to comment out inputdog_load_custom_controls();, in InputManager Create event. If you don't you can't create custom controls, but will get an error when new setups are made.


Gravatar

ayat s 24 November 2016

Pretty much everything you need!

This is probably the best controller manager you can get, easy to setup and use without needing to o through tons of headache. If you are a noob like me don`t try to make sense of the code, just grasp the basics so you can put in your project. I spent two days and made the code to work with non-mouse menu that I have and it worked pretty well.

Update: Someone should update this to work with GM 2.0


Gravatar

Andreas M 12 February 2016

All you need

Great code. Simple to use.


Gravatar

Andy D 01 February 2016

great


Gravatar

malthe f 31 January 2016

Simple with lots of possibilities.

After getting the hang of it, I was able to write a 4 player controller/keyboard game with ease.
This asset really takes a lot of effort from writing your own keybind system, and fits perfectly for my games, I'll definitely use this in future projects as well!

The only thing to note, is that the first room is used to initialize variables used by this system.


Gravatar

Jonathan D 13 December 2015

So good it should be included in gamemaker

This is much better than the universal input script I had written. This is sure to be a part of my projects in the future. Thank you Messhof!


Gravatar

Anonymous 19 October 2015

Brilliant!

Thanks so much for this asset! So easy to use. I needed to add controller support to my game. It took me about 10 minutes to get it up and running and it has been working without any hassles at all!. As the author mentioned below, for my game I didn't need a seperate room to activate the controllers, I just put "instance_create(0,0,InputForPlayer1)" at the start of the creation code of the first room of my game.

This review was left for a previous version of this asset.


Gravatar

Justin K 28 August 2015

This is great - helped me add 8-player mode

Once you get your head around how it works (using the example provided) - this is a very useful set of scripts.

This review was left for a previous version of this asset.


Gravatar

Oscar B 01 January 2015

Great except for one time waster

I don't know if anyone else has this problem, but It has to do with scaling views. GM:S initializes your games port on screen to the port of the first room that uses views. This asset requires that your game load an initial room that sets up all it's inputs and whatnot, so just make sure that you set the view port of that first room to be the same as the rest of your game, or you will run into some serious scalling and resolution issues. It's just not written anywhere in the documentation, so you might waste a bit of time.

Other than that, this is a great asset package!

This review was left for a previous version of this asset.

Logo

Messhof LLC (Publisher) 04 January 2015

Thanks, Oscar. Yes, the initialization code in the first room's creation event just has to happen before you call other input dog scripts.


Gravatar

noah s 02 December 2014

input dog: more than a pet

input dog is a 'fetching' game maker asset that, much like a real dog, will quickly become a valued member of your family.

from the useful example project to the platform-independent gamepad implementation, you'll be pleasantly surprised at how friendly and servile your new canine companion is. best of all, input dog is still in development, proving that you CAN 'teach an old dog new tricks'.

This review was left for a previous version of this asset.


Gravatar

Tristano A 24 November 2014

Excellent

Input Dog is well implemented and comes with a cool example project. The scripts can easily be imported into any project in an "off-you-go" manner, without trouble. Great handy bundle of scripts!

This review was left for a previous version of this asset.


Gravatar

Daniel A 25 September 2014

Fantastic only begins to describe it.

Great time saver with some nice tricks under it's sleeve.

Implementing it is almost as easy as using GM's own checks, but to a grander result.

This review was left for a previous version of this asset.


Gravatar

Anonymous 17 August 2014

Saves a lot of unneeded hassle

It's extremely easy to set up and implement, allowing you to support keyboard, xinput, and directinput gamepads without having to write out seperate code for each of them!

This review was left for a previous version of this asset.


Gravatar

Mark A 03 August 2014

Well written, and much needed!

Excellent asset package! As someone that finds setting up multiple inputs for different platforms etc... boring and a real chore, this is a godsend. Thanks!

This review was left for a previous version of this asset.

Package contents

Total size 16.9 KB

Input Dog.extension.gmx 7.12 KB Input Dog
Assets
Fonts Objects Rooms Scripts Sprites

What is the issue?

Back to Top