XIM Community

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - MuKen

Pages: [1]
1
Hardware Compatibility / Joystick support?
« on: 11:52 PM - 09/02/15 »
Will the xim4 be getting support for any actual joysticks soon?  This is a big function missing that the previous xim edge had, and should be prioritized since its a whole class of input devices that is currently missing.

I think the logitech extreme 3d pro would be a great starting point.

2
Am I correct in that currently the only option we have for analog inputs for the left stick is the Sony NAV?

I really liked using a full-size joystick in my left hand with the Edge, but none of them seem to be supported now.  I don't really like the nav because it's not anchored in place, so it's hard to keep a good grip on it while accessing all the buttons and moving the stick.

I think supporting a logitech extreme 3d pro would be fantastic.

3
XIM 4 Discussions / Do people still use ballistics curves?
« on: 08:17 PM - 02/04/15 »
Hi everyone!  Apologies for my long absence from the board, my last year in grad school got extremely hectic (although on the upside, I am now Dr. MuKen :) )

I was planning on resuming working on my ballistics curve editor

http://xim4.com/community/index.php?topic=31309.0

but I noticed that there's no longer a curve library sticky, unlike with the xim edge forum, or much curve discussion at all for that matter.  Is this because people don't use them as much any more?  Is there still interest in improved functionality for the tool?

4
https://googledrive.com/host/0B8EFYcEZMa4deTNOUjM2OTlKTVU/xim4ballisticscurvetool.html

Hi everyone, with much thanks to abc123 for helping to update things, the ballistics curve editor is now working for XIM4 codes.

There's also now a new method for editting curves that more visually oriented people should like.  Basically when you first load up the tool, it begins with a single line "segment", which is a straight line from 0,0 to the maximum 20,100.  If you look below the chart, you'll see a box labelled "Insert", as long as it stays that way, you can add new segment points by clicking on the chart.  I.e. if you click somewhere in the middle, it will split the segment into two segments: a straight line to the point you clicked and another segment leading to where the old segment originally led from there.

After laying out all the general places you want to hit with straight segments, you can switch the box from "Insert" to "Curve".  In this mode, if you click an area, instead of adding a new segment, it will attempt to curve one of the existing segments to get as close to that point as possible using linear acceleration or deceleration as appropriate.  You can switch back and forth between these modes as you see fit.

For the time being, only linear curves are supported, so the types of curvature you can create are limited by that.  I may add more types of curves in the future.  If you are having trouble bending curves the way you like, try clicking in different areas (i.e. closer to the beginning or endpoints of the segment you are curving versus in the middle, etc.).

If you prefer the old method of working with the generation code, it still works and you can use both interchangeably.  I.e. you can use the visual point and click method to get started, then adjust the text of the code to tweak things, and go back to make some more changes by clicking, etc.  The chart images can still also be downloaded by clicking the icon in the upper right, or hosted on imgur and pasted into a forum post by clicking the button on the bottom.

The generation code is a little simpler since the XIM4 doesn't include hip and ads in a single code and also doesn't store sensitivity.  So for example, you can enter the following:

Code: [Select]
0.2 0.3 lineardeceleration 0.4
0.7 0.8 linear
1 1 lineardeceleration 0.6

Try it out and see what happens.  Basically, we have created a simple boost curve for pushing past auto-aim, using linear deceleration curves at the bottom and top to smooth it out.  The first line starts with "0.2 0.3", saying we wish to move through the point 20% along the X axis and 30% up the Y-axis.  This is followed by "lineardeceleration", stating the type of curve we wish to use to get to that point, along with a parameter specific to linear deceleration curves.  Different functions will take different types and numbers of parameters.  The next line connects us to the point "0.7 0.8" with a straight line.  And the third line finishes off by reaching the top right corner of the graph.

When specifying points, you can enter "?" as the Y coordinate.  When doing so, the tool will calculate the curve that would have led to the previous point, then extend it to the new X coordinate and use the Y coordinate that would have naturally resulted.  This should not be used on the first point.  Note that using this method will prevent the visual graph click editting method from working.

Currently the following functions are supported:

linear - connect two points with a straight line, no parameters

linearacceleration - use a linear acceleration curve, 1 parameter (must be >0).  The sensitivity at the endpoint is fixed, and the parameter indicates what the factor of sensitivity rampup from start to end to reach it was.  For example a factor of 2 will add twice the starting sensitivity from beginning to end, so the sensitivity at the end of the range will be triple the start.

lineardeceleration - use a linear deceleration curve, 1 parameter (must be >0).  The sensitivity at the endpoint is fixed, and the parameter indicates what the factor of sensitivity lowering from start to end to reach it was.  For example a factor of 2 will start at an additional twice the ending sensitivity, so the sensitivity at the end of the range will be triple at the start.

