Column Battler
- 4 Devlogs
- 2 Total hours
A Java game revolving around the strategical deployment of cards in columns to claim dominance over the column and win its points.
A Java game revolving around the strategical deployment of cards in columns to claim dominance over the column and win its points.
I implemented a difficulty setting, and adjusted what each difficulty setting does to make sure it’s still a challenge. I also added an error handling logic in case the user entered something other than a integer value when it comes to capturing the player’s reply to determine which column the player wants to put their card in.
Today, I continued to develop Intellisense (the bot)’s logic, and polish the game a bit more. Intellisense asks herself, “What if I placed my card here?” and then assigns a score based on how a card placed in that column affects the result. She will then deploy the card on the column that has the highest score value. I also polished the game experience by making the explanation of the game better when it first loads, as well as detailed explanations as to which side (player or Intellisense) won. Personally, I find that Intellisense plays too well. She beat me in all three play-test sessions! I’m thinking of asking other people to play-test as well to see if it’s actually just me playing horribly. But that in turn inspired me to have a difficulty setting: an easy mode would mean the player has a slightly better deck of cards than Intellisense. However, I still have another problem that I need to solve: error handling. When the user enters something other than an integer, the game would crash. At the moment, I cannot precisely recall how to handle these kinds of errors, so I would need to do some research and ask my friends.
Today I worked on the code a lot more than before. This session, I focused on getting the bot to think (it used Math.random() as a temporary measure) using a before/after rating system. This means the bot would assess how much of a difference would a move at a certain column have on the game’s result. I also added a brief introduction at the start and completed in creating the game ending result announcement. I made the number of columns in the game customisable so the user can come up with their own custom rules (I haven’t tested it with different values yet, because I was busy completing the game logic). One challenge I have right now is that the bot constantly plays one specific move. I would need to improve its thinking process, because admittedly it is currently quite simple. Next session, I will take a look at whether the custom columns logic works without error as well as improving the bot’s thinking process!
I thought of a game I wanted to develop for a long time and have started the process of making it into real life! For now I started working on the structure of the game, mainly on the initial set-up of the game and the turn logic. It’s still largely in-progress and later I will find out how to make the bot use mini-max to stay competent against the human player. Attached is a simple diagram explaining the game.