Its been quite a while but after taking a little break from working on my role playing game, I decided to work on my Hearts Card game. I mainly made this for my wifey who loves to play the game. I originally made this game in Java and Monkey X which helped me figure out how to create some of the methods required to complete the game in Unity.
The main thing that took me so long was figuring out how to use Unity Game Objects for everything in the game. From the cards, the deck to the players, they are all represented in the game as game objects which allows for some really nice object manipulation and keeping track of whats going on in the game. I wrote a few scripts to help manage the objects in game like a card script for assigning and tracking specific card variables and positions. I also wrote a deck script for keeping track of the status of the deck, handles the shuffling and the dealing of the cards. The player script keeps track of each player, their specific variables like scores and names along with positions and avatars. The last script I wrote was the main script that handles the actual game play and puts all the individual game objects to work along with keeping track of them and their states.
I originally used a deck of cards I found online when I originally wrote the Java and MonkeyX version but after using it for my Unity version, I noticed how low of a resolution they were so I had to get a new deck. I found a public domain deck at Byron Knolls Blog. I was able to use this deck as a base and do a few customization’s to it. The cards are a higher resolution and look pretty good. I just wanted to add an inner rectangle on each card and make a custom card back with The Game Realm Logo.
One of the main issues I had was getting the game to work properly in a web browser using the Unity WebGL build. The game wouldn’t scale properly no matter what and if the user changed the browser window size, the game wouldn’t scale with the new window size. I finally got the settings correct inside the Unity Editor using screen overlay and scale with screen size on the canvas. I then had to use the A Better Template unity package from Greggman which allowed the game to scale properly with each window size. The problem was though that if the user resized the window after starting the game, the scale would be off. I fixed this by forcing a page reload if the browser window gets resized.
Basically, overall, it took me about a month and a half to get the game completed. Get some bugs worked out and get it on the website. I will be looking at adding some multiplayer after a bit. I will be working on a few more single player games first, like The Dice Game which is next in line.
I appreciate you taking a look at the game and reading the post! If you have any questions, please feel free to ask or comment below!