Does Anyone Want a Tutorial for the Best Menu System?

GeorgeH

Flippered Out
Site Supporters
Joined
May 3, 2016
Messages
3,130
Solutions
7
Reaction score
2,488
Points
145
Favorite Pinball Machine
Attack From Mars
Over the years, I have seen a number of different menu systems. Gimli and I created what we think is the best in-game menu system. We call it a "Tweaker". The main reason that we think it is the best is an end user can select a range of values for a parameter by just pressing an arrow key. The arrow key can increase the value displayed on a parameter by a set increment like 0.2, 0.4, 0.6, 0.8 etc. That has never been possible before now.

I would like to know if table developers would be interested in a tutorial on how to add this to a table. I have attached a demo table that you guys can try. The demo table comes with 3 parameters installed. You can add 25 more parameters for a total of 28 parameters. All 28 parameters are saved to a single save register, "nvS11". Adding a new parameter is pretty easy. You just replace an existing dummy parameter with the name of your parameter. For example, if you want to add a parameter for "Ball Rolling Sound Volume", you would just replace all occurrences of a dummy parameter like "ParameterFourG" with something like "BallRollingSoundVolume".

The demo table is set up with 2 DMDs and 4 overlays. You can choose to not add any of the DMDs or overlays with no additional coding required. You will probably want at least one DMD so you can see what you are doing. The tweaker is opened by pressing the Special 1 key on your keyboard. You can also open the menu by pressing either flipper key before you start the game. There are directions on an overlay on how to navigate the system. The directions identify 2 ways to navigate. One uses the keys on a keyboard. The other method uses just the flipper and plunger keys so cabinet users can still use it with a limited number keys on their cabinets, although it only works before you start the game.

Admittedly, the code is pretty complex but Gimli and I have done the complicated part for you. The coding you need to do is not for complete novices but it is not terribly complex. The tweaker has calls to run subroutines that you need to be able to figure out how to code. In the example above, you would need to know how to code the Ball Rolling Sound Volume sound part of it which an experienced coder should be able to do. The tweaker in the demo table has calls to run subroutines "BallsPerGame()" and "SetHUD()". The tweaker has the coding for Ray Casting built into it. You need to be able to code this type of subroutine using either method. The code I am describing is all contained In the Sub "GameTweakValues()".

Is anyone interested in a tutorial? If I get no responses, I won't bother creating it. Some of you will probably be able figure it out with just the demo table. If you are able to do so, feel free to use it on tables that you publish. I can send an Excel file that will help and tools that will help create the overlays if you ask for it. There are a limited number of directions in the script if you search for "Game Tweaker Start 2".
 

Attachments

  • Game Tweaker.fpt
    2.1 MB · Views: 8
Last edited:
There hasn't been much interest in the Game Tweaker other than a couple of likes which I interpret to mean that you find the concept interesting but not really interested in it enough to add it to a table. I admit the code can look rather foreboding because it is rather complex. There are parts of that I don't understand but that part of is just code you copy and paste into the table and don't look at it again.

I am working on a new version of Attack From Mars. Since I planned to add a new option on the Game Tweaker, I decided to record it to prove that working with tweaker is not really all that difficult. It actually only requires some basic coding skills that you will see in the video. The video shows how I added an option so you can switch between two different ball rolling sounds for wire ramps and be able to change it in-game:

 
I love the concept and your dedication to it!

I was wondering if there would be a way to add this into almost a WPC system menu like thing. Something where it gives a framework for adding options for the table (e.g. "Adjustments") and then goes into "Tweaks" options. Having it somehow be integrated into more system menu (of course there are tons of system menus, not even going into the Stern versions) would make me consider leaning into using your game tweaker into my tables.

Just thoughts, not to take away from your awesome work!
-mark
 
I love the concept and your dedication to it!

I was wondering if there would be a way to add this into almost a WPC system menu like thing. Something where it gives a framework for adding options for the table (e.g. "Adjustments") and then goes into "Tweaks" options. Having it somehow be integrated into more system menu (of course there are tons of system menus, not even going into the Stern versions) would make me consider leaning into using your game tweaker into my tables.

Just thoughts, not to take away from your awesome work!
-mark

I don't really know what a WPC system menu is. I can say that Gimli and I developed tweakers for FizX parameters and a lighting tweaker (this is really Gimli's brain child and I helped). These tweakers use the same concept as the Game tweaker but goes a little further than selecting options. I posted several tables with the latest version of the FizX tweaker like Road Rummer, The Hungry Dead and Medieval Castle. Then there is the table that started it all which is Avatar that has tweakers for FizX, Lighting and the Game tweaker. The FizX and Lighting tweakers are a little more sophisticated in that you can adjust a range of values for one parameter. Like on FizX, there is an adjustment for a parameter that adjusts flipper bounce that can be adjusted from a value of 700 to 2925 with increments of 25, all of which are saved to a 2 character number. The coding is the same as the Game tweaker but it requires a little more involved use of the Excel file that I showed in the video.

