OBsIV's XIM Development Blog (Read 784368 times)

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.

Hello everyone! All sorts of topics have popped up with a lot of good questions, and, all those questions will be answered in time. It's great to see all the activity! I'd like to tell you about where we are right now in the project and talk about some of the high-level features being targeted.

We are just about done choosing the core set of components that will comprise the XIM3 board. Hardware is chosen to support my detailed product specification and feature list. This is a priority list of my vision of the product. The component list (which makes up the BOM - "Bill of Materials") is obviously a critical step to balance cost vs. features.

Speaking of features, here are some of those top-priority line items (with some important ones intentionally left out for now :

1) PC-less operation: This is obviously a critical one that I've talked about a lot. XIM3 will be a stand-alone bus-powered device (plug and play). And (surely to cause controversy among some), it will not support gaming through a PC as an alternative. The PC is an inherently insecure environment with all sorts of compatibility issues when it comes to XIM. I hear about many issues customers have with XIM that would be fixed by simply removing the PC from the equation.

2) 100% compatible: Our friends over at XCM failed because they made some poor key design decisions for their XFPS that can essentially render their device useless whenever a patch is released over Xbox Live. XIM3 will require an Xbox controller be plugged in at all times. And, XIM3 will be firmware upgradable (unlike XFPS which requires you to buy a whole new unit to get fixes).

3) Security: We all despise XFPS for all sorts of product quality reasons. But, we should despise those who stole their device even more (which has happened twice so far). I will not let XIM3 wind up like this. It will be locked down and I am taking many steps to ensure these despicable thieves don't get their way.

4) Smart configs: Smart mouse configs will be XIM3 feature only. They are a big differentiator for XIM when comparing to the competition. They exemplify the gaming quality only XIM can produce. I know XIM2 users will be disappointed, but, this is necessary to protect smart configs from theft. Smart configs will be locked to individual XIM3 devices upon purchase of a small fee.

5) Input peripheral compatibility: XIM is the only platform that let's you game with excellent devices such as the Logitech G13. XIM3 will support them as well.

6) Xbox-only: Sorry PS3 users, XIM is staying true to it's name: "Xbox Input Machine". There will be no native version of XIM for PS3 users.

I hope that answers some of your questions. I can't wait to post first pictures of the board!

It's hard to believe it's only been a little over a month since development of XIM3 began (which included time off for the holidays!), and, I'm happy to announce that I've just signed off on the hardware schematic. (For those that don't know what a schematic is, it's a detailed picture that describes all connections between all the components on the printed circuit board (PCB).) The fact that this came together so fast is an indication of the absolutely excellent engineering team I've assembled.

Early next week, we'll enter the board layout phase. The board layout describes exactly how the PCB is made. Component connection points will be positioned and traces (etched wires) will be routed to connect the silicon (as described by the schematic). This is only expected to take a couple of days. After this, the initial prototypes will be fabricated and assembled. That should take about a week or so. That's pretty quick!

Of course, I'm not sitting around and waiting. I've been spending every moment of my free time working on the firmware that will run on the device. I'm working with another firmware engineer that I've contracted. There will be no traditional embedded OS running on the device (such as Linux or an RTOS). Every single bit of code that is executed will be custom. Together, we are building all the software based on my specification of what I call the XIM OS (an operating system that is 100% tailored to enable you to tear up the competition online :). To get ahead, I wrote a PC-based emulator to simulate the anticipated behavior of the XIM3 hardware. Through that, I've been able to get a significant head start on building up major areas of the XIM OS. Not only was this done to be more productive, but, it helped me get very precise as to how I want the XIM firmware to function before the other engineer starts. Meaning, everything gets done faster. :)

Only 8 short weeks into XIM3 development and I'm pleased to announce that the PCB layout is complete and ready for initial-batch fabrication! Below is a 3D rendering of what the board is going to look like. That's right, the board is the size of a business card! A sight of beauty, don't you think?

I do want to mention something that I'm sure will generate some questions: the power connector. I labeled that as "optional", which is true. XIM3 is "bus powered" (i.e. no external power required). The types of peripherals people game with today (laser mice, G13, etc.) draw combined power within the limits of the Xbox USB ports. But, it's hard to know what future peripherals will be plugged into XIM and what their power characteristics will be. So, I put that in there strictly as insurance and to future-proof the design.

