Thursday, January 8, 2015

America's Most Haunted

Benjamin Heckendorn, the person who got me started with my pinball machine with his Bill Paxton pinball, returns with a making of blog about his latest game America's Most Haunted. It's co-designed by legend John Popadiuk and looks pretty cool.

Check it out here!

http://www.benheck.com/americas-most-haunted-making-of/


Also -
I've received the parts for my light board as well as my WAV Trigger, and I've rendered most (if not all) of the videos I need for the game. So this weekend will be all about BioShock for me! :)

Tuesday, January 6, 2015

Lightboard V2, revision B

Slight update.

Turns out the LoL Shield was charlieplexed, which is rather unsuitable for my needs and I really don't wanna spend the extra processing on the debugging tools. I have therefor decided to insert two 8x8 dual-color LED-modules instead, which is even better actually as they work exactly the same as the light-matrix I'm building - simply extend the wires a bit.

I've also figured out it would be nice with a simple and quick push-to-test button. The plan is to step through all lights, column by column when pressed and held down. This allows quick and easy troubleshooting of broken bulbs or chains without having to interface with the menus, and I could do this with the playfield up as well.

1) Revision B. Tactile button and multicolor LED's for troubleshooting added. The LED's for each lamp will be static
but the flashers/higher voltage things will be using red and the lower voltage green. There's also empty pins to ensure the
cables are inserted correctly, however I believe nothing happens if plugged the wrong way - except that it won't work.

Monday, January 5, 2015

P or N...

Lucky for me, I noticed that I'm all out of P-channel MOSFET's... need to order some!

Someone told not to quote him or her on this, but it seems true enough:

"When triggered, a p channel mosfet connects the input on the load to the positive source whereas an n channel mosfet connects the output from the load to ground or the negative source."

This means my N-channel MOSFET's doesn't work as a current supplying unit and would have rendered the whole device "useless"... The pin layout is also switched (source becomes drain and vice versa) so I need to redesign the board slightly.

Things you notice when trying stuff on a bread board! ;)

Lightboard V2...in the making.

First draft of the lightboard:
1) Lightboard v2. Will be matrix-driven and hopefully a lot more stable/cleaner/better than v1!

I'm using a LoL-board for the light matrix (this is only debug info) as it's almost perfect in size, and saves me a ton of soldering. I've also decided to put in a few fuses on the board to hopefully prevent things from burning up in the case of a short.

No error checking has been done yet. And I'll have to confirm the diode placements, but it's looking a lot cleaner than the old version. I'll use ten different wire colors as well, so I should be able to debug light problems quite easily in the future.

Sunday, January 4, 2015

Enter the Matrix....

Semi-success! And fail! 

I've moved all light processing into a separate Arduino Nano board that I had lying around and it worked a treat. Rock solid lighting and freeing up resources on the Chipkit for gameplay!

But I accidentally loaded the lights in the wrong order, enabled some lines that probably should have stayed off (most likely shorted ones... Maybe they were the problem with the lightboard in the first place?) so now the lightboard is once again acting up, and it's going in the dumpster instead.


Two options exists:

1) Recreate the board, twice the scale but still with 96 "inputs". Expensive and very hard to solder without making mistakes, even with the larger spacing. Also, did I mention it's expensive? If I need to add a resistor, make that 96 resistors. MOSFET's? Make that 96 of 'em...

2) Create a matrix board instead. A LOT cheaper and quite easy to solder. I'll be able to visually debug the lines by using led's on the row and column MOSFETs. The downside is that I'll have to re-do ALL the lights wiring, at least most of it anyway. Each light needs to get a new ground and power line. The old board sunk current, while this will be providing instead.

I'm thinking about doing it the proper way now with a matrix, since that's how real machines does it. It also allows for easier troubleshooting and replacing of bad components. But I'll probably won't go down the PCB route this time either, the risk of me making a digital error in the drawing as a first-time user is too big. But we'll see...


Oh, and I'll be replacing the three MP3 Triggers with a single WAV Trigger.
The follow-up product is the same size, but allows for 14 simultaneously mixed/individually running stereo tracks and a bank of 1000 files, including individual settings for crossfades, looping, volume etc per track.  This will allow me to properly play sound and music instead of continuously compromising which effect should have priority over the others etc.

It will also free up two hardware serial lines (one's already in use by the Nano) for additional things, such as a hardware clock countdown for timed modes etc. Great stuff! 

Friday, January 2, 2015

Take That! No, not the boyband.

1) Newly soldered and pristine power board.

Take that, stupid machine.
The new power board is wired up and good to go!
Now all I've got to do is make sure nothing breaks, again, and figure out the source of the misfiring MP3's and I'm good to continue with the rules.

As for the misfires, I got two leads - interrupts (won't make the same mistake twice!) and possibly lack of pull-down resistors on the rx/tx pins. I noticed that sometimes the boards are restarting when many lights are triggered simultaneously, so it could possibly also be a power routing failure, i.e power taking a wrong turn somewhere, or not enough power from the power supply. The latter would however be unlikely as it should be able to provide plenty of amps for everything, so it's probably the actual toggling that somehow interferes with the audio playing.


Misery loves company!

While waiting for the parts to arrive I figured I could continue working on the ruleset. 
But as it turns out, I've been spending my time trying to figure out why half the lights suddenly doesn't work anymore. After tinkering with the lightboard (Satans lightboard, remember...) I managed to get almost all of the lights running. After re-setting one loose lamp, there were seven still not functioning, but I managed to salvage and free new connections for them by grouping together GI light chains. A minor sacrifice, since most GI is on or off at the same time.

I found two faults, probably caused by me pulling the playfield out during the "Fiery fumes of Hell"-episode of yesterdays': One being a resistors legs touching a leg of the 10'th shift register. It was simply too long and got bent by a cable. The other was a loose ground connector on the 2'nd shifter register. It seems that I must have missed soldering it completely or it somehow has heated up enough to melt the soldering at that point. I'm still leaning towards manufacturing a PCB for the lightboard...

I'm also almost positive the sound boards run better when the whole light update-function is disabled. It's really disturbing me since the sound effects are erratic and quite unreliable at the moment. Maybe not for a casual player perhaps, but as the designer I notice right away when effects are missing. Gotta investigate this more closely.


1) Mr Bubbles, Mr Bubbles, does whatever a Bubble-man does!
Mr Bubbles had a little reconstructive surgery as well. I decided to go for function over form and drilled and screwed his arm in place. Hot glue just wasn't kicking it, but this solution - however ugly - works perfect.

The plan was to get a nicer screw that fits better, but that's a future thing to worry about.






I'll end this post with a nice reminder of the "dark side" of the playfield. 

2) This is starting to become impossible to troubleshoot. Not enough documentation, wires that has been redirected
all over the place and no real logical grouping of cables.