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 - OBsIV

Pages: 1 ... 34 35 [36]
General Discussion / MOVED: Favorite Strain?
« on: 02:06 PM - 05/22/10 »

XIM 3 Discussions / Smart GoW2
« on: 06:53 PM - 05/20/10 »
The following smart translators are now (or just about) complete for XIM3:

Halo 3
Modern Warfare 2
Bad Company 2
World at War
Modern Warfare (in progress)

These games represent the top 9 most played Xbox shooters to date (majornelson.com). The 10th most played game is Gear of War 2, so, I'd like to start on that one.

As this is a 3rd person game (and one I haven't spent much time on), my question for you is, what's most important to you as far as precision aiming. Is it 3rd person view, zoomed in 1st person view, or both?

XIM 3 Discussions / Smart BF:BC2
« on: 11:23 AM - 05/11/10 »
Hey there, I'm starting to work on setting the XIM Trainer loose on BF:BC2 to produde a Smart translator.

I'm not that familiar with this title. Could you BC2 experts out there tell me if the look mechanic of this game is the same with every weapon you can carry?

XIM APEX Discussions / OBsIV's XIM Development Blog
« on: 01:35 AM - 11/26/09 »
Hello fellow XIM users!

Over 2 years ago I posted my first blog about something I was calling "Xbox Input Machine". I set out on goal of creating a system that would allow me to play Halo using a Wiimote. The post was just to document what I did and share it with some friends. What I didn't expect is how much it would grow! Here we are today -- a thriving community of gamers with the same desire to quality game on the Xbox with whatever gaming device that best suits them.

Adapting high-precision gaming peripherals to Xbox titles which were designed for low-precision controllers is a very difficult task. XIM is the only system that focuses on achieving a level of gaming quality that competitors cannot remotely match. I pushed this to the next level with XIM2 when I introduced a preview my new "smart" mouse translation system. Configuration-free, this new system produces the best possible in-game feel via software I created that actually learns the look mechanics of the game. It is a preview of what is to come. It's time to take the next step...

Because of this community's continued support, I proud to announce that development of XIM3 has begun. I'm designing XIM3 to be, by far, the most advanced Xbox input adaptor available. I've assembled an incredible engineering team and have a planned shipping date of Q1 2010.

Unlike prior versions, XIM3 will, of course, be a PC-less solution. Additional specifics of XIM3 will come by way of this blog over time. I want the community to be well informed during this process, so, it's my intent to document XIM3 developments as they happen (including pictures and videos). I may be light on details at times because I have some surprises in store, so, I ask for some patience. :)

Again, thank you all for your continued support!


Fellow XIMer's, as you may heard that I've been working on a new mouse translation system. XIM is already the most advanced and precise mouse input system for the Xbox 360 in existence, so, you may be wondering why I'm working on this. It's pretty simple: I'm obsessed with this stuff (hence my name :). I always want more out of XIM, and, with this new system, I've achieved something products like XFPS can only dream of accomplishing.

I refer to the new system as "smart" because it actually learns the look mechanics of the game it's targeting. Obviously, this learning phase happens "offline" on my machines where a specialized application I created painstakingly analyzes the game automatically without manual interaction. The entire process takes more than half a day to complete. The end result is a system that is 100% crafted to the target game. The mouse-to-stick look feel is the highest quality result that can be achieved given the fundamental constraints of the game. Meaning, it's amazing! Even better, because the system learns the mechanics of the game automatically, it only requires a single setting to function: sensitivity. All other settings (dead-zone, dead-zone shape, translation exponent, smoothness, etc.) no longer exist. So, not only is the feel improved, it's much easier to use too!

Because the new system is game-specific, of course, not every game will be supported. This means the existing system (knob-based) will always be around and most games will continue to use it. Game candidates for the new system will be chosen based on two criteria: 1) difficultly to configure, and 2) popularity. Given this criteria, the first game I chose to target was an obvious one: Halo 3. Over time, I'll add support for additional games where it makes sense.

Please note that this is a technology preview of the great work going on in XIM and there is no guarantee that support for your favorite game will be added to XIM2.

All you Halo 3 players out there, make sure to upgrade to the latest software drop dated 5/15/2009. Go and configure your settings, and, change "Game" to "Halo 3" in the drop down (notice how all the other knobs disappear!). Set your Sensitivity (30 works well for 2000dpi mice). Then, get online!