Initial XIM3 boards should be completed within a week's time. This is a critical time as, even though the layout and traces have been checked multiple times by multiple people, there is always the possibility of an error (we are all human, after all).

It's with great pride that I give you the first pictures of the XIM3 hardware! And, I'm especially ecstatic to finally announce that XIM3 features a bright, beautiful full color high density LCD display!

Quality and ease of use are critical attributes to me when it comes to products. This is what smart mouse translators are all about. XIM3's interface to the gamer will be no different. XIM3 will feature a rich graphical user interface right on the device for all configuration and customization.

Verifying the hardware is fully functional was a very important milestone. Especially due to the complexities that come from pushing a product well beyond what anyone else has done. From here on out I'll be working to get this thing talking to the Xbox, talking to input peripherals, running the mouse translation tech, and displaying some UI. At that point, I'll be able to take XIM3 online for the first time and game. It'll be a thrill -- just like it was for XIM1 and XIM2.

The project is going very well. In fact, beyond my expectations. The quality of gaming experience XIM3 produces continues to, frankly, shock me! I'm always trying to push XIM's aiming precision as far as I can. I've always felt that XIM2's dependence on OS timing limitations has had some sort of negative impact to precision, but, it's something I couldn't really quantify. This is why, for XIM3, I wanted no OS on the device. All drivers must be written from scratch -- perfect timing exactly synchronized with the console. This choice meant it would be harder and take longer to finish XIM3, but, wow was it worth it. Combine this with delivery of perfect stick values (USB-level digital communication rather than an analog interface) and Smart Translators, XIM3 is incredible.

I can't really express the thrill it was when all the pieces of XIM3 came together and I got to experience it, in game, for the first time. The code was new and untested, it was late, and I had a old 400dpi Intellimouse plugged in. Needless to say, I wasn't expecting all that much. I fired up Modern Warfare 2 and the new Smart Translator for it, and gave it a spin. Within a second (probably less :) I was completely blown away by how good aiming felt. But, what about Halo? We all know Halo is much harder game to adapt a mouse. So, I fired up Halo and my new Halo 3 Smart Translator. Within a second (probably less :) I knew that XIM3 was an absolute phenomenal device. As I kept playing, for once (in my entire history of XIM), I actually forgot that I was gaming through an adaptor. It felt that good.

Now for the videos...

This first video is something I've been wanting to put together for awhile. It's a XIM history and technology overview for those new to the project. It describes how we got here and where we are going.

This next video is showing off XIM3's capabilities around precision aiming. It's using the new Halo 3 Smart translator. Since XIM2, I've made significant improvements to the XIM Smart Trainer and the Halo 3 Translator has gone through an upgrade. The goal of the test is to track the speed and movement of the small birds flying around The Pit without moving, only aiming. I can tell you that XIM3 is incredibly smooth. I was unable to accomplish this level of precision aiming against such small and unpredictable moving targets with XIM2. For this test, I used an original MX518 1600dpi mouse.

Finally, a video showing XIM3's onboard User Interface (UI). XIM3's features are not complete, so, you won't see everything you'd expect in the UI. This is why I mention that it's preliminary. Visuals will change too. But, it gives you a good idea of the direction I'm going with it. I love this little screen and have been having a lot of fun building the UI platform for it.

Finally, I wanted to talk about dates. Of course, Q1 2010 was my goal, but, obviously that didn't happen. XIM3 is not date driven, but, a feature driven product. Rest assured that I'm working as fast as possible to get this done -- but, not at the expense of quality. For this reason I'm not going to commit to a date at this time.

Over the next few days, the beta testers will start receiving their XIM3 beta devices. I've attached a picture of what these devices look like. The board and LCD have been mounted in a temporary enclosure for the purpose of the beta. I'd like to emphasize that these are temporary enclosures. :) The real professionally designed enclosures are just about done. The industrial design firm I've contracted has done an amazing job. I'll definitely be sharing pictures of the real enclosure the closer we get to launch.

