Jump to content


Photo

KBInput is now available on the Marketplace


  • Please log in to reply
5 replies to this topic

#1 kburkhart84

kburkhart84

    Firehammer Games

  • GMC Member
  • 2026 posts
  • Version:GM:Studio

Posted 30 July 2014 - 05:59 PM

KBInput is the easiest way to let game players choose what inputs to use for your game. It wraps and replaces GMStudio's input functionality, making the keyboard, gamepad functions, and old joystick functions work together, allowing the game player to choose whatever they want for your game's actions. All the while, you, the game programmer, only have to use a simple set of functions to get the status of the inputs, which don't ever change regardless of what the player chooses for inputs.

  • Makes custom inputs easy to implement
  • Easy to keep default configurations handy(a single string in your code)
  • Keeps track of input status, including not only if it is currently pressed, but whether it was just pressed this step, just released this step, and how long in seconds it has been held down.
  • Allows use of joysticks and XInput devices via GMStudio's current GML functions
  • Puts the actual input device behind the scenes allowing your game code to call a single function to check the input status, regardless of what it is.
  • Tracks axes and buttons, all in the same system, allowing you to vary movement based on the tilt of an axis if you desire.
  • Comes with a simple example showing how to get started with this.
  • Comes with default descriptions for inputs allowing you to show the player what they have currently chosen for inputs. The script is available in the IDE so you can easily change said descriptions to your tastes.
  • Checks if there are "conflicts" where multiple actions are using the same input, allowing you to detect it with a function call and notify the player.

Support is provided via the GMC(user "kburkhart84") or via e-mail "admin@firehammergames.com."

 

The marketplace link is here.

 

The price is $9.99, but for there is an introductory sale of 50% off, so it is currently at $4.99.


  • 0

My KBInput system is now on the marketplace here.  It wraps up nice and tight GMStudio's input system into a few function calls making a user configurable input system that works the same regardless of what inputs the player has chosen including keyboard, mouse buttons, and gamepad/joysticks using DInput/XInput.  The support forum topic for it is here.


#2 kburkhart84

kburkhart84

    Firehammer Games

  • GMC Member
  • 2026 posts
  • Version:GM:Studio

Posted 16 August 2014 - 10:51 PM

This is a celebratory post just to thank whoever it was that made the first purchase.  Feel free to leave me feedback!


  • 0

My KBInput system is now on the marketplace here.  It wraps up nice and tight GMStudio's input system into a few function calls making a user configurable input system that works the same regardless of what inputs the player has chosen including keyboard, mouse buttons, and gamepad/joysticks using DInput/XInput.  The support forum topic for it is here.


#3 kburkhart84

kburkhart84

    Firehammer Games

  • GMC Member
  • 2026 posts
  • Version:GM:Studio

Posted 21 August 2014 - 01:54 AM

I just lowered the price to be more in line with similar products.


  • 0

My KBInput system is now on the marketplace here.  It wraps up nice and tight GMStudio's input system into a few function calls making a user configurable input system that works the same regardless of what inputs the player has chosen including keyboard, mouse buttons, and gamepad/joysticks using DInput/XInput.  The support forum topic for it is here.


#4 kburkhart84

kburkhart84

    Firehammer Games

  • GMC Member
  • 2026 posts
  • Version:GM:Studio

Posted 22 September 2014 - 10:58 PM

Just a reminder, the current price is at $4.99, but it is on sale for $1.99 so I can get some feedback and feature requests.


  • 0

My KBInput system is now on the marketplace here.  It wraps up nice and tight GMStudio's input system into a few function calls making a user configurable input system that works the same regardless of what inputs the player has chosen including keyboard, mouse buttons, and gamepad/joysticks using DInput/XInput.  The support forum topic for it is here.


#5 DetectiveButler

DetectiveButler

    GMC Member

  • New Member
  • 5 posts
  • Version:GM:Studio

Posted 19 November 2014 - 02:13 AM

Hey there, just had a few questions.

 

How many joystick inputs can this take at once?

How many axis per joystick?

How many dpads per joystick?

How many pressure triggers per joystick?

Is there a release/press function along with state return?

 

Thanks.


  • 0

#6 kburkhart84

kburkhart84

    Firehammer Games

  • GMC Member
  • 2026 posts
  • Version:GM:Studio

Posted 26 November 2014 - 03:40 AM

Well, at the core, it is a wrap up of GM's current functions, using the GML language to access the it all.  So...you would have to check GMStudio's specs on input in order to figure out what all it can handle.  Let me get you started.

 

OK, my extension currently accesses pretty much all keyboard keys, including special keys, media keys, etc...  But, those really special keys though not be set up properly in the descriptions because they vary on any given keyboard.  They are still usable however.

 

For joysticks, etc...  using the older joystick functions(which use DirectInput internally to GMStudio), you have access to 2 joysticks as is.  Then, each joystick has full access to up to 32 buttons, plus POV and 6 axes(X, Y, Z, U, V, R), which can be in many different comfigurations, including throttles, etc...

 

Then, using the newer gamepad functions internally(which is XInput), you have access to 4 devices according to GMStudio's documentation.  You can access all of the buttons usually available on the XBOX360 controllers.  The same can be said for the axes.  So you have the 4 face buttons, the two each L/R as buttons, the 4-dir digital pad, and the two analog sticks(when pressed as buttons), then you have the x/y axes for each stick, and the L/R buttons as axes as well.  This all assumes that you indeed have that exact device.

 

Note that in the case of the axes, the -X and +X(and the other axes as well) work separately, so you could have -X set to one action, and +X set to another.  Each one would return the value between 0 and 1 indicating the current status of the axis.  So if the axes is pressed left, then an action mapped to the one pressed right would have to be zero as you can't push the axis both ways.

 

I'm not sure exactly what you mean by "pressure triggers" but it sounds like you refer for example to the L/R triggers on the XBOX devices, and if so, you have the answer above.

 

About press/release functions, this is indeed is easily done with my extension.  You can check the current state, whether the button/axis/key was pressed this very step, whether it was released this very step, and lastly for exactly how long the thing has been held down(if it is being held down).  There are other utility functions as well, including descriptions, functions for mapping the actions, checking conflicts, and other things like getting configurations to save/load.

 

If you have any more questions, feel free to ask.  And I apologize for taking so long to respond to you.


  • 0

My KBInput system is now on the marketplace here.  It wraps up nice and tight GMStudio's input system into a few function calls making a user configurable input system that works the same regardless of what inputs the player has chosen including keyboard, mouse buttons, and gamepad/joysticks using DInput/XInput.  The support forum topic for it is here.