2009-10-27, 08:40 PM
Well it wouldn't be analog if the effect was digital (off/on) now would it?!
I did some initial tests last night just out of curiosity. The way I'm doing it is to just only send a key event every other time SOM requests the keyboard state for half speed for example, then every 3rd time for 1/3rd speed. I'm not sure if there is a timing problem, but my sticks seem a little dodgy. The programming is solid however I'm convinced. It's probably just either my controller or adapter or the Dualshock design in general being cheap. I noticed yesterday playing a PSN game like SmashTV (or Robotron) that even the Sixaxis sticks seem really cruddy for doing 360 type maneuvers. I'm thinking about trying with my Sidewinder (a MS joystick) to see if the integrity is better.
It's not great. Nor is it probably a long term solution. If we could control the speed parameter on the fly (the one you set in the System Editor) you'd probably see much better results. Still, if you want to play with analog sticks, like the way you might be used to playing new games, it really helps to make the sticks feel more responsive. It's unnatural really to use an analog stick with a digital visual feedback response.
I installed some drivers for my adapter. It didn't make the 4th axis show up under DX7, but it added rumble force feedback support. There are probably ways you could integrate that into your game effectively with an extension if you wanted it. There are actually like 4 different kinds of effects which can be adjusted with great sensitivity. I'm kinda surprised I've never played a game that really put the rumble motors to good effect. I'm not sure, but I think maybe you can't dial them up/down while they're on, which might explain why effects in games tend to be very simple.
The biggest jump is between full and half speed, which comes with a kick. Though not unreasonable. If you made the top speed only every other frame, you might get a more level curve, but you could not enforce that realistically. Quarter speed is not so bad, but with my controller I limited it to 3 gates. With a more sensitive controller you might do better. It can make a strobing effect not unlike KF4's which can be visually unpleasant. Walking at slow speed can also be painful because the walking effect tends to go off and on hurky jerky. I don't recommend disabling the effect however, because it's fine at top speed. Combined with SOM's already existing walking collision issues it can be a pain at times. It's definitely a pro and cons thing. For me it's choosing between classic PS1 type controls or an imperfect analog setup. It does better without the walk effect, so it's possible a replacement effect could be added via an extension to better integrate things. Also if you blended the last frame with the current like Shadow of the Colossus, the strobing would largely go away. Both simple/thin effects to add. But again, hopefully we'll get access to the speed parameter eventually instead, but for now, I prefer this to nothing.
I need to do some timing diagnostics to get a precise idea of how SOM is accessing the keyboard relative to the frame rate etc before I will have any final word. Some findings in this area might explain why the knocked out keys might be causing irregular behavior (if it isn't just my controller) ...that will mean revisiting the DirectDraw interface. I haven't decided if I want to take a break from SOM related programming and maybe work on the website here some more / lease out that new host, or what next. Anyway, I will start tidying things up and release some files you can add to your project/som folder to take advantage of the much more flexible/thorough keyboard/controller extension and to play with the analog function. It will just be off or on with whatever final algorithm I find suitable for my own play for now. I will probably disable everything else I've worked on. I actually might shift gears and focus on i18n next. Since that is the biggest qualitative addition to SOM I can think of / would be a welcomed change of scenery.
I'm just happy I won't have to correct SOM's controller configuration every time I turn on now, and as soon as I'm ready I know I can add new keys to SOM as needed.
I did some initial tests last night just out of curiosity. The way I'm doing it is to just only send a key event every other time SOM requests the keyboard state for half speed for example, then every 3rd time for 1/3rd speed. I'm not sure if there is a timing problem, but my sticks seem a little dodgy. The programming is solid however I'm convinced. It's probably just either my controller or adapter or the Dualshock design in general being cheap. I noticed yesterday playing a PSN game like SmashTV (or Robotron) that even the Sixaxis sticks seem really cruddy for doing 360 type maneuvers. I'm thinking about trying with my Sidewinder (a MS joystick) to see if the integrity is better.
It's not great. Nor is it probably a long term solution. If we could control the speed parameter on the fly (the one you set in the System Editor) you'd probably see much better results. Still, if you want to play with analog sticks, like the way you might be used to playing new games, it really helps to make the sticks feel more responsive. It's unnatural really to use an analog stick with a digital visual feedback response.
I installed some drivers for my adapter. It didn't make the 4th axis show up under DX7, but it added rumble force feedback support. There are probably ways you could integrate that into your game effectively with an extension if you wanted it. There are actually like 4 different kinds of effects which can be adjusted with great sensitivity. I'm kinda surprised I've never played a game that really put the rumble motors to good effect. I'm not sure, but I think maybe you can't dial them up/down while they're on, which might explain why effects in games tend to be very simple.
The biggest jump is between full and half speed, which comes with a kick. Though not unreasonable. If you made the top speed only every other frame, you might get a more level curve, but you could not enforce that realistically. Quarter speed is not so bad, but with my controller I limited it to 3 gates. With a more sensitive controller you might do better. It can make a strobing effect not unlike KF4's which can be visually unpleasant. Walking at slow speed can also be painful because the walking effect tends to go off and on hurky jerky. I don't recommend disabling the effect however, because it's fine at top speed. Combined with SOM's already existing walking collision issues it can be a pain at times. It's definitely a pro and cons thing. For me it's choosing between classic PS1 type controls or an imperfect analog setup. It does better without the walk effect, so it's possible a replacement effect could be added via an extension to better integrate things. Also if you blended the last frame with the current like Shadow of the Colossus, the strobing would largely go away. Both simple/thin effects to add. But again, hopefully we'll get access to the speed parameter eventually instead, but for now, I prefer this to nothing.
I need to do some timing diagnostics to get a precise idea of how SOM is accessing the keyboard relative to the frame rate etc before I will have any final word. Some findings in this area might explain why the knocked out keys might be causing irregular behavior (if it isn't just my controller) ...that will mean revisiting the DirectDraw interface. I haven't decided if I want to take a break from SOM related programming and maybe work on the website here some more / lease out that new host, or what next. Anyway, I will start tidying things up and release some files you can add to your project/som folder to take advantage of the much more flexible/thorough keyboard/controller extension and to play with the analog function. It will just be off or on with whatever final algorithm I find suitable for my own play for now. I will probably disable everything else I've worked on. I actually might shift gears and focus on i18n next. Since that is the biggest qualitative addition to SOM I can think of / would be a welcomed change of scenery.
I'm just happy I won't have to correct SOM's controller configuration every time I turn on now, and as soon as I'm ready I know I can add new keys to SOM as needed.