I've also included a demonstration video of the beta device. This time it's Modern Warfare 2 on Sniper Fi (Special Ops). Like the Halo 3 "Bird Snipe" video I posted before, it's all aiming (no player movement) to show off XIM3's precision and micro-aiming capability. The MW2 Smart Translator is used which produces responsive and tight aim with zero configuration requirements.

The individuals chosen for the beta range from seasoned XIM2 gamers to those who have never even considered playing on the Xbox with something other than the standard controller. I'm not going to announce the names of those in the beta group. Nor can they talk about the device -- they have all signed strict confidentiality contracts.

The duration of the beta program is unknown at this time. The hardware and firmware the beta testers are receiving are very close to what I'd consider production quality. But, the point of the program is for the testers to put the device through its paces to uncover (hopefully) some compatibility or other serious issues I haven't seen. I'm definitely looking forward to seeing what they come up with. :)

A console mouse adapter is only as good as the feel it produces in-game. XIM is the only device to offer Smart Translators -- a sophisticated and innovative solution for this very difficult problem. We had a preview of Smart Translators in XIM2, but, they've since been significantly updated and advanced for the upcoming release of XIM3.

I talk a lot about Smart Translators, but, I wanted to give you a behind-the-scenes look at the type of quality and precision you can look forward to:

Hi everyone, I wanted to tell you about a feature of XIM3 that is intended for the more advanced user. My last video showed off XIM3's ability around quality and precision aiming through Smart Translators on a difficult game like Halo Reach. When using Smart Translators, all you need to do is set your Sensitivity (and possibly Acceleration) and you are ready to go. But, the more advanced user will want to know if the settings they chose are truly optimal for their gaming style.

We need to recall how, in the end, XIM3 is manipulating stick values on your behalf as you move your mouse. Unlike PC control, an Xbox controller stick has a physical bounds limitation (the circular plastic housing around the stick). That means, when you "peg" the stick, you are at the stick's maximum value. This maximum equates to a maximum reticle velocity on-screen. Different games have different maximum velocities.

So, what happens if you choose a Sensitivity that produces stick movement that's beyond this physical limit? XIM3 simply "clamps" the value to the maximum (which is all it can do). The negative here is that, if you are at a Sensitivity like this, the game may start feeling much slower than it actually is. At this point, on-screen movement no longer corresponds 1:1 to mouse movement. Your mouse is moving faster than your reticle. Not ideal (especially for high-sensitivity players).

For best gaming experience, you want to choose your settings such that your natural maximum mouse speed never significantly exceeds that maximum stick value. At this point, you are achieving optimal responsiveness. To get there, you use XIM3's Mouse Speed Quality Cue.

The concept is simple, after you change your settings, move your mouse at your natural highest speed (such as when you are turning) and look at the stick visualization on the main page. You'll see one of three things:

1) Red dot: This means you haven't exceeded the stick limit and the reticle isn't turning as fast as it could be. If the game feels responsive enough to you, then, you are done. If not, you need to increase your Sensitivity.

2) Red dot fading to black: This means you are starting to exceed the maximum allowable stick position. You are turning at the fastest possible velocity of the game, so, your settings are optimal.

3) Black dot: You've well exceeded the stick limit and you are likely going to feel it. It's fine to hit this occasionally, but, if it's a solid black dot most of the time, then, the game may start feeling slower than it really is. You need to decrease your Sensitivity.

Simple concept, but, very effective and leverages XIM3's onboard screen to give you realtime feedback about the performance of your settings. XIM3 is the only gaming adaptor to provide this level of precision and feedback to enable you to have the best experience possible.

Fellow gamers, almost exactly one year ago I posted the first entry on this blog announcing the kick-off of development of XIM3 -- the device I've always aspired to build. The ultimate mouse, keyboard (and more) console adapter. A device that is unmatched for its precision gaming quality yet simple to use. Something I'd be proud to put my name on and game with myself.

Its been quite a ride over the last year. Many long nights and weekends filled with all sorts of ups and downs. Throughout, I'd ask myself: "Wow, what have I gotten myself into!". But, no matter what, I knew the team I assembled would pull through with me – which they did. And now, I'm very proud to share the first production pictures of XIM3!

