Request Please improve "Call Attendant" logic-- it ruins games (suggestion included)

ER777

New member
Sep 8, 2012
797
0
The thing I don't understand is why tilting stops working when the ball gets stuck or lost..
 

Sumez

New member
Nov 19, 2012
985
0
I'm sure you guys are all in perfect shape, have elegant homes, and are leaders in your communities. I mean, since all you people do is demand perfection from others, you obviously demand the same of yourselves.
I agree with this on most of the gripes people have on this forum, however the call attendant thing looks like a pretty simple fix.

The thing I don't understand is why tilting stops working when the ball gets stuck or lost..
It doesn't here.
 

Mike Reitmeyer

FarSight Employee
Mar 13, 2012
1,735
1
I did have an issue a few weeks back where a ball got lost on the table. When debugging it, I found the balls were all "dead" (which means drained), however not all of them were in the ball trough. I cannot figure out how this could ever happen, the code that "kills" a ball, also adds it to the trough. I did however implement a fix, but it seems the issues you all see aren't the same.

The biggest problem is it's hard to fix a bug (safely without risk) without being able to reproduce it to make sure that you fixed it, and that you didn't break something else.

Call Attendant is tricky because we don't want players to be able to cheat. The other issue I face is how do I determine which ball is stuck?

One possible solution might be to have an option to end your turn, which would kill all balls and put them in the trough. This would be the equivilent of removing balls that were locked in traps and putting them in the drain. A rom may be able to handle that, but it's quite possible it'll get confused. Rom's get confused sometimes when things happen that could never happen in real life. Like a ball warping from one place to another.
 

Sean DonCarlos

Moderator
Staff member
Mar 17, 2012
4,293
0
One possible solution might be to have an option to end your turn, which would kill all balls and put them in the trough. This would be the equivilent of removing balls that were locked in traps and putting them in the drain. A rom may be able to handle that, but it's quite possible it'll get confused. Rom's get confused sometimes when things happen that could never happen in real life. Like a ball warping from one place to another.
For the benefit of those who are new to this discussion and didn't participate in the first round of it a few months back, here's an example of how a ROM could get confused:

  1. You play a new game of Cirqus Voltaire, fresh from the menu. You lock 2 balls on the Highwire ramp.
  2. In the course of playing the 3rd ball, a ball gets stuck somewhere, let's say the Juggler Lock.
  3. You call the attendant, but the attendant says the ball is not stuck.
  4. You use the new option to kill all balls and replace them in the trough and resume play. Note there are now 0 balls on the Highwire ramp.
  5. You light the 3rd lock and shoot the Highwire ramp, starting Highwire Multiball. The ROM thinks there are 3 balls on the Highwire ramp, but there is really only 1.
  6. You play Highwire Multiball with a single ball, noticing that something is seriously amiss, then you drain. The table still believes there are 2 balls in play, so now you're stuck:
    • The table will not move on to the next ball on its own, because it thinks you have 2 balls left on the playfield.
    • You can call the attendant, but the balls are truly not stuck, because they're all in the trough.
    • If you use the nuclear option again, nothing changes, because all the balls are already in the trough.
That's why a fix for "ball stuck" issues is not as simple as it might first appear.

The reason why the game can recover easily when a ball goes flying off the table is that the ROM does not expect said ball to be anywhere in particular. A ROM on a physical table does not actually "know" where the balls are; it can only detect switch hits as a ball goes by. So when a ball is physically locked, all the ROM senses is the physical switch closure that corresponds to the lock shot being made. It trusts that the ball will remain in the lock until the ROM decides to release it. If this trust is violated, problems happen. But a ball that exits stage right is not expected to be anywhere in particular, so it is safe to return it to the plunger.
 

superballs

Active member
Apr 12, 2012
2,653
2
For the benefit of those who are new to this discussion and didn't participate in the first round of it a few months back, here's an example of how a ROM could get confused:

  1. You play a new game of Cirqus Voltaire, fresh from the menu. You lock 2 balls on the Highwire ramp.
  2. In the course of playing the 3rd ball, a ball gets stuck somewhere, let's say the Juggler Lock.
  3. You call the attendant, but the attendant says the ball is not stuck.
  4. You use the new option to kill all balls and replace them in the trough and resume play. Note there are now 0 balls on the Highwire ramp.
  5. You light the 3rd lock and shoot the Highwire ramp, starting Highwire Multiball. The ROM thinks there are 3 balls on the Highwire ramp, but there is really only 1.
  6. You play Highwire Multiball with a single ball, noticing that something is seriously amiss, then you drain. The table still believes there are 2 balls in play, so now you're stuck:
    • The table will not move on to the next ball on its own, because it thinks you have 2 balls left on the playfield.
    • You can call the attendant, but the balls are truly not stuck, because they're all in the trough.
    • If you use the nuclear option again, nothing changes, because all the balls are already in the trough.
