(Topic ID: 47306)

Custom Pin - package selection help for the in-experienced

By swinks

11 years ago


Topic Heartbeat

Topic Stats

You

Linked Games

No games have been linked to this topic.

    #1 11 years ago

    Hi guys

    I know alot of you can't help me but maybe someone that has done a project can help me.

    I have been wanting to do a custom pin for a while but my biggest hesitation is the programming side of things as have zero experience.

    I want to do a re-theme using just a 80's Bally playfield including it's parts but in a 90's bally/wms cabinet with a dmd at the back of the playfield like on CV. I only have a unpopulated playfield and populated playfield of the same and both damaged so ideal for a re-theme (sorry keeping the theme quiet at this stage), but no cabinet nor board set etc but I want to do totally different rules etc.

    I have searched for a while and so far only found 2 systems with Ben Heck releasing one soon (I hope) and they use different programming options.

    Pinterface
    http://www.millisoft.de/pinterface_en.php

    P-Roc
    http://www.pinballcontrollers.com

    Ben Hecks
    ???? at this stage

    Is there any others?

    Also my fear is I inject alot of time building a game and designing graphics and doing wiring and then I come to a grinding halt due to programming dramas becuase of no experience.

    P-Roc appears to be the leader / most well known but experience needed to programme.

    Pinterface has 2 options to program, one via the typical programming technique and the other via a graphical technique which seems better for the inexperienced. My concern with this product is it isn't really known and hardly anything on youtube of a working example. If you download the pdf manual, it explains alot and seems very good and more user friendly.

    Ben - if you are reading this, if and when you release your system could / would you consider a graphical software option for programming for the wanna be pinball geeks that don't know how to programme.

    Can anyone help with advise, experience, links anything please, then I can start my project and share with you guys my plans.

    Thanks in advance

    #2 11 years ago

    P-roc: get ready to script. I would mess with a virtual pin language first to see if u can handle it.
    Ben's board: I would imagine this will be easier because its arduino, and sample code libraries will likely get written so you can copy and paste. I would imagine Ben wont release the board until Charlie has worked all the bugs out.

    #3 11 years ago

    Thanks for that mate, Charlie is doing bens pin earlier so maybe the boards could be released a little earlier

    #4 11 years ago

    There is already a fairly large community using the P-Roc, and I haven't heard of anyone but the developers doing anything with the other two. Might not be a problem for some, but if you really have zero programming background that's going to be a huge difference.

    #5 11 years ago
    Quoted from ecurtz:

    There is already a fairly large community using the P-Roc, and I haven't heard of anyone but the developers doing anything with the other two. Might not be a problem for some, but if you really have zero programming background that's going to be a huge difference.

    Do you know who is using the pinterface system?

    #6 11 years ago

    Here's my 2 cents and I have a little bit of experience in it. Most of the experience comes from the fact that I'm trying to do a custom pinball machine, and it has morphed into a larger and larger project.

    I originally thought that I could make a graphic language to program the controller and create the ruleset. This was a desire to make it more accessible to other, non-programmers. As I pondered the project more, I quickly realized that I couldn't get the depth of the rules that I wanted. An example of a simple pinball would be hitting all the targets, and when that happens you are rewarded an extra 1000 points, and the targets are cleared so you can hit them again. That sort of logic is very simple and could be done using a graphic language without much difficulty. Most graphical languages will limit what can be done because they are trying to restrict the number of possibilities.

    The problem is I wanted to have special modes and multi-ball and all sorts of other things happening in the game. Many of these modes required timers, or a certain order of events to start the mode. To get real depth in a game, it would be nearly impossible using a graphic language. (The only real graphic language example that I can think of with that ability would be labview, and if you are going to learn labview, you might as well learn how to program.) That means that the game will need to be programmed.

    Pinterface uses a scripting language. PROCs are also programmed. I know that PROC supports DMD interfaces, so that might be a plus. The PROC guy is also a native English speaker, so you might have less issues translating the information. (Pinterface seems to be natively German).

    I decided against the DMD because it was too expensive for my design goals. Since you are probably going to be controlling this using some sort of PC based tool, you could easily go with a LCD screen that attaches directly to your PC board. Bummer about that is that it loses some of it's pinball feel.

    The PROC guy (Gerry) mentioned that they now have distributed drivers. Those would be interesting to look into. Here's an alternative to that. https://www.sparkfun.com/products/10618
    That board can't do 70V without swapping the FETs.

    In the end, I think you are going to need to learn at least some programming. Take the jump and try and learn it. Just come up with a small project such as kicking a solenoid and see if you can get that to happen using whichever driver board that you select.

    Last part. Good luck!

    #7 11 years ago
    Quoted from openpinballproj:

    Here's my 2 cents and I have a little bit of experience in it. Most of the experience comes from the fact that I'm trying to do a custom pinball machine, and it has morphed into a larger and larger project.
    I originally thought that I could make a graphic language to program the controller and create the ruleset. This was a desire to make it more accessible to other, non-programmers. As I pondered the project more, I quickly realized that I couldn't get the depth of the rules that I wanted. An example of a simple pinball would be hitting all the targets, and when that happens you are rewarded an extra 1000 points, and the targets are cleared so you can hit them again. That sort of logic is very simple and could be done using a graphic language without much difficulty. Most graphical languages will limit what can be done because they are trying to restrict the number of possibilities.
    The problem is I wanted to have special modes and multi-ball and all sorts of other things happening in the game. Many of these modes required timers, or a certain order of events to start the mode. To get real depth in a game, it would be nearly impossible using a graphic language. (The only real graphic language example that I can think of with that ability would be labview, and if you are going to learn labview, you might as well learn how to program.) That means that the game will need to be programmed.
    Pinterface uses a scripting language. PROCs are also programmed. I know that PROC supports DMD interfaces, so that might be a plus. The PROC guy is also a native English speaker, so you might have less issues translating the information. (Pinterface seems to be natively German).
    I decided against the DMD because it was too expensive for my design goals. Since you are probably going to be controlling this using some sort of PC based tool, you could easily go with a LCD screen that attaches directly to your PC board. Bummer about that is that it loses some of it's pinball feel.
    The PROC guy (Gerry) mentioned that they now have distributed drivers. Those would be interesting to look into. Here's an alternative to that. https://www.sparkfun.com/products/10618
    That board can't do 70V without swapping the FETs.
    In the end, I think you are going to need to learn at least some programming. Take the jump and try and learn it. Just come up with a small project such as kicking a solenoid and see if you can get that to happen using whichever driver board that you select.
    Last part. Good luck!

    Thanks heaps for taking the time to explain and share your experience, the graphical grogramming like the option within Pinterface sounds a little more user friendly but hardly any updated info from their site or projects online for a while - though rumour is the german zombie machine is using this.

    My first project was going to be a change in rules (to achieve with various goals to accrue to reach a jackpot / ultimate goal) with game having 11 drop targets, a spinner and a kick out - so no ramps, no multiball (maybe one ball - still tossing that up) - with the inserts lighting up totally different to suit the new rules really being the big change as well as playfield graphics which is seperate to this thread.

    Still open to any help / advice / experiences

    But I think you are right I just have to jump in there and learn as I go, just a expensive step into the unknown if I can't work it out.

    #8 11 years ago

    I honestly dont like proc and you need so many of the boards and its very expensive. also need a pc to drive the proc as well.

    I'm building my own boards, honestly the electronics are pretty basic. solenoid bank, leds driving by led driver chips, switch bank driven by a little 3.3v microcontroller.

    whatever you do, you need programming. the better at it you are the better your machine will run.

    on a simple level, its a state machine, or even more basic. switch is on, add 50 points etc. ball trough switch? ok we had a drain. gets tougher to design as a state machine if you start stacking modes as when modes end you need to back the states out to the previous states etc can start making things really hairy.

    if you got bens boardset (propeller driven), you'd still have to program it (either propgcc or spin).

    #9 11 years ago

    I'm currently re-theming an existing pin, so I'm not having to design a board, or worry about scoring. My only limitation is that I'm limited to that pin's existing target scoring, two spinners, and two ejector holes. I can add targets by tapping into an existing one, but likely I can't add extra flippers. I can't add a multiball, I can't add VUK's (I might be able to turn the eject holes into them by swapping out mechanisms and beefing up the solenoids). Using an existing pin's guts is not a bad way to start off.

    #10 11 years ago

    I really like the idea of the "Pinterface" but the software being in german is a big hindrance.
    Does anyone know if they offer an english version?

    #11 11 years ago

    When I first designed the P-ROC, I hoped to have either a graphical programming package or some kind of text-based rules description file that would get interpreted by the a runtime engine. Just like openpinballproj concluded above, it's easy to provide such a mechanism for simple rulesets, but it's practically impossible to do so for complicated rulesets. When you consider the logical complexities in a modern/complex ruleset, there's just no good way to describe it in a simple fashion, whether graphical or text. So whether you'd be creating a graphical program (I wrote my first pinball game in LabView) or a text-based one, you'd still be programming your ruleset. There's just no way around that.

    Given the above, we did what we believe to be the next best thing. We made our system capable of working with nearly any common programming language, including high-level scripting languages with which beginner programmers can be successful. We then wrote the pyprocgame software framework, which already implements most of the common functions required for pinball game dev (automated switch handling, abstracted hardware control functions, ball/player/game tracking, ball trough logic, ball save logic, mode definitions, audio handling, DMD layering/text/animations, high score tracking and entry, service mode functionality, etc).

    Most beginner programmers are very successful with the P-ROC because most of the work is already done. pyprocgame comes with a skeleton game implementation. All you have to do is add your game-specific rules. Further, you don't need complicated logic to drive your game features. Want a coil to pulse for 30 ms? Just call proc.coil.pulse(30). Want to blink a lamp twice a second indefinitely? Just call proc.lamp.schedule(0xff00ff00). Want to set up your flippers to automatically flip when the appropriate button is pressed? Just call game.enable_flippers(true) at the beginning of your program. The P-ROC hardware takes care of the low level details for all of these things.

    Switch handling is easy too. Want specific code to get called when switch 'xyz' is activated? Just name your function 'sw_xyz_active()'. Want different code to get called if the switch is activated for 500ms? Name your function 'sw_xyz_active_for_500ms()'. pyprocgame handles the rest.

    All of the P-ROC support projects (drivers, extensions, frameworks) are open-source, and we encourage people using the P-ROC to open-source their game code as well. There's therefore a number of projects that you can reference and from which you can take fully working mode implementations.

    It's true that the P-ROC needs some form of PC to run the game code. I did this on purpose because everybody's game has different needs and different processing power requirements. Most people building traditional-style games can be successful with a $35 raspberry pi as the 'pc'. We even have customers who drive full LCD graphics with a raspberry pi.

    OK - sales pitch over. Always feel free to email me directly with questions, or drop by our forums (http://www.pinballcontrollers.com/forum) and ask your questions there. We have a number of active forum members (including me) who enjoy helping people with their projects.

    - Gerry
    http://www.pinballcontrollers.com
    http://www.multimorphic.com

    #12 11 years ago

    Thank you very much Gerry for taking the time to answer my questions and offer up some information, very much appreciated. I have checked out your forum and there were a few particular guys who detailed the start of their projects very well but still left confused, especially since I wanted to download and start reading and understanding via a Mac and there seems to be some autoload features for pc but not mac.

    I think I will send you a email of what I want to do and work out the features and items to run on my first project that I want to do and if you have time you can start me off in the right direction as I really want to do this.

    thanks again

    #13 11 years ago

    Would it possible to use a pc and ipac and just use flash or something to handle it?

    #14 11 years ago

    I have been tossing around the idea of making a custom re-theme.

    Is there any way with PROC to make or change animations on the DMD.

    I have been looking for a game locally from 1979-1985 so I did not have to do anything but voices and art package.

    I would love to make it with a newer game but really unsure how to go about the DMD.

    minimal programming skills but a quick learner =)

    #15 11 years ago
    Quoted from swinks:

    I think I will send you a email of what I want to do and work out the features and items to run on my first project that I want to do and if you have time you can start me off in the right direction as I really want to do this.

    No problem - happy to help.

    Quoted from pinmanguy:

    Would it possible to use a pc and ipac and just use flash or something to handle it?

    That's a possibility for handling switch inputs. Then you'll need something to drive you game features (lamps, coils, motors, magnets, etc). Also, you'll likely have latency issues on your flippers and bumpers if you just use an ipac. The time it takes to receive switch events and turn around driver update commands over USB will cause noticeable delays in your flipper and bumper responses. The P-ROC eliminates these delays by handling features like these all in hardware.

    Quoted from Shoot_Again:

    I have been tossing around the idea of making a custom re-theme.
    Is there any way with PROC to make or change animations on the DMD.

    pyprocgame has a full set of DMD functions that make it very easy to play dmd animations. It even has tools that will convert sequences of common format images (jpeg, bmp, gif, etc) into animation files.

    - Gerry
    http://www.pinballcontrollers.com
    http://www.multimorphic.com

    #16 11 years ago

    Just to add a little more info to what Gerry said. What people have alluded too, but failed to mention is the real-time nature of pinballs. Driving a display using a PC is great because it doesn't matter if it delays 1/2 second or a 1 second because in the end, it is just eye candy. When you use something like an IPAC attached to the PC you can start running into latencies because the PC is doing other things. If you have an input from a pop bumper going to your IPAC, it has to be read into the PC, and then maybe send a serial command to actually kick the solenoid, that is getting to be a lot of time.

    The driver boards I built have the inputs and the drivers on the same board, so the little microprocessor on that board can deal with the real-time aspect of receiving an input and immediately kicking the solenoid. Gerry's boards do it in exactly the same way. That is an architecture that makes sense to me because you can then, in a non-real time fashion, poll the switches to add points to the score, etc. (The added bonus Gerry has is you can buy his boards as opposed to building boards from scratch like I did.)

    You should not need to buy $500 worth of stuff to see if you can make your dream pinball machine a reality. For less than $100 you should be able to get enough things to do a proof of concept, and verify that you have the ability to do the programming. If you don't become completely frustrated and want to continue the project, keep adding more and more features to the pinball machine, and adding to the complexity of the ruleset. I would caution you against buying a whole bunch of stuff for hundreds of dollars and then finding out it is too difficult.

    One of the test beds for my project is an old PC power supply for 12V to kick the solenoids, 5V from the same supply for the microprocessor and a couple LEDs with current limit resistors. The power supply was sitting in my basement so that was free. While the test only kicked at 12V so it wasn't very strong, it proved out my driver boards and input boards.

    #17 11 years ago

    all great info, thanks

    openpinballproj - have you started any threadson what you are doing, I would be interested to read

    Gerry - thanks for that, will get some info together send you a email with my requirements.

    #18 11 years ago

    No specific threads. I just have a blog http://openpinballproject.wordpress.com/. Some of the info is related to creating a new machine from scratch. Some of the information is simply restoration work.

    Reply

    Wanna join the discussion? Please sign in to reply to this topic.

    Hey there! Welcome to Pinside!

    Donate to Pinside

    Great to see you're enjoying Pinside! Did you know Pinside is able to run without any 3rd-party banners or ads, thanks to the support from our visitors? Please consider a donation to Pinside and get anext to your username to show for it! Or better yet, subscribe to Pinside+!


    This page was printed from https://pinside.com/pinball/forum/topic/custom-pin-package-selection-help-programming-concerns and we tried optimising it for printing. Some page elements may have been deliberately hidden.

    Scan the QR code on the left to jump to the URL this document was printed from.