New software drop at: http://xim360.com/?page_id=8



XIM 2 Discussions / XIMTweak
« on: 12:48 AM - 10/28/08 »
Hey everyone, just wanted to start up a discussion about a new tool I'm working on called XIMTweak. It is designed to build better configurations by taking the guesswork out of choosing knobs. The application is still a little rough, but, I'm already seeing benefits I wanted to share.

The tool features an "input generator". What's important about this is that it will simulate exact geometric shapes (such as a circle). While it's running that circle, you can quickly modify settings and observe the results.

I've spent some time with Halo 3 tonight and XIMTweak. What I quickly found out is that my default config I ship for Halo 3 isn't that great. :) With some, well -- tweaking, I was able to produce a reticule that moves in a stable circle now. To my surprise, it took a much greater DiagonalDampen value as well as increased DeadZone. I'm going to spend more time thinking about why this is the case and go online and try it out. But, preliminary tests of running around a map was very positive! It was definitely enough to make me believe a tool like this is going to be very valuable.

I was hoping to get some feedback. Could some of you try out these Halo 3 knob values (in the picture) and report back any improvements (or regressions)? I'd appreciate it. :)

Per request, this is a video showing small circular movements using xim2
Original Post - http://xim3.com/community/index.php?topic=1305.msg14081#msg14081

Hey, this just gave me an idea. I wonder how an application that could drive the sticks in exact geometric movements could help with configuration. For example, press a button to cause a circular movement (with customizable diameters) or a linear movement (with customizable angles). And, you'd be able to adjust knobs dynamically based on what you are seeing.

I'm currently using a Thermaltake Flare gaming keyboard with my XIM (http://www.thermaltakeusa.com/product/Accessory/keymou/A2418/a2418.asp#). Of course, this means that movement is digital (i.e. WADS).

I've been looking around for other gaming keyboard options, such as: http://www.saitekusa.com/usa/prod/cyborgcommand.htm. It appears to have an analog stick, but the description states that it's "4-way", and, I'm not sure what that means (i.e. is it only 5-positions)?

I'd really like to find a gaming device that has a true integrated analog stick and I'd like to support it directly in XIM2.

Does anyone know of a gaming keyboard that has a true integrated analog stick? Is that one I referenced (Cyborg Command Unit) have the feature I'm interested in?

XIM 2 Discussions / XIM2 Progress
« on: 07:33 PM - 03/13/08 »
Hello everyone!  Iíve created this topic to keep people informed about what is going on with the development of XIM2. Now that weíve hit an important milestone, I wanted to share with everyone where the project is at. Iíll continue posting to this thread as new developments happen.

Last night was the first night that I tried the XIM2 prototype out in-game (Halo 3). Before any tweaking at all, I knew that XIM2 was going to be great! Even with just a minimum amount of tweaking, XIM2 had already easily surpassed XIM1 on responsiveness and smoothness.

As everyone knows, XIM2 will not rely on the XFPS in any way. This lifts some huge limitations we get with XIM1. The one much talked-about limitation is update rate (which was stuck at 29 updates/sec). I can tell you with certainty that this will no longer be an issue with XIM2 as it can achieve 1000 updates/sec. :) Of course, this is much higher than controller state is even polled by the console, so, a new configuration ďknobĒ has been added to throttle the update rate. So, it will be up to you to decide how fast youíll want your mouse to be polled. Iíve tried both 120 and 60 updates/sec. 60 felt good with my MX518 so far. In general, youíll want increase the rate with high-DPI mice. Whatís nice now is that youíll have complete control.

Another important advancement is a new tool Iíve written called XIMDeadZoner. Dead zone is critical to getting the best possible mouse translation. With this tool, the exact dead zone shape and size can be determined for every game by mapping out precise points where movement occurs. This is done in the tool by loading up the game and dragging a dot that moves the controllerís ďstickĒ to the location of the dot. When movement happens, you know youíve exceeded the dead zone.

As you can see from the screen shot below, Halo 3 truly has a perfect square dead zone. As before, once a dead zone is found in a game, the size and shape can be shared with others to use in their configurations. I will also use this tool to make decisions about what sort of dead zone geometries to model in XIM2. Iíll be mapping out additional games in the near future.