That's why a fix for "ball stuck" issues is not as simple as it might first appear.

The reason why the game can recover easily when a ball goes flying off the table is that the ROM does not expect said ball to be anywhere in particular. A ROM on a physical table does not actually "know" where the balls are; it can only detect switch hits as a ball goes by. So when a ball is physically locked, all the ROM senses is the physical switch closure that corresponds to the lock shot being made. It trusts that the ball will remain in the lock until the ROM decides to release it. If this trust is violated, problems happen. But a ball that exits stage right is not expected to be anywhere in particular, so it is safe to return it to the plunger.

I would like to be that guy that gets up and starts awkwardly clapping slowly
 

brakel

New member
Apr 27, 2012
2,305
1
I'm sure you guys are all in perfect shape, have elegant homes, and are leaders in your communities. I mean, since all you people do is demand perfection from others, you obviously demand the same of yourselves.

It's a game. Quit being so damn serious and focus on something other than the negatives for a change.

Hmmmm...making friends and influencing people. Welcome to the forum! :D
 

Fungi

Active member
Feb 20, 2012
4,888
2
Yeah, starts with sarcastic insults and finishes with an unsolicited directive. Great start.
 

Fritti

New member
Jul 27, 2012
43
0
For the benefit of those who are new to this discussion and didn't participate in the first round of it a few months back, here's an example of how a ROM could get confused:

  1. You play a new game of Cirqus Voltaire, fresh from the menu. You lock 2 balls on the Highwire ramp.
  2. In the course of playing the 3rd ball, a ball gets stuck somewhere, let's say the Juggler Lock.
  3. You call the attendant, but the attendant says the ball is not stuck.
  4. You use the new option to kill all balls and replace them in the trough and resume play. Note there are now 0 balls on the Highwire ramp.
  5. You light the 3rd lock and shoot the Highwire ramp, starting Highwire Multiball. The ROM thinks there are 3 balls on the Highwire ramp, but there is really only 1.
  6. You play Highwire Multiball with a single ball, noticing that something is seriously amiss, then you drain. The table still believes there are 2 balls in play, so now you're stuck:
    • The table will not move on to the next ball on its own, because it thinks you have 2 balls left on the playfield.
    • You can call the attendant, but the balls are truly not stuck, because they're all in the trough.
    • If you use the nuclear option again, nothing changes, because all the balls are already in the trough.
That's why a fix for "ball stuck" issues is not as simple as it might first appear.

The reason why the game can recover easily when a ball goes flying off the table is that the ROM does not expect said ball to be anywhere in particular. A ROM on a physical table does not actually "know" where the balls are; it can only detect switch hits as a ball goes by. So when a ball is physically locked, all the ROM senses is the physical switch closure that corresponds to the lock shot being made. It trusts that the ball will remain in the lock until the ROM decides to release it. If this trust is violated, problems happen. But a ball that exits stage right is not expected to be anywhere in particular, so it is safe to return it to the plunger.

There is actually a fix that can be implemented for this, BUT it involves a lot of extra work for relatively little gain: as TPA needs to keep track of the pressed switches / blocked optos as well (to signal the ROM where the virtual balls are), it could in fact also remember where the balls are supposed to be. That is, the new option does not actually have to be "put all balls in the through" -- it could be "put all balls back where the switches/optos were last triggered". This does of course need TPA to seperately keep track of game-specific states, such as "how many balls have passed through the Highwire Ramp opto". Hence, a lot of extra work.
 

Kolchak357

Senior Pigeon
May 31, 2012
8,102
2
I'm sure you guys are all in perfect shape, have elegant homes, and are leaders in your communities. I mean, since all you people do is demand perfection from others, you obviously demand the same of yourselves.

It's a game. Quit being so damn serious and focus on something other than the negatives for a change.

People are pointing things out in order to help FS improve the game and make it a better experience for everyone. If done in a constructive way, this is a positive thing. Most of the people on this forum love TPA and just want it to be its best. Please don't confuse this for negativity.
 

Tabe

Member
Apr 12, 2012
833
0
I'm sure you guys are all in perfect shape, have elegant homes, and are leaders in your communities. I mean, since all you people do is demand perfection from others, you obviously demand the same of yourselves.

LOL. Pointing out issues in software is what I do for a living. I'm good at it and the guys I work with appreciate that feedback. If you think that's "being negative" or "demanding perfection", you're way, way off-base. Every developer I've ever worked with - dozens upon dozens of them - has had perfection as a goal in their own work. Me doing my job helps them get closer to their own goal. Same deal here - Farsight would like a perfect product, I guarantee it, even if that's not realistic. Constructive feedback on issues and possible solutions gets them closer to their own goal.

Tabe
 

Punisher

New member
Jan 5, 2013
213
0
When I play CV, I tend to have my ball phase out of the table, and off into another dimension. The game then launches a new ball from the plunger, the moment this happens. So that got me thinking about bugs like this.

