XIM Community

XIM360 Project: XIM 2 Macro Magnata Beta 1 Released!!!  (Read 10919 times)

Offline lamego

  • Moderator
  • Member
  • *
  • Posts: 71
    • View Profile
Hello all.

I just received my highly requested, highly anticipated, highly taxed (import fee  :-\) XIM2 hardware. I have been playing around with the current set of software but the real reason that I wanted XIM was so that I could control XBOX completely from the PC.

I am starting a new project by myself (unless anyone else wants to jump in) to create a software for XIM 2 dedicated to multiple joystick support and macro capabilities. I know this is a well discussed topic but development seems to be going slow at the moment. I am not planning of using keyboard and mouse but joystick support. My aim is nailing down fighting games such as Street Fighter 4.

So I am starting my own project.

The project specs (if you could call it like that):
OS:          Windows (perhaps Linux using Mono)
Technology:  DotNet 3.5
Language:    C# + MDX (managed DirectX) SlimDX
Game test subject: Street Fighter 4 (has a very complex combo system and a training mode with input display which is highly useful for testing).
Goals:
  • Extremely lightweight application to suffer the minimal of "software lag".
  • No delay in interpreting commands. Should respond to triggers in the manner of ticks.
  • Easy to use visual macro designer.
  • Capable of connecting directly to XIM.
  • Capable of handling inputs from any joystick and keyboard directly.
  • Capable of holding individual game profiles.
  • Buttons used in Macro should be of all kinds: Press (keyDown), Release(keyUp), Timed Hold(multiple keyDowns before a keyUp).
  • Triggers for macros should have the types of XIM1 XAE-ME: Hold (macro is executed while the trigger button is held - stops afterwards and if button is released), HoldLoop (macro is executed and repeated while button is pressed, stops only if button is released) , Trigger (macro is fully executed once and only once if the button is pressed), TriggerLoop (macro is fully executed and repeated if button is kept pressed. If released it will finish the requested).
  • Ultimate goal: Maximize players' gaming ability.

Pictures will be posted as I get some progress. I expect to deliver the project in binaries to the interested people only. I do not expect or plan for wide distribution.

Edit:

Beta 1 released!

Hadoken  Cheesy


The download is on this post's attachment:
http://xim3.com/community/index.php?action=dlattach;topic=2505.0;attach=492
or here:
http://xim3.com/community/index.php?topic=2505.msg26751#msg26751


READ THE README. It says how to install and explains how the thingy works.

Best Regards all
Lamego
« Last Edit: 05:41 AM - 05/03/09 by lamego »

Offline Tarun

  • MVP
  • *
  • Posts: 780
  • Cheers!
    • View Profile
Re: XIM360 Project: XIM 2 Macro Magnata in the works
« Reply #1 on: 03:24 AM - 04/24/09 »
Im not a programmer but good luck and let me know when your done i dont mind testing it  8)

Offline slayersteve

  • MVP
  • *
  • Posts: 2162
    • View Profile
  • Gamertag: x SLAYER Steve
Re: XIM360 Project: XIM 2 Macro Magnata in the works
« Reply #2 on: 10:26 AM - 04/24/09 »
I'd be interested in beta testing/getting final product as well.
I'd be of no use as far as programming though...
Thanks.

Offline lamego

  • Moderator
  • Member
  • *
  • Posts: 71
    • View Profile
Re: XIM360 Project: XIM 2 Macro Magnata in the works
« Reply #3 on: 08:30 AM - 04/25/09 »
So my current status:

I have managed a top-down integration (from Joystick to XBOX). The response rate is high and completely acceptable.

My prototype is for Character Seth and has a couple of hardcoded combo macros. The application itself registers inputs (you can press the controller image and the button you pick is transmitted to Xbox). The application is hooking in my Joystick "Trustmaster Run N Drive".

