Essentially the architecture would involve a 'head' device that would be the brains and heart of the machine. A device with a defined API to a 'display device' (basically, the machine itself with the reels and graphics and such) via link messages. This head device would be where the actual configuration of payouts would take place, the random number generator would run, etc. A quote:
( My own games use random numbers and I have to admit to every casino owner who wants them that I cannot guarentee a "house take" as I will not alter the outcome of the random number generator )
In actuality, you CAN guarantee a house take in this fashion. The payout table (i.e. which random numbers result in which payouts) determines exactly the percentage return of the machine. In a very simplistic example, you have a random number generator that returns a number from 1 to 5. 1-4 you get nothing, and 5 you get 4 credits. This should result in an 80% return, as for every 5 credits you put in, you should get 4 credits back. Read up on weighted averages for more complicated examples. This is pretty much identical to how a commercial casino slot machine operates. Believe me... a friend of mine hit a six-figure jackpot in Vegas last weekend, and we spent the next 3 hours standing/sitting/sleeping (it was 2am!) around the machine as techs from both the casino AND the slot manufacturer came in, ripped the machine to its guts, and took an EPROM reader to the random number generator to verify that the random number generated was on the "master list" of valid jackpot numbers. Keep in mind that, as with all slot machines, this is a guaranteed house take over an infinte amount of time. You could run into a case where the random generator tosses out "5" 10 times in a row (odds of this is about 1 in 9.7 million). This is a risk you take as a casino operator. You need to have enough cash on hand to pay out the unusual cases. Over time, you -will- get 20% of what everyone pays in.
Back to the architecture discussion, sorry. So the "TrustLink" (my quirky, commercial suggestion of a name) head on the device would be where the operator would configure the payout tables, and based on that configuration, the device could calculate the return percentage. The device could be configured to display the return percentage it had been configured for as floating text. Now alone, this doesn't mean much. Floating text isn't hard to spoof. So there needs to be some kind of verfication method for a gambler to be able to assure they're using a valid "TrustLink" enabled machine. The solution I'd been thinking of was a simple HUD attachment and some manner of encrypted comm channel, i.e. use a combination of the HUD attachment key or user key to set up a listen channel that could be used by the TrustLink device to 'speak' to the user over (i.e. the channel number would be different for everyone, but predictable by the head device somehow). This would mean a closed-source solution, simply because if the communications channel could be spoofed, anyone could code up something that gave the appearance of being valid. The information available over this link would be, say, configured return rate, return rate over the last 100 plays, 1000 plays, etc. Basically, enough to prove that the machine is configured for the return which is advertised by the casino. These HUD verification devices would be distributed free of charge at any location which sells the TrustLink head device.
As a bonus feature, the unit could also be configured in a verification mode where it would play itself every few seconds continuously and keep track of its payouts, and display the proper statistics as floating text. An extra bonus would be making the system able to provide for progressive jackpots, networked progressive jackpots, and bonus games. That last one is extra tricky, since the bonus games tend to screw with the return percentages somehow in a manner I haven't figured out.
The only way this could really be implemented in a trustworthy manner is to have it written by a) a respected, recognized scripter in the game, and b) by someone that's not actively running a casino themselves. Anything else tends to be inherantly untrustworthy. Despite my own confidence in my projects, I don't think I'm near (a) yet, but I do definitely fit (b). I have zero interest in taking the money of fools

Feel free to pick my brain on this to flesh out the idea if you want to tackle it. I'd be willing to contribute some time and effort to a joint coding project if someone out there really wants to run with this. It was a fun idea, but just too -big- for me at the moment, considering the array of other nearly finished things that I'm working on that I -really- want to finish.

