Skip to content
The One Way

One to rule them all...

The One Way

By now, you should understand that using The Vault is the fastest, and best method to build highly professional tables in a matter of minutes. You just copy and paste your way to success. So, what if I tell you that is all you need to learn to replace EVERYTHING, even in the code?

That's right, you can replace scoring features, change the display effects, add lighting and lightseg routines, change the entire music set, change all your global settings, by just removing one (small) line or bit of code, and just replacing that code with a new line of code.

Want to replace a fixed score code (like 25,000 points) with a Mystery Score? (random score feature) You can. Or change it to a Extra Ball? How about a special instead? You can, just by changing that one line of code with another.

It's all automatic because fpxEngine was written to be modular, everything written in it's own little section that is completely independant from each other, and accessed by just one little line you can just copy, and paste right into your script...

- Really? That Simple? -

Yeap, that simple. I  more than most people understand that scripting can be a pain. It's the main reason there are not a lot of people making computer based pinball tables, so my solution was very simple.

You just need to learn one way of doing things, and that one way is repeated and reused as many times as possible. Everything in fpx was written so all you have to learn is that one way, and it's the simplest way of doing things, and that's it. Copy.Paste.Rinse.Repeat. Even with code.

Playbox xse

The Secret

Behind the fpxEngine

Because everything is so modular, you can see the true hidden power of fpxEngine, the ability to change anything quickly. Beginners don't need much knowledge, intermediate coders can use the engine to get around some area's of advanced code they may not be able to do, and even advanced coders can use this as a "pure" engine, supplimenting the pre-set code if they need to.

Because everything is split into seperate modules within the script, it's really (in code speak) just point and shoot. You can just use the default preset routines, as mentioned before...

YOU DON'T HAVE TO CHANGE ANY OF THIS IF YOU DON'T WANT TO! 

Since everything is done one way, here's how everything is set up...

The Pre-Set Sections...

You Know the Drill

presetfpxEngine is divided into several main sections (or groups) each for a major part of the engine. Not only is there a pre-set scoring section, but there are sections for Displays (complete with scrolling/flashing text) Light effects, sections for inputting in custom code (like what you want for the light Attract, or when a new ball is started etc.

And because everything is self contained, you can mix and match various effects how ever you want. Of course there is a lot here, but then fpxEngine can do so much because of it, and that means everything is so organized and simplified to give you all that power at your fingertips. Each main section has it's own support page, which details all the effects/score etc, and even gives you the code needed.

pintable_front_512x512px

AddEngineEvent()

Access the engine without screwing up

The AddEngineEvent subroutine allows you to add your own code to the main engine in a way that is totally different than any other template before it. Instead of making you go through thousands of lines of code, instead, fpxEngine uses the concepts of "hooks".

Within one subroutine, you will have complete access to all parts of the main engine core, without having to even look at that core if you don't want to.

AddKeyEvent()

Define your own keys

AddKeyEvent is a subroutine that allows you to add custom code or additional features (such as a third flipper) that requires a keypress to use or activate. Like AddEngineEvent, theses are "hooks" that point to the main key press routines, safe places for you to add your code. Though the main engine routines look relatively simple, they can be very hard for beginners as proper placement of any custom code can be quite tricky.

AddKeyEvent uses the keys that are defined in the Preferences menu in the editor by the user, as opposed to calling the keys directly.  recognized and used by fpx.

pintable_front_512x512px
Playbox xse
pintable_front_512x512px
Playbox xse

AddMusicSet()

The Main audio/visual routine

AddMusicSet is the main routine that controls the display, Sound/Music, and lighting routines. AddMusicSet though is a very powerful advanced system that gives amazing flexibility to the engine just by changing one line to point to a different music set.

The user can select from one of the main music sets (such as from Bally or Williams games) and have fully coded music and display routines running within his game automatically. Not only are there different music sets, but also some routines have completely different display routines and lighting effects from other music sets. It is also possible to even have completely different rules for a feature (such as a target bank for example) depending on which music set is being used. 

AddScoringEvent()

The Big Boy...

AddScoringEvent are the preset feature scoring routines that you can point to within your hit code, like extra ball, or the Mystery Award. The engine will react differently depending on which music set you select, as the music/display/light effects are different from music set to music set.

Using the AddScoringEvent is pretty simple, you can just copy and paste the code provided with in a subroutine directly into your hit code. Some Events require messages to be input, (which you learned how to do in the Hit Code Section  in the Beginners Guide) followed by the main code line that points to the preset routines. All the main "features" are here, and it is all set up the exact same way, so it's a pretty simple way to add complex scoring within your game.

pintable_front_512x512px
Playbox xse

But Wait. There's More!!!

Seeing a Trend?

AddMusicSet() is the main routine for sound, but it also is the controller routine for all the lighting/flasher/display effects as well. Yeap, those routines can be called seperately as well, just in case you wish to add your own code...

AddLightFX()

vaultAddLightFX are the code using the LightSeq feature within Future Pinball. These are preset lighting routines used that are called by AddMusicSet for a light show while music is playing complete with display effects. In future, other code like from BAM will also be added in, but at the moment, this is pure LightSeq code.

Since AddMusicSet also contains the timer interval to play the music and display routine, this time is also used to run AddLightFX for that time as well. fpx will automatically when the timer interval is finished, stop the lightseq and display effects, reset the displays back to show the scoring, and then fade back in the background music.

AddDisplay()

vault

AddDisplay is the subroutine that handles all display text messages and adds special routines for scrolling, blinking or flashing text. Generally used by AddMusicSet and the main engine, AddDisplay was put in it's own subroutine (as a Select Case) so you can "mix and match" display code with the other main routines. You can also directly call AddDisplay in your custom code for one of the preset display routines.

This allows you to display messages instead of the players score in each of the 4 displays. It's also used a lot by the engine, you will notice the Message(x) code lines in a lot of areas, from table power up to the match routines.

AddEngineEvent gives you access so you can place your code directly into the engine, but it also gives you some things you can change to suit you.

Are You Finally Done?

yak,yak,yak...

errr.... nope

As much as we try and be brief, there's so much fpxEngine can do that it's hard to not write a novel just to explain briefly what fpx can do. That novel is the documentation section. Even writing this, there are still ton's of features I haven't even touched yet or saving for the documentation. Have a look at Jungle Girl, you will see all sorts of new features there.

It's simple, fpx was designed to satisfy the demand of everyone, no matter what skill level (or lack of skill level) This isn't a generic engine for one type of game, this engine can be used for all types of arcade pinball tables, and can handle the different era's. So, you can do flipperless games, to EM, to Solid State tables from the 80's. As the engine matures, you will be able to do the more modern style tables as well. 

fpxSupport

Knowledge Is Power

BE PROUD OF YOUR TABLE.
Make a slick, professional high quality pinball table you will be proud to share with your friends and community.

Our Massive fpxSupport pages gives you full access to the full power and capabilities of the fpxEngine Pinball Builder System, to make you the builder you were meant to be.

All the documentation you need, no matter what skill level, plus complete Vault item descriptions, tons more resources you can download, and even coding help if you are ready, it's all here, and just a click away.

And... it's all FREE!!

Strategy and Planning

We bring the right people together to challenge established thinking and drive transform in 2020

Strategy and Planning

We bring the right people together to challenge established thinking and drive transform in 2020

Strategy and Planning

We bring the right people together to challenge established thinking and drive transform in 2020

© 2024 fpxengine