logarithmic - a logarithmic curve, 1 parameter (must be >0) indicating the domain range that should be set to match the endpoint (higher values will make for a steeper start, lower values will make the curve straighter)

exponential - an exponential growth curve, 1 parameter (must be >0) indicating the domain range that should be set to match the endpoing (higher values will make for a steeper start, lower values will make the curve straighter)

The three parameters are designed so that if you operate on a region twice as wide, you should double the parameter to achieve a similar curve nature.  So looking at the example script, the parameter was raised by 50% for the second deceleration section, because that section covers an area 50% wider, resulting in similar curves.

Curve generation will also create a save link to come back to your work, and forum code to post the results, as will viewing of xim-pasted curves.  Following either method, if you want to add images of the graphs to the forum code, you can do so by clicking the button at the bottom of the page.  This takes some time, wait until it automatically selects the text to let you know it is complete.

I make no promises about what might happen if you enter weird things (incorrect parameters, points out of order or out of bounds or not reaching the end, etc).  Suggestions on what to work on next or bug reports are welcome.

5
Hi everyone, I've been working on this for a while and think it's time to share.  This is a writeup of guidelines to help in creating ballistic curves that are more compatible with human muscle memory based on mathematical analysis.  Compatibility with muscle memory is good, because it allows you to accurately make quick aiming movements, for example, you are trying to snipe a quick moving target and want to just 'flick' the reticle towards them and fire.  Some of the guidelines recommend using specific mathematical functions to create your curves; this can easily be done using my curve generation tool:

http://www.xim3.com/community/index.php?topic=29380.0

The purpose of this guide is not to say that curves that violate any of these guidelines are "wrong"; ballistic curves are all about personal preference.  But they should be used as a baseline, and you should understand exactly what you are doing when you deviate from them.  For example, one of the guidelines is that you should not end a ballistics curve below the upper-right corner, because doing so creates a curve that red-lines earlier than it needs to.  It is entirely conceivable somebody's personal preference is to WANT the red-line to occur earlier.  They aren't wrong to want that, it's personal preference.  But it's important to understand that that IS the consequence of building your curve that way, and most people will not want that.

I'll begin by summarizing all the guidelines here, and follow with additional posts explaining each of them.

1. Beginning and ending - A ballistics curve should start in the lower left corner (0,0), and end in the upper right (20, 200).  It shouldn't hit the ceiling or floor anywhere in between.

2. Linear sections - Any straight line portion of a curve should 'point' towards the origin (0,0).

3. Accelerated regions - Any portion of the curve that grows should do so with a linear acceleration, or quadratic, curve.

4. Decelerated regions - These regions (generally used for 'boosted' curves) will be difficult to develop muscle memory for regardless of how you make them, and you will usually end up aiming visually.  That being said, I prefer linear deceleration curves.

6
I have noticed when using these three devices in conjunction (the ASUS bluetooth adapter in order to use the Sony Nav controller wirelessly, along with a simultaneously wirelessly connected Logitech G700S), that there is sometimes slowdown.  Movement becomes choppy, as if the polling rate were very very low.

I couldn't say if this occurs with any other combinations, and it's probably moot given that the Xim4 is coming out soon, but just thought I'd point it out in case a similar problem is present with the Xim4.

7
XIM EDGE Discussions / New Xim beta
« on: 11:45 AM - 12/04/13 »
Just wondering, will the beta for the XIM4 on the Edge increase any of its functionality for current-gen consoles?  For example, it was mentioned that XIM4 will support things like mouse-generated keyboard events, any chance this will be seen on the edge?

8
So after seeing this thread

http://www.xim3.com/community/index.php?topic=19153.0

I got excited over the idea of having an analog stick or 3 integrated into my mouse, to use when I'm steering vehicles, etc.  I understood I'd have to use XimCommander, and was ok with that.

BUT, upon receiving mine, I was hugely disappointed to find that the sticks are not analog.  They are 8 way directional hat switches.  Not at all what I was hoping for, and I assume not what any other XIM user who gets excited over seeing these images would be hoping for.   Be warned!:P

9
https://googledrive.com/host/0B8EFYcEZMa4deTNOUjM2OTlKTVU/ximballisticcurvetool.html


Hi everyone, I've made another new tool to help people make ballistic curves and browse other users' curves.  The most obvious use of this tool is you can plug in ballistic curves that other people post and it will show you the curve in your browser without having to start up the XIM software. (simply enter it in the XIM ballistic code box and press the button).  The images can also be downloaded by clicking the icon in the upper right, or hosted on imgur and pasted into a forum post by clicking the button on the bottom.