I wanted XIM3's enclosure to match the level of sophistication contained within it. When the industrial designer asked me to describe the enclosure I wanted, I told him I wanted something that conveyed sophistication, technology, and a weapon. He along with the plastics manufacturer did a phenomenal job realizing this goal. From the smooth contours and reflective face (sophistication), the circuit-board trace-like venting lines (technology), and the soft touch "grip"-like feel with dark gunmetal coat (weapon), XIM3's enclosure is everything I had hoped for.

The completion of the enclosure marks the end of development and transition to production. As such, XIM2 is discontinued effective immediately. In addition, XIM360.com will soon be shut down and redirect to our new redesigned site: XIM3.com.

Production of the first batch of XIM3's is underway and I expect to be able to provide a firm release date within the weeks to come. This initial batch will be a limited pre-production run. The intension behind it is to gain additional feedback and usage coverage in more varied environments over the Beta and test our end-to-end production and fulfillment capabilities. This is fully retail hardware and firmware. However, the cost of pre-production XIM3's will be higher than future runs, it will be community-only (forum) supported, and there will be no refunds. The feedback from this run is critical, and, will be used to determine next production steps.

I'd like to take this opportunity to recognize three people from our community that have given their time and dedication to this project well beyond anything I expected. And yet, they've never asked for anything in return. For this reason, I'd like personally thank OMGsus, mist4fun, and d0nskii for all their time and talents directed toward the XIM project. OMGsus for his professional creation and maintenance of our site, community forum, and store and rebuilding it all over for XIM3.com. mist4fun for his constant support of our community and the tremendous amount of time he saved me by working directly with XIM2 customers on any and every issue that came up. Finally, d0nskii for organizing and producing the high quality instructional video and gameplay content that is critical to the success of XIM3 (and, if you are wondering who that player was with incredible skills behind those XIM3 COD Beta videos, look no further . As a token of my gratefulness to these individuals, they will be the owners of the first XIM3's ever built and shipped to them later this week!

It's been a great journey and the finish line is finally in sight. As always, thank you for all your continued support of this product.

Hey everyone, while we are eagerly waiting for the pre-production batch to be manufactured, I wanted to share what you can expect from XIM3's companion upgrade tool: XIMFlash.

XIMFlash is a PC application used to upgrade your XIM3's firmware. Firmware upgrades will ship as new hardware is supported and when issues are fixed. But, another important reason to upgrade your XIM3 is when new Smart Translators are released. XIM3 is designed around simplicity. XIMFlash is no different. XIMFlash's "wizard" interface guides you through the process of upgrading your XIM3.

As I mentioned before, XIM3 can hold 10 Smart Translators. As part of building Configs, you need to specify how you want your mouse to be "connected" to the game. The best, and simplest, solution is to choose a Smart Translator that matches your game. Once it's chosen, simply set your Sensitivity (and Acceleration if you want) and you are ready to go. The Smart Translator library will grow over time as new games come out (and based on popularity of older games).

In the example screens below, the scenario is shown where a user wants to put a new Smart Translator on their device (in this case, Black Ops). You'll see list of available Smart Translators with an indicator (down arrow) showing which are currently loaded on the device. After choosing one, if there is no room, you'll then need to choose one to replace (like a game you no longer play much). Finally, your XIM3 is updated and then you are done.

One of the big benefits of working on the XIM project over the years is seeing this forum grow. It truly is a great community of gamers. XIM3 hasn't even launched, yet, there are members who are busy compiling lists of feature, Smart Translator, and hardware requests! If you are wondering if I'm watching – I am. :)

XIM is about enabling the gamer with input devices that suits them best. One device that clear that people would really like to see supported on XIM3 is the Sony Move Navigation controller. For those that don't know, this controller is similar to the Wii Nunchuk. You may recall that I'm a fan of using a device like this for Xbox gaming: Playing Halo 2 (Xbox 360) with a Wiimote. Like the Logitech G13, it enables you to move in-game with an analog stick while continuing to aim with a mouse. I'm a big fan of this type of configuration.

