Video Game Development - Week 1

Thu, Nov 19, 2020 3-minute read

Hi. I was bored, so I decided to create a video game. It’s something that I have always wanted to do, and I have run out of excuses as to why I can’t. This website, is my attempt at holding myself accountable for my goal, to release a video game that is fun to play. Of course, whether or not a game is fun to play may be a bit subjective, but you get the picture.

All video game development should start with some sort of concept, story or end-goal. This project is no exception. I want to build something that people are familiar with, and put my own spin on it. The trend of single player games, modernized and multiplayer-ized, à la Tetris 99 or Super Mario Bros. 35, is very interesting to me. I have decided to build my version of Solitaire in the style of battle royale.

There are two types of people in this world; some who enjoy Solitaire, and some who’d rather watch paint dry. I hope to change some of their minds. Hopefully I change the minds of people who think Solitaire is boring, that is. And as of one week ago, ill-equipped and under-prepared, I began my new adventure.

A lot of things happened in this first week, most of which cannot be easily shown, like deciding on a folder structure, class name conventions and other basic architecture details. If you are a developer yourself, you might understand why these things took a lot of time. After making decisions, writing some code, changing my mind, and starting over again (for the fourth time), I think I have finally stumbled on something that I can tolerate.

At this point in time, I do not plan to make this post or following posts overly technical. I think the best measure of my progress, is this:

In the game’s current state, I can shuffle a deck of cards, and deal them out. The player can also flip through the deck of cards (called the stack in Solitaire). I put a lot of effort into these three actions, so that I can re-use the mechanics later. For example, the number of cards displaying in the draw pile (a.k.a. the talon) and the number of cards to draw at a time, are both configurable. That means I can draw 1 card, 3 cards or even 8 cards at a time. Additionally, I can show 3 cards in the draw pile or 5 cards, whatever my heart desires. The following example shows 5 cards in the draw pile, and draws 1 card at a time.

I plan on making all the game’s components in this manner, so that I have every building block that I need to create the many versions Solitaire I wish to include. This modular approach will also allow me to bend the rules of Solitaire as you know it, to make things more fun to play.