More in-depth, it helps authors quickly generate new curves, and compute points with mathematical precision based on various algorithms, instead of painstakingly moving them around by hand.  Authors will do this by picking a couple points that they want their curve to pass through (specified as a value from 0-1 on each of the X and Y axis).  They can then choose from various functions with parameters how to fill in the space between.  For now there are just a few functions supported.  If people like the tool, I will continue to add more functionality later.

So for example, you can enter the following:

Code: [Select]
20
0.2 0.3 lineardeceleration 0.4
0.7 0.8 linear
1 1 lineardeceleration 0.6

-

15
0.3 0.3 linearacceleration 3
1 1 linear

Try it out and see what happens.  Basically, for Hip aiming we have created a simple boost curve for pushing past auto-aim, using linear deceleration curves at the bottom and top to smooth it out.  For ADS aiming, we are using a linear acceleration curve to slow down the aim when making fine movements, with a linear top-end for snap aiming.

The first line sets the Hip sensitivity to 20.  This doesn't affect the curves, it's simply for the generated XIM ballistics code.  The next line starts with "0.2 0.3", saying we wish to move through the point 20% along the X axis and 30% up the Y-axis.  This is followed by "logarithmic", stating the type of curve we wish to use to get to that point, along with a parameter specific to logarithmic curves.  Different functions will take different types and numbers of parameters.  The next line connects us to the point "0.7 0.8" with a straight line.  And the third line finishes off by reaching the top right corner of the graph.

The two empty lines with the "-" in between them separate the ADS section, which works the same way.

You can also put "copy" by itself on a line right after the ADS sensitivity line to have it simply use the same curve as the Hip curve.

When specifying points, you can enter "?" as the Y coordinate.  When doing so, the tool will calculate the curve that would have led to the previous point, then extend it to the new X coordinate and use the Y coordinate that would have naturally resulted.  This should not be used on the first point.

Currently the following functions are supported:

linear - connect two points with a straight line, no parameters

linearacceleration - use a linear acceleration curve, 1 parameter (must be >0).  The sensitivity at the endpoint is fixed, and the parameter indicates what the factor of sensitivity rampup from start to end to reach it was.  For example a factor of 2 will add twice the starting sensitivity from beginning to end, so the sensitivity at the end of the range will be triple the start.

lineardeceleration - use a linear deceleration curve, 1 parameter (must be >0).  The sensitivity at the endpoint is fixed, and the parameter indicates what the factor of sensitivity lowering from start to end to reach it was.  For example a factor of 2 will start at an additional twice the ending sensitivity, so the sensitivity at the end of the range will be triple at the start.

logarithmic - a logarithmic curve, 1 parameter (must be >0) indicating the domain range that should be set to match the endpoint (higher values will make for a steeper start, lower values will make the curve straighter)

exponential - an exponential growth curve, 1 parameter (must be >0) indicating the domain range that should be set to match the endpoing (higher values will make for a steeper start, lower values will make the curve straighter)

The three parameters are designed so that if you operate on a region twice as wide, you should double the parameter to achieve a similar curve nature.  So looking at the example script, the parameter was raised by 50% for the second deceleration section, because that section covers an area 50% wider, resulting in similar curves.

Curve generation will also create a save link to come back to your work, and forum code to post the results, as will viewing of xim-pasted curves.  Following either method, if you want to add images of the graphs to the forum code, you can do so by clicking the button at the bottom of the page.  This takes some time, wait until it automatically selects the text to let you know it is complete.

I make no promises about what might happen if you enter weird things (incorrect parameters, points out of order or out of bounds or not reaching the end, etc).  Suggestions on what to work on next or bug reports are welcome.

10
XIM EDGE Discussions / XIMCommander lag
« on: 08:39 PM - 11/16/13 »
Just wondering, does anybody have numbers on how much lag is introduced by using a PC bridge instead of going directly to the xim?  Wondering what the performance cost of supporting stuff like the logitech 3d pro is.

11
Hi everyone, after getting tired of manually creating ballistic curves to my liking for each game, I wrote up a simple script to generate them for me, and figured I'd share it:

https://googledrive.com/host/0B8EFYcEZMa4deTNOUjM2OTlKTVU/ximedgeballistic.html