I decided to promote the Game tweaker because I have seen several FP tables that have menus so I thought there might be a bit more of a demand for it. I will be adding volume controls to the Game tweaker for sounds on Attack From Mars for about 10 parameters of sound like, game sounds, special effects, music and voice quotes that adjust sound levels from 0 to 1, probably in increments of 0.02.
 
That makes a ton of sense! I think I've seen the FizX and lighting system in the All In One template table that Terry published.

WPC Stands for Williams Pinball Controller which is the system of components which make up a Williams (and Bally) 80's and 90's era games (well until they stopped making Williams games)

YouTube demonstration of WPC operator/adjustment menu
 
That makes a ton of sense! I think I've seen the FizX and lighting system in the All In One template table that Terry published.

WPC Stands for Williams Pinball Controller which is the system of components which make up a Williams (and Bally) 80's and 90's era games (well until they stopped making Williams games)

YouTube demonstration of WPC operator/adjustment menu

The AIO has an early version of the FizX tweaker but it has no way to save settings. It doesn't have a lighting system in it though. You can wait to see AFM when I am done with it or check out Avatar to see the lighting tweaker:


I suppose the tweaker could be made to look like the WPC.
 
I would like to know if table developers would be interested in a tutorial on how to add this to a table
Hi G.....first of all a great job together with Bob,many thanks to you2.
I remember I was undertaking and trying to understand what this "Tweaker" was....but sometimes time doesn't allow.

I remember that it was a way to configure what I call "standard" parameters to try to best configure real-time gameplay, I say standard from what I understand, like... some parameters in xml to give an example,right?.........I've noticed and paid more attention to it("Tweaker") since I added "Fizx" the first time, if you remember I talked about it in my other thread.

Now I still have to try your demo, but it seems clear to me that you have added other parameters (I prefer to call them options) so have you added any other configuration options? I also imagine some light modes? or physics?

Is anyone interested in a tutorial?
If I can express my opinion, a useful tutorial would be what and how to change an option.......add the "Tweaker" to the table then I think it would be easier to add knowing what you are dealing with.
 
Hi G.....first of all a great job together with Bob,many thanks to you2.
I remember I was undertaking and trying to understand what this "Tweaker" was....but sometimes time doesn't allow.

I remember that it was a way to configure what I call "standard" parameters to try to best configure real-time gameplay, I say standard from what I understand, like... some parameters in xml to give an example,right?.........I've noticed and paid more attention to it("Tweaker") since I added "Fizx" the first time, if you remember I talked about it in my other thread.

Now I still have to try your demo, but it seems clear to me that you have added other parameters (I prefer to call them options) so have you added any other configuration options? I also imagine some light modes? or physics?


If I can express my opinion, a useful tutorial would be what and how to change an option.......add the "Tweaker" to the table then I think it would be easier to add knowing what you are dealing with.

A game tweaker is a method of changing various game options. I remember on one of your tables, you had an overlay open when you press either the Special 1 or Special 2 key (if I remember correctly). The overlay had text on it with letter keys you can press to change different things while you play the game. You would use the game tweaker in a way like that.

The demo table has options for selecting 1 to 9 balls per game, turning the Hud on and off and turning ray casting on or off. There are 25 additional save locations available on it where you can add whatever parameters you choose. I am working on "Attack From Mars" and have added parameters like changing music, swapping textures and swapping ball rolling sounds.

The demo table saves all the parameters to nvS11. So you will have plenty of save registers to use for other things.

Creating a tutorial is a very labor intensive process, I suggest that you try the demo table to see if you really want to add it to your tables. Then I will consider creating the tutorial. You have had trouble following my tutorials in the past because they are in English so I am not sure a tutorial will help you that much. The process is similar to adding FizX to a table and you recall all the problems you had learning how to do that.
 
Just a bump up.

Interesting...

