Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news


  

Author Topic: **TESTERS WTD** - Major League SkeeBall -- Cross-Platform SkeeBall Controller  (Read 2961 times)

0 Members and 1 Guest are viewing this topic.

nipsmg

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1265
  • ROONEY!! ERRGH!!
    • Arcadia
Fixed a bunch of bugs in Stranger in the Alps and Riskee related to the issue in the post above..

The issue I was having was something like this:
In Riskee, lets say the player is on their last ball, and they hit 40 to spin the wheel.  What was happening was:
  • Spin initiated
  • Ball count decremented
  • On the next game update loop, 0 balls detected, call game end
  • Game end fired, show high score if score merits it
  • Sometime after this, the bonus wheel spin completes
  • Score or ball count is incremented (or decremented), but game is over and high score is already recorded.

I had to create a game event queue that would allow me to register game actions with a priority.  High priority items always process before low priority items.
In the case above, this happens now:

  • "SpinWheel" game event added with high priority. Since it's the only event, it starts executing immediately and is removed from queue
  • Ball count decremented
  • Update loop detects no balls left, adds "EndGame" event to the queue as LOW priority. Since Something is executing, this sits in queue
  • Wheel spin ends. When the "SpinComplete" event fires, it adds the result of the spin as a game event to the queue with HIGH priority.  Since the "wheel spin" hasn't completed, this sits in queue.
  • The last line of SpinComplete() is Pipeline.ProcessNext()
  • Since there is an item in the high priority queue, it processes first, lets say "Play sound effect and add score" event.
  • Last line of "Play sound effect and add score" event is Pipeline.ProcessNext()
  • The next thing in the queue is a low priority item.. End Game.  EndGame is called and does the whole check/register high score and display GameEnd thing.


There's plenty of other occasions where this is an issue that I will eventually fix with the pipeline:

In Zap:
  • Player hits the same number as another player
  • Zap sound starts playing
  • Please wait indictor comes up before the sound effect finishes and moves the score to 0

Plenty of others.  These really are the last major nagging bugs keeping me from releasing an alpha for testing.  I am hopeful for a weekend release.

big420atx

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 3
  • I want to build my own arcade controls!
I would love to get involved in the beta test and what not. This is something I have been interested in for awhile now. Good luck and maybe we can talk a little more about the actual hardware side soon.

nipsmg

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1265
  • ROONEY!! ERRGH!!
    • Arcadia
OPEN CALL FOR TESTERS!!!
« Reply #42 on: February 23, 2018, 11:02:12 am »
If you want to be a tester...
I've got a PRE-Alpha release built that I'm happy to share with anyone who wants to test.  I'm not quite comfortable making it globally available currently however.

If you're interested in doing some testing for me, please respond inline in the thread and I'm happy to send you a copy for testing.  Please post any bug reports, etc in this thread as well.

Important things to know:

The current build assumes a Model H/Model S with physical switches.  The way these machines score, is the ball drops through a hole, then rolls down a chute hitting every switch below it, THEN hits a switch in the ball return chute that i call "Ball Drain" on the way out.  The 100 pocket switches are worth 50, the others worth 10 in classic skeeball.

Note: I WILL me making this an option in a future release.  I know plenty of custom built solutions (and even newer real skeeball machines) use optical sensors that don't require a ball drain input.  This will be configurable in the config file in the next alpha release.

For example:

If you hit 100, the score is calculated like this:

score + 50 for 100 switch
Score + 10 for 50 switch
Score + 10 for 40 switch
Score + 10 for 30 switch
Score +10 for 20 switch
Score +10 for 10 switch
BallCount -1 for ball drain switch

Because of this mechanic, all games OTHER than Classic SkeeBall register the first switch it hits, then NO OTHER SWITCHES until the ball drain switch is hit.
So while testing, you have to manually advance the ball count.