How do I use the script?
Enter the hip and ads sensitivities and your mouse DPI setting into the fields, then click the button.  The other fields are for tuning to your preferences (I'll describe further below), you should figure out what works in those fields and keep them constant across all games, just adjusting the sensitivities on a per-game basis.  Then just simply copy the generated code and enter it into your XIM mouse ballistics.

You should first figure out your sensitivity by tuning without any ballistic curve; use the in-game xim sensitivity adjustment to get it to your liking.  Then increase the sensitivity a little higher than that, load up the xim manager and enter the curve this script generates.  The curve will assist you when trying to make small adjustments, which is why you can use a higher sensitivity than would otherwise be comfortable.

When generating the curve you should choose your "Accelerated Region" value based on what general range of sensitivities you use.  Mine fall within the 15-30 range, for which the value of 1.0 works well.  If you tend to double that range, use a value of 0.5, etc.


What kind of curve is it?
It starts with sensitivy below what you enter, and ramps up with a linear acceleration curve until it reaches your desired sensitivity, then becomes a plain linear curve at higher movement speeds.  The script enforces it so that the changeover point is always the same in terms of real-life mouse movement speed, regardless of what in-game sensitivity you choose.

At higher speeds, the curve will change nothing, but at lower speeds the lower sensitivity will help your fine aiming.

The top professional FPS players almost exclusively use either no acceleration (i.e. default ballistic curve), or linear acceleration with a ceiling, which is exactly what this curve will behave like.


Why use this kind of curve?
Aiming is done in one of two ways.  Either you are visually aiming, i.e. you are watching where your reticle is on screen and making adjustments with your mouse, or you are snap aiming, i.e. you observe how far off your reticle is, then make a sudden move to compensate on your mouse and click off a shot without stopping to 'see' your movement first.

Snap aiming is best done with a straight line ballistic curve, so that the same distance on the mouse is always the same distance on screen.  However, visual aiming benefits from using an acceleration curve to achieve lower sensitivity at low speeds and higher sensitivity at high speeds, allowing you to gain more specificity when making minor adjustments.  Basically this curve gives you your chosen sensitivity when operating at fast mouse movements for snap aiming, but uses an acceleration curve to give you lower sensitivity when trying to make small adjustments.  This gets you the best of both worlds between linear acceleration and non-accelerated curves.


Why generate it based on my sensitivity?
The basic idea is that the point where the curve changes from accelerated to non-accelerated should always 'feel' the same in terms of real life mouse movement.  By adjusting the curve based on your sensitivity, this ensures that point is the same across all of your games which you may use different sensitivities in.  That helps you build muscle memory and improve your aim even when you are playing many different games.


How can I tune it to my own preferences?
By adjusting the "Sensitivity dropoff" value, you can adjust how much slowdown the curve gives you at lower speeds.  I have defaulted it to 3, meaning your sensitivity lowers by as much as 3x when you are trying to maneuver slowly.  You can also adjust where the change begins to occur by adjusting the "Accelerated Region" value.  If you find that your snap movements are being slowed down when you don't want them to, reduce this value.  If you find it too hard to engage the slow movements, then increase this value.

12
Hi I saw the thread here

http://www.xim3.com/community/index.php?topic=28856.0

covering an issue I also posted about in the hardware subforum.  In response to the last post, ballistic curves never do as good a job as a correct smart translator.  I understand that you can't support multiple ADS modes, but can't you simply release another profile?  GTAV(normal) and GTAV(sniper).  Then the player can map the extra profile to a key and use it when appropriate himself.

13
Hi everyone, I've been searching around, but can't find the answer to this question: is the sensitivity value applied before or after the ballistics curve?

I.e. if I double my sensitivity, does that provide the output at the position twice as far to the right on the curve, or does that double the output of the current position on the curve?

14
Hi everyone, just wanted to ask about the mice on the xim top mice list

For me personally, no gaming mouse is complete without an EasyAim/PrecisionAim button.  That is, a button that changes DPI only when held and immediately returns it when you release it (note that this is not the same as having a DPI cycling or toggling button, EasyAim allows me to rapidly shift much faster in the heat of action).

I am currently using a Roccat Kone XTD for this very function, and it works great.  However, the XIM is only able to recognize 5 of its configurable buttons, whereas I would like 7.  Most of the recommended or highly voted mice on the list seem not to have this function, the only other one I know that does is the Cyborg RAT line, but I've never seen or used one.  Can anyone comment on how these feel, and if they have at least 7 XIM-recognizable button maps?  Or tell me if any of the other mice on the list have EasyAim functionality?

Or if anybody who also uses a Roccat mouse knows how to map more than 5 buttons that XIM will recognize that would be great as well.  So far, I can map the left, right, center, back, and forward buttons which XIM will recognize as buttons 1-5.  I can also map buttons to scroll up/down and tilt left/right, however the problem is a button mapped as scroll cannot be held down (which many games require for various things) and a button mapped as tilt has extreme input lag to the xim for some reason.

15
Game Support / GTA V sniping
« on: 09:49 AM - 10/19/13 »
Hi, I'm just recently got a XIM and I'm loving it, completely sold and can never go back to controller play again:)

One issue I noticed with GTA V is the deadzone seems to change when zoomed in with a sniper rifle, which makes the smart translator work very poorly for this weapon.  The deadzone is larger, and so when zooming in it doesn't register small mouse movements, making it very difficult to aim properly.

I think the only solution is to make another smart translator specifically for the sniper rifle and let the player switch back and forth when he is using this weapon.

Pages: [1]