This week I spent some time working on the visuals of the game board. I wanted to take a closer look at one of the challenges I face this week, card spacing. It sounds like a relatively minor issue, but I wanted to make sure I put some thought in it. The layout of cards in hand or on the field could have ramifications later for readability, customization, design, and/or other technical implementations. So far we haven’t finished adding in real cards yet so I used mockups as placeholders. Manual placement sounded too inflexible, requiring replacement if we decide to go with adjustments to the layout. To handle the spacing, I saw 3 main options: manual placement or a script, with or without a grid layout. I decided to go with just a script, but I had to figure out how much space to put between cards. Imagine you have the location of the first and last card, we can visualize the layouts of x cards in a space of length L as follows (with o representing the center of a card):

x = 2

o———-o

Length L between each card

x = 3

o—–o—–o

Length L/2

x = 4

o—o—o—o

Length L/3

And so on.

Where we see a clear pattern of length L/(x-1) between each card in order to keep the spacing even.

On another note, I had my first phone interview with Epic Systems on Tuesday. The call went rather informally with a software engineer at Epic. Aside from a couple questions about my project experience and technology interests, she mostly went over logistics for the position and selection process. Of note, I did appreciate her frankness discussing what working at Epic is like. For example, she noted that things can often move slowly at a medical software company. But the whole process has run surprisingly organized, with constant outreach and follow-ups. And there seems to be a lot of perks for working there. That’s all for today, thanks all for following along this far.

Welcome back! Progress on the capstone continues steadily. I started to work on designing a game board. The sheer amount to do on a project of this scale can get overwhelming at times. Not necessarily a bad thing, but we do find ourselves looking over our plans and constantly have to reexamine the decisions. Basically finding things we did not take into consideration when making design decisions.

Using Unity can simultaneously easy and tedious too. Most things work like you would expect them, but I have to start from 0 experience. You create scenes, canvases, objects, etc. and use images and what not to spice them up. Then you make the scripts to tell them how to interact with each other and the user. But it all takes time, and you have to position things carefully and they don’t always work how you would expect.

On top of all the capstone work, I have an upcoming job interview with Epic Systems. My first actual software engineering interview and first interview I have had in over 6 years. Nerves has me prepping like crazy, doing leetcode problems, reviewing my resume and researching the prospective employer. Fingers crossed. No groundbreaking observations or analysis, but the work has kept me busy this week.

Week 2 has arrived and wow do I have a lot to think about. After choosing the TCG Maker project we settled on the name CardContructors for our group. We started the project plan and after reviewing the sample project plan from last year. The previous group definitely outdid themselves in the amount of detail and thought they put into their work.

On one hand, our group has come to some conclusions with little disagreement. We know we want to use Unity and C#. Unity seemed like the best option for two reasons:

  • Substantial documentation and tutorials exist already
  • Existing assets at little to no cost

However, now I have the big step of both learning Unity and brushing up on C#, which means a substantial workload for weeks 3-6.

The project plan overall seems to be coming together. We’ve got several visual demonstrations and flowcharts created for the game scenes and the game itself in addition to breaking down the game itself into some tasks. The tasks could be defined into smaller chunks that we break down for each week, but we first have to figure out how to divide them amongst ourselves. In order to keep the scope of the project in check, we started with a simple game, which may change in further iterations, with a smaller group of attributes and parameters that players can customize or adjust. Keeping it simpler allows us to focus on the tech and then iterate further down the line if we to add more features. Personally, I do know I will be handling the login page and the backend for that for now, so I look forward to creating some mockups and researching what options Unity has a available.

Finally, some unrelated personal news. My girlfriend and I have adopted a new cat from the local animal shelter! Look forward to seeing some cute cat pics in future posts.

Jacob