I have been adding tweakers to the last 6 tables I have posted. Three of them have the FizX and Lighting tweakers in addition to the Game tweaker. Most of them have at least 50 parameters. If you only used nvR and nvS registers, you could only have about 32 parameters (3 of which you need to reserve for use on Rav's high score fix). The most registers used on any of my table mods are 4 nvS registers.

Gimli and I corrected 3 bugs on it when we worked on Avatar. I have not encountered any bugs since then. AFM has had 2000 downloads with no reports of any problems with the tweakers. Ian is the only person that has problems with it because he has an AMD processor which I am surprised can play FP at all. Someone should look at how he has his PC set up because most people can't play FP at all that have AMD processors.

There is much of the tweaker code where I have no understanding of it at all. It is not surprising since I have no understanding of much of the FizX code but I can still add it to tables.
 
Last edited:
I see this for other aspects as well. For example, a person new to scripting could use this to set different scoring options for objects from a menu as opposed to learning scripting. devs can use this for testing purposes beyond fizx, like a simple keypress to trigger complex routines for testing purposes or for testing code like texture swap or used to set multiple variables values or expand the BAM menu with addition features etc.

Something like this has been needed for a while, I really wished this was available for when I did fpxEngine, this would have made things so much easier for the end user.

I don't understand the code either. :)
 
I see this for other aspects as well. For example, a person new to scripting could use this to set different scoring options for objects from a menu as opposed to learning scripting. devs can use this for testing purposes beyond fizx, like a simple keypress to trigger complex routines for testing purposes or for testing code like texture swap or used to set multiple variables values or expand the BAM menu with addition features etc.

Something like this has been needed for a while, I really wished this was available for when I did fpxEngine, this would have made things so much easier for the end user.

I don't understand the code either. :)

I am not sure it can go that far but Gimli is the expert and would know better than me. You can set it to run just about anything but you can do the same thing with a key code. The real power of it is you can adjust parameters with a range of values. Like on AFM, I added control of volumes for categories of different sounds, like voice quotes, background music, sound effects, etc. You can adjust each category of sound in game from 0 to 1 at increments of 0.025. I didn't explain how to do that in the video because it is a more advanced feature that would require a lot more explanation. I used the Excel file I show in the video for how it handles the values of 1 and 2. ...But you can use it to generate a range of values also.

The only problem is I am not sure how many people actually use it. My experience is many people don't read anything I post or even watch the video that explains how to use the tweaker. Then they complain about not being able to make an adjustment that exists in the tweaker. I have to tell them to watch the video. Go figure. I made it as easy to use as is possible. It has explanations of every parameter on overlays that accompany the DMD.
 
The only problem is I am not sure how many people actually use it. My experience is many people don't read anything I post or even watch the video that explains how to use the tweaker. Then they complain about not being able to make an adjustment that exists in the tweaker. I have to tell them to watch the video. Go figure. I made it as easy to use as is possible. It has explanations of every parameter on overlays that accompany the DMD.
I know the feeling...
 
If anyone is interested, I revised my template for the game tweaker that I am using on Indiana Jones. The main change is I moved the DMD and overlays for the tweaker to the apron for cabinet users. I also added Gimli's code that makes it so cabinet users just can use the plunger and flipper keys to navigate the tweaker since most cabinets have a limited number of keys.

I found on the old version that the code that makes the DMD invisible on the backbox does not work on cabinets (even though it does work on desktops). It is actually better on the apron because DMDExt used on cabinets stretches the entire backglass to fill a 16x9 screen so the DMD and overlays are stretched as well (which is undesirable).
 

Attachments

  • Game Tweaker.fpt
    2.6 MB · Views: 2
If anyone is interested, I revised my template for the game tweaker that I am using on Indiana Jones. The main change is I moved the DMD and overlays for the tweaker to the apron for cabinet users. I also added Gimli's code that makes it so cabinet users just can use the plunger and flipper keys to navigate the tweaker since most cabinets have a limited number of keys.

I found on the old version that the code that makes the DMD invisible on the backbox does not work on cabinets (even though it does work on desktops). It is actually better on the apron because DMDExt used on cabinets stretches the entire backglass to fill a 16x9 screen so the DMD and overlays are stretched as well (which is undesirable).
Thanks for your effort here George! I've downloaded it and will need to check out the improvements!
 
General chit-chat
Help Users
You can interact with the ChatGPT Bot in any Chat Room and there is a dedicated room. The command is /ai followed by a space and then your ? or inquiry.
ie: /ai What is a EM Pinball Machine?
  • No one is chatting at the moment.
  • Quote
  • xenonph @ xenonph:
    I sent you message with pic showing where to make visible adjustment.
    Quote
  • Chat Bot Mibs Chat Bot Mibs:
    Pinped has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    daleks12 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Stephen has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    docdoc has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Exnihilo_Mundus has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    angmarg52 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    tully619 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    smorndb has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Tech49 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Topsi Klaus has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Forsaken43 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    duduky72 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Gerge has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    nunolilo has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    DavidT2025 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Gary-7 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Thunderbird has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    alug has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    bluebird has left the room.
  • HZR @ HZR:
    It’s nice to go all see a place I can play actual machines!!!!
    Quote
  • Chat Bot Mibs Chat Bot Mibs:
    Sunrise74 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Rai has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    liebowa has left the room.
      Chat Bot Mibs Chat Bot Mibs: liebowa has left the room.
      Back
      Top