What if Ball Search fails, say, three times? Keep in mind Ball Search engages after a moment of inactivity, when the flippers aren't being touched. When the Ball Search doesn't knock the ball loose from its area numerous times, a new ball is fed to the plunger to be shot out?
 

brakel

New member
Apr 27, 2012
2,305
1
When I play CV, I tend to have my ball phase out of the table, and off into another dimension. The game then launches a new ball from the plunger, the moment this happens. So that got me thinking about bugs like this.

What if Ball Search fails, say, three times? Keep in mind Ball Search engages after a moment of inactivity, when the flippers aren't being touched. When the Ball Search doesn't knock the ball loose from its area numerous times, a new ball is fed to the plunger to be shot out?

Read Mike Reitmeyer and Sean DonCarlos' responses for why this won't work. It sounds logical until you start to understand how easy it is for the ROM to get confused and wind up in an unplayable state or worse an unstable state that someone could use to cheat the game.
 

Wehrwolf

New member
Oct 25, 2012
31
0
..and how come the attendant never wants to just talk with me? I'm in his arcade all the time...

Edit: On second thought, the attendant not wanting to talk to me is probably more realistic...
 
Last edited:

ER777

New member
Sep 8, 2012
797
0
The thing I don't understand is why tilting stops working when the ball gets stuck or lost..
It doesn't here.

This is what I'm referring to below. So why would the ball being lost stop a tilt from registering when you nudge like crazy?

I'm not questioning that it does he he's saying because I'm pretty sure I can remember the same thing happening to me once on RBIoN (PS3) shortly after the original release. The ball was stuck somewhere that it was never supposed to be, I could nudge as much as I wanted without tilting, and had to quit the game. I'm just trying to get my head around why that would be, in my mind they seem like they should be unrelated. I'm sure there's a good reason why the tilt won't register, I just don't know it and would like someone to tell me..

One ball somehow, somewhere either gets stuck somewhere or disappears into the void. The game gets stuck in limbo, waiting for this ball. Waiting through the reset cycles does nothing. Nudging/tilting does nothing.
 

Sumez

New member
Nov 19, 2012
985
0
The biggest problem is it's hard to fix a bug (safely without risk) without being able to reproduce it to make sure that you fixed it, and that you didn't break something else.

Call Attendant is tricky because we don't want players to be able to cheat. The other issue I face is how do I determine which ball is stuck?
Thanks for responding to this issue, Mike! Though, I think we're talking various different bugs here, really.

Personally I'm just talking basic attendant behavior, and it's pretty simple to reproduce. Just place the ball anywhere on the table where it won't come into contact with a switch or a flipper no matter how long you wait (such at that wireform ramp in RBION where I've had the ball getting stuck many times). The table will activate all its solenoids to find the ball, as usual, over and over again, but obviously, nothing happens. Bascially, I should easily be able to just activate the attendant, and wait for the X seconds to time out, and as long as the ball doesn't touch any switch, and no the player doesn't touch any flipper button, while it is counting down, there should be no problem with moving the ball to the plunger lane. I don't see how it should be possible to cheat under those conditions.
 

rehtroboi40

New member
Oct 20, 2012
1,668
0
I've lost some good BFTKs to calling the attendant-when the ball gets stuck behind the right troll. It's much harder IMO to get troll bombs in the PA version than it was in PHoF. On the latter, I'd get the 3 troll bombs at least once in 4 games. Hasn't happened for me yet in PA.
 

phreaker47

New member
Jul 15, 2012
352
0
This is what I'm referring to below. So why would the ball being lost stop a tilt from registering when you nudge like crazy?

I'm not questioning that it does he he's saying because I'm pretty sure I can remember the same thing happening to me once on RBIoN (PS3) shortly after the original release. The ball was stuck somewhere that it was never supposed to be, I could nudge as much as I wanted without tilting, and had to quit the game. I'm just trying to get my head around why that would be, in my mind they seem like they should be unrelated. I'm sure there's a good reason why the tilt won't register, I just don't know it and would like someone to tell me..

When I said "nudging/tilting does nothing", I didn't mean my game won't tilt. It does. It just doesn't get the game out of the limbo state. I'm just staring at "TILT" on the screen, and still all I can do is quit.
 

pezpunk

New member
Jul 29, 2012
427
0
but that gives me an idea -- if you call an attendant AFTER tilting, maybe it could reset the ball no matter what without any ill effects?
 

Sean DonCarlos

Moderator
Staff member
Mar 17, 2012
4,293
0
but that gives me an idea -- if you call an attendant AFTER tilting, maybe it could reset the ball no matter what without any ill effects?
That wouldn't help in my CV example, since the table would only see 1 ball hit the drain switch, but it's expecting 3. So it would just sit there, waiting for the other 2 balls to come down off the playfield.
 

Members online

Members online

Top