Next steps? With the help of derektm and a new addition to the project, TX Bad Dog, the XIM2 PCB (printed circuit board) design will be finalized with the parts chosen for the end product. This will happen in stages. Progress will be reported here.

Thanks for sticking with us. Stay tuned. We are almost there! :)

Community Downloads / XIMConfig Download
« on: 10:25 PM - 01/18/08 »
Download for XIMConfig XIM Configuration file management tool.

Developed by spectra9x.

Community Downloads / XAE-ME Download
« on: 10:21 PM - 01/18/08 »
Download XAE-ME (macro edition) alternate XIM "front-end" application.

Developed by XIMul8or.

Community Downloads / XIM Software and Firmware
« on: 01:42 AM - 01/17/08 »
XIM Revision 10-26-2007

Please contact us for this installation package.

Includes XIM Application, Firmware, and Software Development Kit (SDK).

Please check the ReadMe for additional information.

This tutorial recommends that you use an XFPS adapter. At the time this was the only available option. XFPS is now an inferior adapter compared to alternatives. You will have better results with a GTMax adapter. Replace part 4) XFPS 360 with GTMax in this guide. You can pick one up here: http://www.amazon.com/gp/product/B0042SB2I0/

September 28
Building your own Xbox 360 Input Machine (XIM)
The XIM community is growing fast! Take advantage of the communityís experience in building XIMs by getting support from our new forum.
Last month, I published a write up with a demonstration video documenting a side project Iíve been working on: Xbox 360 Gaming with a Wiimote. What was intended as something friends could look at to see what Iíve been working on turned into something much larger than I anticipated. The reaction from the community was phenomenal. I never expected the kind of attention that it received (Engadget , Joystiq, Gizmodo, etc). Not to mention the level of traffic on my blog and views of the video. Iíd like to personally thank all those that took time to check out my work Ė especially those who left comments of encouragement and praise.
With the level of interest XIM generated, of course, I expected people to be interested in trying it out for themselves. Iíve gotten many requests to share the technology. So I spent a lot of time thinking about the best way to do just that (given the limited amount of time I had to invest). Even though some soldering skills are required, I didn't want to require people to know how to program to use it. Yet, for those programmers out there, I wanted to make sure they had access to the low-level XIM services so they could adapt other input devices to the Xbox 360 themselves: flight sticks, musical instruments, VR gloves, SplitFish, trackballs, controllers from other consoles, etc.
Since my introduction of XIM, Iíve continued to evolve the Wiimote profile (such as adding support for melee in Halo by swinging the Wiimote like a club Ė very satisfying :). I also recently added mouse and keyboard (MK) support too. Whatís great about MK is itís really easy to configure. Unfortunately, with the Wiimote profile, expressing anything more than the most simple gesture in a high-level manner (i.e. a simple configure file) is difficult without knowing how to program.
For these reasons, I decided to stick with only exposing MK support at this time which includes my configuration application to make customization easy:

Screen shot of the XIM Mouse and Keyboard Profile application showing current button and stick translation status

What Iím providing:
1) Major parts list
2) Assembly instructions
3) Microcontroller firmware (binary form only)
4) XIM Profile and Configuration application (MK support only)
Cost: Free!
Special Thanks
The information Iím providing wouldnít be of much use unless I had validation that XIM could be reproduced by someone else. Iíd like to thank Egyokeo (a fellow modder) for not only verifying my steps and software work on a variety of system configurations, but, also providing valuable feedback in the form of bugs and suggestions of every part of XIM. You can check out his skills and his excellent use for XIM: Play Guitar Hero 2 on the Drums. (Yes, you read the right Ė itís called MidiHero :)

Egyokeoís XIM Implementation
Building Prerequisites
As you may have gathered thus far, XIM is a very powerful and flexible system that can really change the way you game on your Xbox 360. If you havenít done so already, please look over my previous blog entry to get an idea of what it took to build XIM. I took care of the hardest parts (such as the microcontroller firmware and the PC software), and, as I mentioned before, I'll will provide this to you for free. But, there is still a cost. Besides having a PC close to your Xbox, you will need an XCM XFPS (see Parts List). You will also need to know how to do some moderately-precise soldering and know how to use a multi-meter.

