My question is, is using Unity with C# best for this kind of game? Has anyone made this kind of game and has input? Thank you
FIrstly, you can use Javascript in Unity (well, Unity's own flavor of Javascript) to get you started, and you can use C# at the same time (in separate files).
Now, regarding making a slots game. It's not as easy as it may seem, but in no way is that supposed to turn you off attempting to create one. I've personally implemented slots games using many different game engines, including Unity, Cocos2D-x, Win2D etc, and regardless of which programming language or game engine you decide to use, the algorithms for slots games are always the same.
To create a slots game, you also have to factor in the mathematical model for the game, which includes things like the pay ratios, the RTP (return to player) percentage, the RTP contribution from the feature games (such as a free spins feature), the reel layout (for example, 5 reels by 3 symbols), the type of wins (line wins/scatter wins/all way wins etc), and the line patterns for line games.
You then need to work out how to calculate the wins based on the symbols visible on the screen (the symbol matrix). This alone may require a considerable amount of design and coding, since a different algorithm is required for each type of pay (left to right line pay, any position scatter pay, left to right scatter pay, left to right all ways scatter pays etc etc).
Working out the mathematical model behind the game is also not a trivial thing. If you get the mathematics wrong, your game will either pay too much or not enough, or just simply not engage the players in such a way as to keep them interested in the playing the game. There are sources of info on the internet with samples of game mathematics if you're keen to dive in and try to figure it all out.
Here are a few sites and research papers that may help:
http://wizardofodds.com/games/slots/atkins-diet/
https://www.researchgate.net/publication/247919295_PAR_Sheets_probabilities_and_slot_machine_play_Implications_for_problem_and_non-problem_gambling
http://slotdesigner.com/publications/
Search for "PAR Sheet", and it will show you the type of mathematics required for a slots game.
From experience, I suggest you focus on the following in the specific order set out below:
- Create test data (reel strips, pay tables etc)
- Implement the reel spin so you can see the reels spinning on the screen.
- Work out how to grab the current on screen symbols into a 2D matrix (Rows x Columns).
- Create a state machine to handle the different states of the game. The states may be something like this:
- Idle State (wait for a button press in here)
- Pre Play State (generate the random reel stop positions in here)
- Play State (you spin the reels in this state)
- Post Play State (do any animations you need if required in here)
- Calculate Win State (calculate the wins based on the stop positions in here)
- Show Win State (display the winning symbol animations in this state)
- End Game State (you go back to Idle state in here)
- Work out the win calculation algorithms and implement them. The win calculation routines can use the 2D matrix of the current symbols on the screen to detect winning combinations.
- Add feature handling code
- Add any extra accounting code you need
- Now you can work out the real mathematics behind the slots game in order to make the game enjoyable. Leave the mathematics till the end since it's not required in order to get something displaying on the screen.
If you have any specific questions regarding slots games, then I'll do my best to answer them.