As I suspected, Seth has an Infinite combo in training mode (since it consumes gauge from the super combo gauge, then it's not useful outside training/challenge mode).

Here is a snapshot of the application running:
.

I have noticed a couple of details that I didn't know before:
  • The timing of button presses is handled by XIM, but not fully. If you order XIM to press X during 10 miliseconds but never tell it to "press nothing=relaase X", games still interpret as X kept pressed.
  • The timing of "Wait"/"sleep" can be controlled by XIM by asking it to not press anything for a while , which is great ;D
  • XIM is locked down exclusively by the instance of XIM core running. If there is no call to XIMDisconnect, then the device (hardware itself) is not responding anymore and needs to be unplugged and plugged back in to respond. This is annoying. :-\
  • Street Fighter 4 doesn't register that the button is no longer pressed unless a "button up" event (basically making XIM tell XBOX that no input is there) is handled. This is unfortunately forcing me to poll the device and joystick in different loops which is hurting performance.
  • Street Fighter 4 gives the Analog Stick a break regarding Buttons-up. If another analog coordinate is captured, the game assumes that the previous is not valid. Macros will work better if we hook in analog directions.
  • Street Fighter 4 handles at max 45 inputs p/second. Anything above that rate will make the game "eat" button presses.


What I will work next:
Hooking in buttons on the Joystick doens't control the "hold" function properly. You can't hold a focus attack basically. I want to allow this.
Prepare some file format to store macros and game profiles. Load them on demand and "open with" scenarios.
Separate runtime from macro editor (but allowing the macro editor to also be "runtime" as a debugger).


Best Regards
« Last Edit: 09:23 AM - 04/25/09 by lamego »

Offline Tarun

  • MVP
  • *
  • Posts: 780
  • Cheers!
    • View Profile
Re: XIM360 Project: XIM 2 Macro Magnata in the works
« Reply #4 on: 09:06 AM - 04/25/09 »
Nice keep up the good work

Offline slayersteve

  • MVP
  • *
  • Posts: 2162
    • View Profile
  • Gamertag: x SLAYER Steve
Re: XIM360 Project: XIM 2 Macro Magnata in the works
« Reply #5 on: 10:26 AM - 04/25/09 »
sexy.

hey man you may want to cross-post or at least link this thread in the Programmers forum. you may get some folks that are interested in helping out there... (from a developer POV anyway)
cheers man, keep up the good work. (side props to OBsIV for opening up dev work to everyone with SDK... pretty cool)

Offline Guncom

  • Member
  • *
  • Posts: 334
  • Don't Cry...
    • View Profile
Re: XIM360 Project: XIM 2 Macro Magnata in the works
« Reply #6 on: 11:49 AM - 04/25/09 »
I'm impressed! Wow

Offline mikael

  • MVP
  • *
  • Posts: 1990
    • View Profile
Re: XIM360 Project: XIM 2 Macro Magnata in the works
« Reply #7 on: 10:12 PM - 04/25/09 »
I think you are really getting somewhere there man! I just wish i could help but programming wise i am a newbie. Anyway good luck!

Offline Voli

  • MVP
  • *
  • Posts: 1119
    • View Profile
Re: XIM360 Project: XIM 2 Macro Magnata in the works
« Reply #8 on: 02:46 AM - 04/26/09 »
This MAY just get me into SF if it turns out nicely.

Offline lamego

  • Moderator
  • Member
  • *
  • Posts: 71
    • View Profile
Re: XIM360 Project: XIM 2 Macro Magnata in the works
« Reply #9 on: 05:44 AM - 04/26/09 »
So here is my update:


I have made some progress regarding hold buttons finally!! Now we can not only hold a button linked to an xbox button, but also we can include in macros timed holds (Chun-li anyone ?)
I found a decent way of having multiple button triggers (example - A and B may be connected to Button 1 and 2, but by pressing Button 1and 2 together, you may want to pull off a macro - this is done 8)).
A prority system is implicit with the macros. You may want to put a macro on Buttons 1 + 2 and other macros on each of them individually. So you need to prioritize the macro for 1+2 so it searches for it before triggering macro for the individual buttons.

I have noticed that many of Street Fighter 4's commands are ambidextrous (for the lack of a better name). They can be done in any position (facing left or facing right).

U= Up
D= Down
R= Right
L= Left
HP= HardPunch

One of them is Shoryuken. If you do it like this:
DR, DL, DR, DL + HP, it always performs correctly. Of course PC speed of 45-50 inputs P/ second helps doing it fast enough ;). The cool thing about this one is that we don't need a macro specially for Shoryuken * 3. We just keep pressing the button as the application mode (the only, currently) is triggerLoop - it redoes the macro if the button is kept pressed after macro is finished.

Another is Atomic Suplex. If you make a macro like this:
R, D, L, U + HP, it will always do it, regardless of facing left or right.

By taking advantage of rapid response speed, we can make some other macros ambidextrous:
D, L, D, L, D, R, D, R + LP+MP+HP will always do Ultra Finish, again, independently of direction. This one needs to be machine-made as I can't pull off such a long move by hand without making Seth move in the process.

At the moment, I have full integration from Joystick to button and Joystick to macro with minimal affect on performance. My PC itself is a not-so-recent laptop so performance is always a concern of mine.

