“Manual Ball Roller” for Visual Pinball

Before You Skip Ahead
I used Visual Pinball 10.2.1 for this tutorial. Future versions may break how this works, but I’ll probably be around to update this tutorial. In case I’m not, you have been warned.

Introduction
If you’ve ever developed on Future Pinball (I haven’t) or just messed around with the extra features (that’s me), you may know there’s a key to break the physics in Future Pinball and manually roll the ball around. This can be useful, especially to debug an original table you are developing. You could also use this feature as a player to learn the table scoring rules and develop your own strategies for playing when you’re not cheating with the manual ball roller. I’m sure I’m by no means the innovator of this technique for Visual Pinball, so I’m not trying to take credit, I’m just explaining how it can be done.

Prerequisites
A controller (or device) with analog input for Windows. For the purposes of this tutorial, I’m using a 360 wireless controller with the USB dongle reciever. If you have a cabinet build with analog nudge, you can use the device you’re already using for analog nudging, as if you hadn’t guessed already, abusing the analog nudge in Visual Pinball is how this technique works.

What To Do
Make sure your controller or device is plugged in (and turned on if it’s wireless). If you’ve never messed with analog nudge in Visual Pinball, skip to the next paragraph. If you’ve already configured analog nudge in Visual Pinball, all you should have to do is go to preferences > keys, nudge, and DOF > bump up x-max and y-max if they’re below 100. If they’re already at 100, alternatively you can increase x-gain and y-gain. I’d be more specific, but I don’t have a cabinet and whatever hardware people typically use. Make sure Enable Analog Nudge is checked as I imagine it is if you use it, and Tilt Sensitivity is checked and 0 (this disables the analog tilt sensor). Restart Visual Pinball after you make changes (and screen shot or write down your original configuration so you can have that back for normal play). Then try nudging your table however you normally do, and the ball should move more than it used to. Trial-and-error new values until you can move the ball how you’d like for testing.

If you’ve never messed with analog nudge in Visual Pinball, I assume you’re going to be using a normal PC controller. Assuming your controller is the only analog device you have plugged in, and it has a working driver to be used as controller on your PC, in Visual Pinball go to preferences > keys, nudge, and DOF > set X-Axis (L/R) to X-Axis and check Reversed, set Y-Axis (L/R) to Y-Axis and check reversed. X-Max and Y-Max should be about 20 (table dependent), X-Gain and Y-Gain should be about 150. Dead Zone should be about 30. Check Analog Nudge Enabled and Tilt Sensitivity, which you need to set to 0 (this disables the analog tilt sensor). Restart Visual Pinball after you make changes. I think this should work for any regular PC controller, but I only tested with a 360 controller, so feel free to ask if it doesn’t work, and I’ll help if I can. You may have to change X-Max and Y-Max depending on the slope of the table, this was tested on a table with a slope of 6. You should be able to influence the ball with the analog stick now.

Things To Keep In Mind
Nudging like this will affect all balls, so multiball modes will be trickier to test, and this will screw up captive ball targets. If you don’t change the table slope, you may need to increase X-Max and Y-Max (or X-Gain and Y-Gain) to get up steep ramps. Decrease those aforementioned values if you temporarily lower the slope, but keep in mind kickers won’t behave properly. You’ll also want to look out for getting the ball(s) stuck on accident in ways you can’t do with regular play.

This is just one technique I’ve learned for debugging (and a kinda fun one to use IMO), but it won’t be an end-all technique. I imagine table developers probably know about this or better techniques, but I thought I’d share this as it’s not as immediately accessible as just pressing a key like in Future Pinball. One advantage I think it has over Future Pinball and potentially other debugging techniques is if you don’t nudge, the table can function like normal, so you don’t have to toggle anything for testing, just start using your superhero nudging powers!

I’m probably an idiot and forgot to mention something important, so please tell me your thoughts on this topic.

Comments

  1. randr

    So this works like a controlled “throw ball”? I know in future pinball you can manually roll the ball everywhere but didn’t think it worked like that in vp if it does I need to try it

    1. freelunch Post author

      Yes! It doesn’t work exactly like it does in Future Pinball. Technically what you’re doing in Visual Pinball is the equivalent to just really strong virtual nudging, enough so that if nudge up constantly, the ball moves up. And since you can disable the tilt sensor for analog nudging, you can push the ball all over the playfield. Then when you’re not nudging, the game plays like normal.

  2. randr

    Should ask @toxie or @fuzzle if this can be added to work like future pinball. Would be so nice to roll a ball on a ramp easy! Example: when I was building joust it was a bugger to test as playfield was 2 ramps and you just cannot throw a ball on them! But this nudge option I bet would have been a better way for that build

    Users who have LIKED this comment:

    • avatar
    1. freelunch Post author

      Certainly the advantage to future pinball’s ball roller is that it moves the same over any slope. I’ve found at times I want the nudge strength to be lower on the playfield but higher for the ramps. If I have the strength high enough to go up steep ramps, it moves faster and can be more difficult to control on the playfield.

      I can imagine it’s possible to implement this technique in a more table-developer-friendly way (at least what I do, maybe the future pinball version would take more work to implement). Say, if a table developer already has analog nudging set up, it’s probably annoying to modify the settings every time to switch between your normal play settings and ball roller testing settings.

      When I have some time, I’ll ask one of those people about it. Actually, if this technique hasn’t been used before, I’ll bring attention to it for other table developers so the VP devs can gauge it’s usefulness to see if it’s worth the time and effort it would take to improve its implementation.

  3. wrd1972

    Totally agree Randr, We badly need a VP resident Ball launcher/roller test tool to perform the obvious tasks. It would be nice to have a dedicated object that could be placed, quickly configured and activated without having to touch the script. Man this would make testing so much faster and easier.

    Users who have LIKED this comment:

    • avatar
    • avatar
    • avatar