© 2023 by Andrew Jonhardt. Proudly created with Wix.com

  • Andrew Jonhardt

Holidays

Happy holidays.


Christmas didn't slow me down as much as expected. I did encounter a logistically complicated but ultimately simple issue that burned a few hours. Any work is still work though, as far as I'm concerned.


Essentially, a script that I borrowed from that quill18 video on hand mechanics in Unity broke as soon as I modified my camera view. I've had a problem of space ever since I began this project, and I thought changing my Canvas component (the foundation of Unity's UI layer and the space I'm building in the game in) from Screen Space - Overlay (UI objects will be on top of everything all the time) to Screen Space - Camera (the Canvas holding the UI may be moved a set distance from the camera) would grant me more space. The space I did get wasn't enough, and I couldn't figure out how to fix the script. I changed the Canvas back to Screen Space - Overlay, but to my horror the problem remained.


Always read your errors. I spent 2 hours trying to fix the script, and when I finally took a hard look at the error I was pointed to a component I've never heard of before and have never seen referenced anywhere. The component is "Canvas Group," and as soon as I added it I could drag and drop cards in my hand again (looking back at the video, it looks like quill18 adds this component at some point, not sure what happened with mine).


I ran more tests of Unity's awful script. I located a component called Text Mesh Pro, but even that doesn't look that great in game view. Here's a comparison:

Unity's text

Text Mesh Pro's text

I've settled with Text Mesh Pro for now, but I'm not happy with it yet.


The majority of my work was spent in a study of how other existing digital card games are handling space and text. Specifically, I examined Hearthstone, Yu-Gi-Oh!, Lightseekers, Shadowverse, and Magic Arena.


Every one of the games I examined had a few things in common:

  1. Written card effect information was not expected to be read unless a card was selected or moused-over. Yu-Gi-Oh! was the most extreme example of this. The game I referenced, Legacy of the Duelist, retained the exact ascetic of the cards while displaying them at such a compressed resolution that attempting to read them could only hurt your eyes.

  2. Most of the games only show the card Art and Name. Shadowverse didn't even show the names of cards once they were in play. This makes sense, because people are better at recognizing and associating imagery than they are at quickly processing text. I'm sure there's a study somewhere that says that, anyway. I'll find and link something later, maybe.

  3. Only the most vital information is shown to the user in bulk. Specific information must be acquired by selecting a card. This has the advantage of only weighing down the attention of a player when they need to learn or remind themselves of the effect of a new card. For example, cards in the Hand in Hearthstone show only Cost, card Art, and Name, while cards on the Field only show Art and Attack and Defense if relevant (no card effect or name).


Referencing these 3 ideas, I successfully shrunk my cards and field components down until I had room for 5 players. I was told during testing that 5 is the highest number of players my game could support, and I'm not sure if I could fit 6 on screen, so 5 is my current target for maximum number of players at one time.


The next step will be to build a pop-up card script for every time a card is either moused over or clicked (probably not both). My game is very card effect heavy, so the ability to display my cards in as big and readable a way as possible will be key. I didn't have time to figure out a deck script, so that will be my next step after I figure out the pop up card thing.