My Sincere Thanks

G15 - Album Art

While I was finishing up 5 Card Touch I started casting about for ideas for my next iPhone app. I got plenty of suggestions, but the most popular, and perhaps more convincingly, the app my wife wanted to see most was a slot machine. While I do gamble from time to time, slot machines have never really been my thing, but I went ahead and started planning one. The result was Lucky 7 Slots and the response has been way way beyond my expectations. It’s been a week since it was released and has steadily climbed the charts on the App Store reaching, at the time of this writing, #23 overall! I can’t describe how happy it has made me that so many people are enjoying my application and you have my sincere thanks. Excuse me, having a bit of a Sally Field moment.


Perhaps I shouldn’t be surprised at the popularity of Lucky 7 Slots. Slot machines are obviously a huge draw in casinos. When I set about to make my own, I wanted to try and capture a little bit of the excitement and suspense of the classic three reel slot machine. The newer slot machine with twenty payout lines have their followers, but every time I’ve tried to play one I just have to let the machine tell me if I won. I have no idea how people can track all of those lines quick enough to have any suspense while waiting for that last reel to stop spinning. And sometimes even after I’ve won I’m not sure how. So, anyway a three reel machine was what I wanted to make, and I assumed might have a broader appeal than some of the newer varients.

In order to make Lucky 7 a faithful recreation of the types of machines you’d find in Vegas, I had to learn a bit more about what makes them tick. The Wizard of Odds came through again with a excellent description of how slot machines work internally. This was a nice reference, but the payout described in that article is a miserable. 87.47%.

I wanted a slot machine that paid close to, but not quite 100%. After all I don’t want people playing my game and thinking: “Hey this is easy, I’ll just take the rent, head to Vegas and double it!”. You’ll fare much better on my slot machine than you will in Vegas, but eventually your luck will probably run out. This was possibly the trickiest part of the app. I tried very hard to create a table with a nice balance of small payouts and enough large ones to keep things interesting. I wanted it to pay regularly, but not at the cost of never hitting the big payouts. But I couldn’t put in too many big payouts and sacrifice the frequency that the smaller ones would hit. As I was creating the tables I found that a change to the probability on a single symbol on a single reel would ripple through the payout table and upset this balance. Oh, and I also hated seeing a blank on the first reel. It’s depressing when you know you’ve lost before while the last two reels are still spinning. So you’re less likely to hit a blank on the first reel than the other two. Long story short it was a pain in the ass 🙂 But I think I hit upon a fair balance. Lucky 7 has a 99.5% return and, on average, every 1 in 4.8 spins will be a winner.

There were a couple of ideas for the game that didn’t make the cut. The first was a pull handle on the side of the screen that the user could grab and “pull” to set the reels spinning. I don’t think I’m breaking the NDA when I say that the iPhone has a resolution of 480 by 320 pixels. Even less if you subtract the status bar which I really like to keep visible if possible. A handle would consume about 10% of the screen at a minimum running vertically along the side. Did I really want to give up all those pixels for a feature that would probably be used a couple times as a novelty? No, I did not.

The other idea was to use the accelerometer and some sort of gesturing motion to set the reels in motion. The excellent MotionX Poker Dice makes use of the accelerometer to roll dice and it is very good, but the novelty wears off fairly soon and I’ve found myself wishing for a button (a side note about MotionX if you have it, watch the shadows cast by the dice while tilting the phone about. Excellent touch). So again, a novelty feature. What’s more, how do you make sure you don’t inadvertently trigger a spin when you didn’t intend to. What if I win a big payout and in the excitement, my victory dance triggers another spin? And finally, monitoring the accelerometer uses extra cycles even if the app is just sitting there. I try to pay attention to battery usage in my apps and conserve where possible. As a matter of fact, muting the sound in my apps doesn’t just set the volume to a lower level, but bypasses the audio methods altogether. In the end, using the accelerometer to trigger a spin just didn’t seem worth it.

So there you have it. Lucky 7 Slots. Once again a huge thank you to everyone that has tried it and if you haven’t I hope you will and let me me know what you think.