Default Keys:
  • A-10
  • S-20
  • D-30
  • F-40
  • G-50
  • H-left 100
  • J-Right 100
  • N- Ball drain switch
  • Esc - Back / Exit
  • Left/Right - Left / right in menu.  Also left/right allow you to navigate through game modes for games that support it (310 and ZAP currently)
  • UP/Down - Increase/Decrease Players.  Only works in Bowling, Zap, and 310 Currently.
  • I - Info / High Score (only works in "game over" mode in a game.  Hit I once to see instructions, again to see highscore table (if game tracks highscore)
  • Enter - Select / enter/ start game

So to test a 100 in Classic Skeeball, you have to hit H,G,F,D,S,A,N in order.  (N advances the ball count)
In any other game, you hit the pocket ball then you HAVE to hit N before you can register another pocket.  So to hit 40, you hit F then N.

SETTINGS:
The game is resolution independent, so you can set 4:3 resolutions and it *SHOULD* letterbox. There is a settings.json file you can inspect for settings.
You can also adjust the timeouts for attract mode, set fullscreen mode, etc.

I'm very open to comments, suggestions, etc. 

Please remember this is considered PRE-ALPHA..  it's by no means complete, but is definitely playable.

I really appreciate any help anyone is willing to give to help squash bugs.
I'm also VERY, VERY interested in feedback on current sound effects, suggestions for in-game sound effects, music, mechanics, graphics, improvements, etc. 
I'm also open for suggestions for new games/game modes.
« Last Edit: February 23, 2018, 01:17:14 pm by nipsmg »

jimdeprado

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 15
  • I want to build my own arcade controls!
Thanks!  I would very much like to help test your software.  Let me know and I can PM you my email.

Jim

nipsmg

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1265
  • ROONEY!! ERRGH!!
    • Arcadia
Jim, sounds good, PM me your specs (processor/RAM/OS/version) and I'll send you a link to an alpha copy.

big420atx

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 3
  • I want to build my own arcade controls!
For anyone on the fence about this build. Let me tell everyone that this is amazing. Please help out with the beta test.

nipsmg

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1265
  • ROONEY!! ERRGH!!
    • Arcadia
So, sorry for the lack of updates.  Haven't gotten any feedback yet, but will be doing some work to shore up some bugs this weekend.   

I spent a bit too much time on this int he beginning (at the detriment of some other home projects) so updates will be slow for the time being.  Sometime in march I'll be ordering the cork and starting the restore, which will likely spark more updates here.

Still would love beta testers of the software (you don't need a skeeball machine, just a keyboard!).  IF anyone else is interested, let me know!

Thanks!

nipsmg

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1265
  • ROONEY!! ERRGH!!
    • Arcadia
For anyone who had been following this at all... it's been a month and a half since my last update and I've accomplished....

NOTHING :(

Work hit a crazy stride and I've had some difficult clients taking up 100% of my time.  I've made no physical progress on my machine and no progress on the software.  I'm planning on changing that this weekend, so hopefully I'll have some kind of update.  I'm taking Friday off work and my goal is to get the garage cleaned out, get the machine cleaned up, and hopefully look at getting it moved up into the garage so I can really start putting the finishing work into it.

This project is not dead.  Stay tuned.

nipsmg

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1265
  • ROONEY!! ERRGH!!
    • Arcadia
And... here I am at work.  Didnt' take today off  :(  Difficult clients win again.

Maybe this weekend.  *sigh*

stangx

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 2
This project is amazing.. I picked up a non working skee ball lightning and have been sitting on the fence to either replace CPU or going other routes. I have arduino, Raspberry pi and and a spare laptop. Also have an IPAC 2 left over from my Visual pinball Cab build. I love how you have several different games incorporated and will be waiting for your next release as my machine has optical sensors or I would have gladly helped test your first release. Anyways you have done an awesome job and look forward to your next release. :applaud: :applaud: :cheers:

nipsmg

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1265
  • ROONEY!! ERRGH!!
    • Arcadia
Stangx,

    Thanks.  I'm actually pulling the Skeeball out of the basement this weekend, and am working on the new scoring board.  I'll be routing the slots for the optical sensors, so I should be able to start adding support in the next few weeks.

    The optical sensors will allow me to add support for a lot more game modes.  Ideally I want to get LEDs installed as well, which really opens up possibilities.

RW

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 3
  • I want to build my own arcade controls!
Like stangx above, I just purchased a non-working skee-ball machine and I've been trying to decide on how to proceed.  I would LOVE to have the setup you're working on, but would need some help getting it started.  I have a raspberry pi and arduino I could salvage from another project, but would definitely need some guidance on setup.  Count me in!

stangx

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 2
That is great news nipsmg. I have all ready swapped out lane lighting to led. blue tooth controlled and sound activated. I ordered a led wiz, so all other lighting will be controlled by it. Looking forward to seeing more on your project. :cheers:

nipsmg

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1265
  • ROONEY!! ERRGH!!
    • Arcadia
Like stangx above, I just purchased a non-working skee-ball machine and I've been trying to decide on how to proceed.  I would LOVE to have the setup you're working on, but would need some help getting it started.  I have a raspberry pi and arduino I could salvage from another project, but would definitely need some guidance on setup.  Count me in!

RW, I haven't gotten MonoGame to run on a RaspberryPi hardware accelerated.. yet.  Apparently it can be done, but I've had a lot of trouble getting it working.   Apparently OpenAL doesn't work, so you have to either use ALSA or compile an OpenAL library directly.  There's a thread about it on reddit and on the monogame community forums.

If someone can figure out how to get it set up on RPI for me and give me an image, I'd be happy to be sure it runs properly on that platform.


RW

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 3
  • I want to build my own arcade controls!
I've got a spare laptop, as well as an older desktop, I could use to test for you.  I spent the day today troubleshooting since I've only had this thing for less than a week.  Even if I can get it working, I'd swap out the insides to this project in a minute.

nipsmg

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1265
  • ROONEY!! ERRGH!!
    • Arcadia
Recent Updates
  • Fixed issue in Bowling where game would freeze after game completion when less than 4 players playing.
  • Fixed ZAP to allow special events like zapping a player to 0 to finish before game state changes occur (next player / game over).
  • Fixed Skricket to allow special events and sound effects to complete prior to game state change.

  
 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31