The Daily Click ::. Projects ::. Fruit Machine Engine
 

Project: Fruit Machine Engine
Project Started: 20th June, 2012 Last Update: 18th January, 2014
Project Owner: lembi2001 Project Members:
Project Type: Simulation/Fun/Slot Machine Project Progress:

Project Overview  
Preview Scrapped the progress of this and started again. s-m-r reminded me of this on another thread so I thought I'd start it up again.

The Engine features a custom reel management system which allows for the use of feature trails and nudge, hold, prize rewards.

The system was designed after another member was asking how to create a smooth reel animation.

What I am eventually hoping to achieve is an all in one system which will allow people to create their own add-ons for the engine, featuring custom reels, feature trails and graphics.

Upon initial release the engine will feature 1 or 2 machines with an AI designed to mimic some of the features found in real Fruit machines.

Project Forums Topics Posts Last Post
Public Forum
Public forum for open project discussion
0 0 No Posts
Private Forum
Private forum for project members only
0 0 No Access

The finish line is almost in sight (at least for a decent demo)
Posted 18th Jan 14, by lembi2001 Post A Comment
Right well, I've been working on this every night for the last few days and I have to say, I'm pretty pleased with how it's going.

I have started to tweak the code and animations a bit. The reels now bounce when they stop (looks a bit more authentic). I have buttons which can be pressed for the reels, I have a coin slot, sounds and a mute button. What I don't have are any decent graphic skills.

I'll be able to put out a demo but all that will be there is a white background with some buttons on

Anyone fancy doing a bit of pro-bono graphic work for me? I literally only need the background doing but my artistic skills are shocking. I can provide the template of the Background and what colour scheme but the rest is up to you.

Anyways, begging over. I envisage (based on my current coding speed) to have a fully working demo out by the end of next week.

Yes that's right I will have actually released something on here. I'm enjoying working on it and these devlogs are actually pushing me towards the finish line.
Not all logic is logical
Posted 15th Jan 14, by lembi2001 Post A Comment
Hmm...

I'm trying to code the probability of winning section of the games logic.

Now this is not as easy as I first thought it would be. Mainly due to the way I have coded the reel spinning. Most Slot Machines have a percentage chance of winning hardwired into them. It is clearly displayed on the machine and this is a hardfast rule.

For example if a machine has a percentage of 86% payout, this means that for every £100 you play you would expect to get at least £86 back. This is a very simplified example as you can see but you get the idea. Now what it does not take into consideration is the payout sizes and probabilities throughout that £100.

As extracted from Wikipedia:

The table of probabilities for a specific machine is called the Paytable and Reel Strips sheet, or PARS. The Wizard of Odds revealed the PARS for one commercial slot machine, an original International Gaming Technology Red White and Blue machine. This game, in its original form, is obsolete, so these specific probabilities do not apply. He only published the odds after a fan of his sent him some information provided on a slot machine that was posted on a machine in the Netherlands. The psychology of the machine design is quickly revealed. There are 13 possible payouts ranging from 1:1 to 2,400:1. The 1:1 payout comes every 8 plays. The 5:1 payout comes every 33 plays, whereas the 2:1 payout comes every 600 plays. Most players assume the likelihood increases proportionate to the payout. The one midsize payout that is designed to give the player a thrill is the 80:1 payout. It is programmed to occur an average of once every 219 plays. The 80:1 payout is high enough to create excitement, but not high enough that it makes it likely that the player will take his winnings and abandon the game. More than likely the player began the game with at least 80 times his bet (for instance there are 80 quarters in $20). In contrast the 150:1 payout occurs only on average of once every 6,241 plays. The highest payout of 2,400:1 occurs only on average of once every 643=262,144 plays since the machine has 64 virtual stops. The player who continues to feed the machine is likely to have several midsize payouts, but unlikely to have a large payout. He quits after he is bored or has exhausted his bankroll.

This is where my problem lies. I do not (at present at least) track the reel positions. This would be rather complicated to manage using my current engine. As I don't track reel positions it makes it difficult to force a particular combination of reels. This in turn has it's own problems in the fact that it would be possible for the machine to give you win after win after win without you losing for ages. It's highly unlikely but it's possible. I may alter this at some point in the future but I fear that if I was to do it now it would cause a massive delay to the release. If the initial release of this engine is received well I may work on another one which works more like an actual machine and features more customisation options including paytables and probabilities.

So what logic have I coded so far??

I have managed to create the reel hold logic. It doesn't feature guaranteed hold to win because of the above issue but it does feature a super hold that is randomly awarded. This Super hold feature is where 2 of the reels are held with the third set into a spin and upon pressing hold for that reel you can stop it on a win.

I have coded the randomly awarded super feature which is based on a wins/losses ratio.

I have also started working a nudge system too.

No screenshots to show at present unfortunately but I thought I would update the devlog with where things are upto
Up from the ashes!!
Posted 14th Jan 14, by lembi2001 Post A Comment
I have found the time to pick this project up again and things are moving forward. It's being coded in CF2.5 this time so hopefully it will make things a little bit easier.

Anyways onto the devlog.

Only a small increase in percentage at the moment. I have ditched the previous idea for the engine which involved the use of an external ini file which contained all the logic and tests the engine carries out.

Instead the logic is hard coded into the app but will be loaded from an save state if one exists. This allows you to keep your winnings from one play session to the next.

I have put together a small preview of the reel animation along with a hold system. THERE ARE NO PRIZES YET

Simply press Space to start the reels spinning and press 1 2 or 3 to toggle hold. Thats all there is to it.

The initial release will feature a simple BAR, X, O fruit machine as this is by far the easiest to code. There will be a super game which is awarded randomly and this will take place on the upper portion of the machine layout. Let me know what you think and any suggestions for improvements (even at this early stage).

Once I have made a couple of machines I will release the main part of the engine as Open Source for others to learn from/use

DOWNLOAD: http://drive.google.com/file/d/0B-1_XNT7m7DdcWFLOVRfTWptNlE/edit?usp=sharing

To download click on the file Download option at the top if it opens a preview of the file.

MAKE SURE YOU DOWNLOAD THE FULL ZIP NOT JUST THE EXE
(thanks for this s-m-r)
Engine state and request
Posted 26th Nov 13, by lembi2001 Post A Comment
The engine currently only features one reel however it can support upto 5.

All data is contained in an external file which tells the engine where to find things like reel positions and win line positions.

The reel code uses pixel detection to determine which symbol is on the winline and whether it can count towards the feature or not.

I am looking for another member to join me with this as I will need help with graphics and some coding aspects. I have ideas on how to achieve some things however I tend to over complicate the simple things and someone else to bounce ideas and code snippets off would be advantageous.

If anyone is interested in joining me with this then please let me know.

View Project Archive


 



Project Forums


Favourite

Advertisement

Worth A Click