If cost isn't a factor and you feel you have the technical skills to assemble the parts, then, itís time to get into the details of what youíll need. But, before I start, there are a few things concerning XIM's usage I want to cover.

Terms of Use and Disclaimer

XIM is being provided to you free of charge. You may use these instructions and software/firmware to build your own XIM for your own personal Xbox 360 gaming use. You may absolutely not sell XIM as part of any commercial product. XIM must remain free. You may not redistribute any part of XIM. All distribution of XIM (official assembly instructions, parts list, software, and firmware) can only come from me.

In addition, I make no guarantee about the performance of the XIM hardware/software/firmware or the accuracy of the assembly instructions. I am also not responsible for any injury (or worse) that you may incur when building your XIM. Please donít expect a considerable amount of support from me.
You taking action in building XIM means you understand and agree with the terms of use and disclaimer I just covered.

Downloading the XIM Software/Firmware Package

You can acquire the XIM software and firmware from the XIM Community Forum. The XIM package is found in the Download section and it contains all the software and firmware that you will need. It also contains the SDK which consists of a DLL, C header file, and C import library so that you can create your own systems for adapting just about type of input device to your Xbox 360.

Assembly Diagram

The XIM system is assembled with the following major components (details in the following Parts List section).

PC Ė Silicon Labs ToolStick Ė PS2 Cable Ė XFPS 360 PRO Ė Xbox 360
Parts List
1) A PC running Windows Vista or XP
To date, verification has been made on PCs running Vista and XP Home and Professional (SP1 and SP2). You will need one free USB port.
2) Silicon Labs ToolStick Starter Kit
http://www.silabs.com/tgwWebApp/public/web_content/products/Microcontrollers/en/USBToolStick.htm (information)
http://www.mouser.com/3plcart/cart.cfm?sid=63410000&pn=TOOLSTICKSK&pd=ToolStick%20Starter%20Kit (purchase)
The XIM firmware runs on top of a Silicon Labs 8051 microcontroller. I was new to Silicon Labs when I began XIM, but, quickly became a fan thanks to the quality of their hardware and development environment. They are excellent.
The ToolStick Starter Kit (model number is TOOLSTICKSK) includes the ToolStick Base Adapter, a ToolStick C8051F330 Daughter Card and a nice retractable USB cable.
3) PS2 Extension Cable
You will be cutting this cable and soldering the wires on to the F360 daughter card. This is then plugged into the XFPS 360.
4) XCM XFPS 360 Pro
If you read my last blog post about XIM, I covered the importance of the XFPS and its ability to circumvent the 360ís peripheral security. Where the XFPS is a terrible mouse and keyboard adapter, it is a very good PS2 controller adapter. This is why XIM uses the PS2 connection. Unfortunately, this product is way overpriced for what you get. I wish I didnít have to be giving people a reason to buy this device, but, it has a very necessary feature that you canít get from anywhere else.
NOTE: XIM works on both the standard (Black) and ďProĒ (White) version of the XFPS.
5) Wired Xbox 360 Controller
The XFPS requires this.
6) Project Enclosure Box (optional)
Although optional, a nice project box will protect your XIM hardware from dust or other unfortunate circumstances as the ToolStick boards are pretty fragile. It is best to mount the ToolStick in the box using double-sided foam tape (a piece under the USB connector, and one under the base/daughter-card connector).

Assembly Step 1: Soldering PS Connector to the Hardware

The first step to building your own XIM is to connect your PS2 cable to the ToolStick F360 board. The F360 board has a series of connection points in the form of a grid. There are three columns (0, 1, and 2). Every column has 8 connectors (pins). Ground (GND) is separate.

The PS2 cable must be cut and 6 of its wires connected to the board. The following picture shows which PS2 cable wire/pin goes to what point on the F360 board.

Make sure to double check that your cableís pin-wire color matches up

NOTE: You can see I color coded the diagram to correspond to the actual color of the wires. For example, the yellow wire would connect to pin 1.4 on the F360 board. I also mention this is pin 6 on the PS2 connector. This is important since there is no guarantee that the extension cable you bought (likely from a 3rd party manufacturer) will match the wire color to PS2 connector pin listed: 1 = Brown, 2 = Orange, 4 = Black, 6 = Yellow, 7 = Blue, and 9 = Green. To be absolutely sure that, for example, pin 6 is the yellow wire, you need to use a multi-meter to measure the resistance between these two points. If you read ~0 ohms, then, you know it matches up.