I have hooked in my RunN Drive controller this way:


1 - Macro for a Seth 28 hit combo (W/Ultra Combo).
2 - Same as 1 for the other side.
3 - Attomic Suplex (the command mentioned above)
4 - Shoryuken (the command mentioned above)
5 - Macro 25 hit combo (W/SuperCombo)
6 - Same as 5 for the other side.
7 - L3 (not the movement): Teleport Left
8 - R3: Teleport Right
9 -  Xbox A button (HP in the game)
10 - Xbox B button (HK in the game)
11 - SonicBoom+SuperCombo (left)
12 - SonicBoom+SuperCombo (right)
13 - UltraCombo/supercombo (both directions)
14 - Xbox Home Button
15 - Back
16 - Start
17 - Analog (directional).

I am recording a video where you can see the performance of it. Don't complain about my video editing skills. They are poor. You are warned.  :)
The video is uploaded on youtube:
http://www.youtube.com/watch?v=NeQp-vk8mBk

« Last Edit: 06:40 AM - 04/26/09 by lamego »

Offline Tarun

  • MVP
  • *
  • Posts: 780
  • Cheers!
    • View Profile
Re: XIM360 Project: XIM 2 Macro Magnata in the works
« Reply #10 on: 07:46 AM - 04/26/09 »
Looks awesome, cant wait to try it out once you done

i'm going to ask some noob questions, will i be able to do combos for ryu and ken and string them together, also the difficult long ones? Also i see your using a controller can i use my logitech G13? Please note im viewing your video at work and have no sound.

thanks
« Last Edit: 07:51 AM - 04/26/09 by Tarun »

Offline lamego

  • Moderator
  • Member
  • *
  • Posts: 71
    • View Profile
Re: XIM360 Project: XIM 2 Macro Magnata in the works
« Reply #11 on: 07:59 AM - 04/26/09 »
Looks awesome, cant wait to try it out once you done

i'm going to ask some noob questions, will i be able to do combos for ryu and ken and string them together?

Timing is a key factor here. As long as you have the patience to do trial and error (I took some time before nailing down the right delays for the combos), you should be able to do macros for all characters (including charge-up: chun-li/Bison/Blanka...).

Also i see your using a controller can i use my logitech G13?

thanks

No Sound ? Probably I recorded too low. Try to put up your speakers. Sorry for this trouble.

That is the purpose. It will make no difference what the controller is.  ;)

Remember I'm still working on the platform.
The 2nd step is to make it generic and get rid of all avoid hardcoded stuff.


I was planning on starting a small community on this webforum or another regarding the share of ".magnata" macros.

For instance, a good choice would be sharing the combinations that do the "Challenge Mode/Trial" for all characters.

At the moment I still got work to do. I plan to do something everyday when I arrive from work and have a working beta build soon (probably during this next week).



Tryed out during online matches and I noticed a few things:

If the network connection is low, the likelihood of SF4 "eating buttons" increases.
The player DOES get a pump up. I didn't lose a match while I was trying out the controller.
I wasn't undamaged. It still requires timing and some skill to win matches. You can make super combos at any time but if your opponent is out of range or blocking, you will not hit.
« Last Edit: 09:15 AM - 04/26/09 by lamego »

Offline Voli

  • MVP
  • *
  • Posts: 1119
    • View Profile
Re: XIM360 Project: XIM 2 Macro Magnata in the works
« Reply #12 on: 12:35 AM - 04/27/09 »
Looks very cool.. excited to see some feedback when beta is released.

By the way, sound works fine.. I think Tarun meant that he didn't have sound at work (no speakers)

Offline Tarun

  • MVP
  • *
  • Posts: 780
  • Cheers!
    • View Profile
Re: XIM360 Project: XIM 2 Macro Magnata in the works
« Reply #13 on: 02:21 AM - 04/27/09 »
Looks very cool.. excited to see some feedback when beta is released.

By the way, sound works fine.. I think Tarun meant that he didn't have sound at work (no speakers)

Sorry for not clearly stating the comment about the sound, and thanks Voli for clearing that up (lots of clearance) 

Offline Voli

  • MVP
  • *
  • Posts: 1119
    • View Profile
Re: XIM360 Project: XIM 2 Macro Magnata in the works
« Reply #14 on: 04:09 AM - 04/27/09 »
I'm not supposed to have sound at work but they didn't remove the sound card. They just deleted it from device manager so all I did was just have it search for hardware changes and viola! Then before I leave, I uninstall it again.

Off topic  :-[


Admin