I haven't mentioned much about my development team, but, I think it's very relevant to this post as it exemplifies the caliber of people creating XIM3. You may be surprised to find out that there are a grand total of only 3 people behind the development of the XIM3 platform. One designing the hardware (MschfSqrl) and two designing and implementing the firmware and software (Orbital sFear and myself). I believe developing products is best done with very small teams of exceptional people – and this is exactly what this team is. I mentioned before that there is no off-the-shelf embedded OS running on XIM3. Everything was developed "bare metal". As such, we have complete control over everything and able to craft a quality engineered system with a single primary function: the best gaming experience possible. Now, back to the Move ...

After discussing the possibility of Move Navigation controller support with Orbtial sFear, literally a couple of hours later it was done (would have been quicker, but, he had to wait on some changes from me first :). XIM3's driver stack is all custom. It's designed such that the task of adding new devices (or filling out support of existing devices – such as extra mouse button support) is easy. So, I'm happy to announce that Move Navigation controller support will be available via a firmware update soon after launch.

I do see support for devices like the Move Navigation controller as taking steps to help achieve my personal ideal: gaming with XIM3 in the living room. The Move Navigation controller is small and better compatible with lap desks on the couch. Even better, there are lap desks available today that even incorporate cable management solutions. Over time, I'll be suggesting living room configurations and I encourage others to do the same.

Finally, concerning Move Navigation controller support, XIM3 sees it as a Joystick (like the Logitech G13) – see picture below. All buttons are supported, and, it must be connected to XIM3 using a USB cable.

As we get closer to launch, a list of officially tested hardware will be posted. If your hardware isn't on the list, don't worry, it doesn't mean it won't work. The list will grow over time as gamers report compatibility. If your hardware is found to not be supported, don't worry, that can be corrected. :)

XIM3 Smart Translators give you 1-to-1 correspondence between in-game aiming and your mouse. But, given maximum "speed limits" in games, turning is an area where this correspondence can start to break down. In a previous blog post, I discussed how XIM3 uniquely handles this scenario. But, since I feel the topic is important, I created an instructional video about it too:

Hello XIM3 gamers, it's been awhile since my last post and a lot has happened. Most notably, XIM3 went on sale and the demand was so great that it overwhelmed and crashed the store! Needless to say, I've been pretty busy. But, now that things are under control, I'm able to go back to what I enjoy the most: development.

I'm always watching how the community is using XIM3. One area that I've seen a lot of feedback is the want for a rich PC-side application to manage everything about their devices (Configs, Smart Translators, Firmware). So much that one of our forum members, sP4rK, built a tool called "XIM3 Profile Manager" (thanks for pioneering this area sP4rK!). Another thing I've seen is some confusion over the difference between a Smart Translator and a Config and understanding what happens when you replace one of your Smart Translators with another.

Given these reasons, I felt it was time to extend the XIM3 experience with a new tool called XIM3 Manager.

XIM3 Manager (or, XIMManager) is your one-stop-shop for creating, editing, and deleting your Configs, managing all Smart Translators, and, upgrading your Firmware. What's great about XIMManager is that it is "game-centric". You no longer have to think about what Smart Translators you need to load. Simply pick your game and go. All your Configs are replicated seamlessly in your local library. When you want to use a Config, just click the "Transfer" button to copy your Config to your XIM3. All Smart Translators that go with it will automatically be transferred behind the scenes.

XIMManager is all about simplicity. Choose the game you want to play and you'll be shown the actions for each controller button you can bind. Such as "Jump" or "Reload". Even better, when you create a new Config, XIMManager will auto-bind your buttons based on your other Configs. So, if the new game uses ‘A' for jump and XIMManager sees that you like to use Space on your Keyboard for jumping, then, it'll automatically assign that key for you.

As new Smart Translator support for games is added, XIMManager will even tell you about it. That way you won't miss out on the latest releases. And, all those XIM3 gamers that upgraded to the latest firmware and had to wipe out their Configs, you'll be happy to know that XIMManager will automatically upgrade your Configs without having to erase your device.

XIMManager is still in testing and will be released to our larger tester group shortly along with a major firmware upgrade. I want to take this opportunity to also thank mist4fun for testing XIMManager all through it's development process and providing valuable feedback. Thank you, mist4fun, you are invaluable to this project!