Once you have the connector soldered on, itíll look something like this:

PS2 connector soldered on to the ToolStick (compliments of Egyokeo)

Assembly Step 2: Flashing the Hardware

The second (and last) step to the XIM hardware is flashing (downloading) the XIM firmware onto the ToolStick. In order to do this, you will need to download Silicon Labís flash utility:

Link to the Flash Utility page: http://www.silabs.com/tgwWebApp/public/web_content/products/Microcontrollers/en/mcu_winflashutilitiy.htm
Click on: Flash Programming Utility under Download Now

After you install the tool (assuming you installed to the default location), follow these steps:

1 ) Plug your ToolStick into your PCís USB port
2 ) Go to: C:\SiLabs\MCU\Utilities\FLASH Programming\Static Programmers\Windows Console
3 ) Run: FlashUtil.exe
4 ) Under the Connect/Disconnect tab:
    a) Make sure the Debug Interface is set to C2
    b) Make sure the Debug Adapter says it is USB Debug Adapter and the Adapter Selection has a serial number in it
    c) Click the Connect button (you should see a yellow and red LED light up on your ToolStick base adapter)
5 ) Go to the Download Hex File/Go/Stop tab:
    a) Under Download filename, click Browse and select XIMfirmware330.hex from where you extracted your XIM package
    b) Click the Download button
6 ) Go back to the Connect/Disconnect tab:
    a) Click the Disconnect button (you should the yellow and red LED lights turn off)
7 ) Close the Flash Utility
8 ) Unplug the ToolStick and plug it back in

XIM Hardware is Ready

At this point, your XIM hardware is ready. You should be able to plug one end of the hardware into your XFPS (via the PS2 connector, of course), and the other end into your PC. Run XIM.exe and try to navigating around the Xbox 360ís dash board by using your PC keyboardís arrow keys. If you see the blades fly around as youíd expect, you are ready to go!

One other thing to note is that the tool should constantly display around 29 updates-per-second. This is important to ensure best gaming experience. If itís running below that, make sure there isnít something else going on with your PC (such as background processes taking over the CPU).

Now that the hardware is ready, itís time to learn more about how you can configure XIMís mouse and keyboard profile to best suit your gaming style.

Introducing the XIM Mouse and Keyboard Profile
The goal of the XIM MK profile is to provide Xbox 360 with the closest experience to mouse and keyboard gaming on a PC. Turns out that interfacing a mouse to an Xbox 360 game (especially shooters) is difficult to do well. Simple translations really show how bad it can be (such as what you get when using the XFPS's mouse and keyboard feature -- ouch). A shooter (like Halo 3) requires precision that you normally donít get from playing with a low-precision device (i.e. the standard 360 controllerís thumbstick). That is why a generous amount of aim-assist features (in the form of auto-aim and acceleration curves) are included in the game to compensate for this deficiency. But, when it comes to a high-precision device like a mouse, these aim-assist features severely degrade the experience. This is why a simple mouse-to-stick translation isnít enough. Something more complex needs to be in place to counteract these aides.
The MK profile supports many points of customizability (ďknobsĒ) via a configuration file. Pressing CTRL-ENTER brings up the current configuration so that you can adjust the knobs. The default configuration file that ships with XIM is designed for FPS games (specifically, Halo 3) that use a 1600dpi mouse (such as the Logitech MX518). Itís easy to quickly try different adjustments Ė and you likely will). The default is based on how I play. For example, I have the ďsmoothnessĒ knob turned off for Halo 3 so my reticule is very reactive. You may choose you want to have it feel ďheavierĒ. Simply modify file and close it. XIM will reload your new values. Check out the log display to make sure you didnít make any mistakes while editing the configuration file.
As mentioned, the MK profile supports many knobs of adjustment. In addition to standard buttons assignments (i.e. A = KeySpace), the controller stick mapping has many options to best map mouse moves to stick movement. For example:
DeadZone: All games have a threshold where stick movement isnít registered until it reaches a certain point. This value makes it so that the smallest mouse change will result in on-screen movement. (More on this later.)
DeadZone Type: The shape of the dead zone (Circular or Square). (More on this later.)
YXRatio: The ratio between Y and X movement for games that donít have independent adjustable X/Y sensitivity. For example, 2.0 means Y movement should be twice as much as the equivalent X movement.
TranslationExponent:  When converting mouse movement to stick, this value allows you to do more than just a simple linear conversion. An exponential translation helps alleviate some of the acceleration that is there for controllers.
SensitivityPrimary: Movement sensitivity multiplier. This combined with the YXRatio provides any combination of X/Y sensitivity.
SensitivitySecondary: A second sensitivity value (typically higher than the primary). When activated, can be used for less-sensitive, non-aiming actions (such as driving vehicles).
SensitivityToggle: The button to use to activate the secondary sensitivity.
Smoothness: Smoothes out sudden movement by moving to the next translation position over time. The more smoothness results in a less jerky, but ďheavierĒ moving reticule.
SmoothnessCutoff: Smoothness adjusts positioning over time. The cutoff value stops smoothing when it reaches this threshold.

Please make sure to configure your game for highest movement sensitivity. For example, in Halo 3, youíd change your look sensitivity setting to Insane.

A Word About Dead Zone
Dead zone is something that most gamers don't realize exists, but, is a very important part gaming when using a controller. A dead zone is the area of stick positioning that doesn't register as actual movement within the game. Without it, the reticule would constantly drift as thumbsticks generally never settle to a rest position (and where they do stop is typically different every time). Resting your thumb on the stick also constantly moves it slightly off center.
Where dead zone is necessary for thumbsticks, it is terrible for mice. Mice don't have the same rest-position problems as thumbsticks and the slightest movement is tracked by a mouse. At a minimum, a constant value needs to be added to any mouse movement that occurs to compensate for the dead zone. Otherwise, small movements wouldn't register and your movement will constantly "stall" if you aren't moving the mouse fast enough. Mouse and keyboard adapter devices like the SmartJoy FRAG (SJF) have this dead zone setting, whereas, the XFPS's mouse and keyboard feature does not. The XIM MK profile, of course, has this dead zone setting as well. But, it goes beyond this with allowing you to customize the shape of the dead zone too.

Most people that talk about dead zone never talk about its shape, but, it turns out that this is something that has a big impact on mouse translation quality. The XIM MK Profile has a dead zone "discovery" mode that you can use to not only determine the size of the dead zone, but, also learn more about its shape. It does this by moving the stick by the current dead zone value horizontally, then vertically, then finally diagonally. If do this on Halo 3, you'll see that, at a dead zone of 35, the reticule moves in all 3 directions. Then, if you reduce to 34, movement stops in all directions. This means that Halo 3 has a square dead zone of 34. (If it were circular, then, movement wouldn't occur in the horizontal and vertical directions, but, would still occur in the diagonal direction.) This actually surprised me since that means you need to move the stick further to get your reticule to move diagonally. Again, most people don't realize this since thumbsticks are so imprecise. In Halo 3, it appears that diagonal movement is actually more sensitive than the other directions. This may have to do with the fact that you have to move the stick further diagonally to cause the reticule to move. When you are talking about a mouse (where you want the smallest of mouse movement to cause your reticule to move), it feels less controllable when dragging diagonally because of this.

The XIM MK profile allows you to specify whether you want your dead zone to be circular or square. I've found, in general, that mouse translation is better when you are working against a circular dead zone. But, how will this work with a game like Halo 3 where the dead zone is square? Turns out that a circular dead zone works nicely when it's grafted on top of the gameís square dead zone. Horizontal and vertical movements wind up being slightly beyond the dead zone area, whereas diagonal movement is slightly within. So, for Halo 3, a circular dead zone with a radius of 42 feels just right.
XIM MK Profile Performance
Iíve been playing Halo 2 and now Halo 3 for awhile now with XIMís mouse and keyboard support and have been thrilled with its performance. I love being able to game on Xbox Live playing Halo 3 on my big HDTV, on my couch with the mouse and keyboard of my choice. Any mouse and keyboard will work. I use a Logitech MX518 1600dpi mouse and a Thermaltake Flare gaming keyboard:

Picture of my living-room mouse and keyboard gaming lap-board ďrigĒ that connects to my XIM


Pages: 1 ... 34 35 [36]