Since the theme of the hackathon was Blahaj himself, we chose to do a project that was more lighthearted. Inspired by the Monopoly card game: "Monopoly deal", as well as the animal-related card game "Exploding Kittens", we've come up with a simple game, "Blahajack" (a spinoff of Blahaj and Blackjack), which is a pc card game player's can play locally.
What it does
Blahajack is a local multiplayer card game that you can win by either gaining $700 (in-game) or having the most amount of money once the deck runs out. There are 75 total cards in the deck. In this turn-based game, each player begins with 5 cards in their hand. (you are unable to see the other player's hand). At the start of each turn, players get an additional 3 cards; however, keep in mind that you are unable to hold more than 15 cards (in your hand), or the game will not grant you more cards from the deck. Each turn, you are able to make up to a maximum of 3 moves. Using an action card, or placing down currency counts as a move. There are 8 different types of cards which can be divided into action and currency subcategories. The currency cards are what you would put out, onto your table, to gain points. To place down a currency card (either low, medium, or high), you must have 2 copies of that card. Remember, once a card is out of your hand, it can be stolen. Action cards cannot be directly converted into points; however, you can use them to your advantage. The Skip card, when activated, allows you to skip your opponent's turn next round. The Steal money card allows you to randomly steal money from your opponent's table The Steal cards card allows you to steal two cards from your opponent's hand The Trade card allows you to trade in two cards from your hand with two cards from the deck. The Draw cards allow you to draw 2 extra cards from the deck In conclusion, Blahajack is simply for entertainment for you and your Blahaj to play together.
How we built it
Art & Graphic design aspect (Photoshop): Created a screen design that requires minimal movement and programming (for the sake of completing a proper project). There are blank spaces for numbers and scores which will continuously change throughout the game (ie, the score, deck size, how many of each card you hold). There are also multiple screens for the game, including the start-up screen, instructions screen, Player 1's hand, Player 2's hand, Table, and the winning screen. The entirety of the art is created using Adobe Photoshop.
Programming aspect (Python, Pygame): All of Blahajack is programmed using Python and Pygame. As a team, we collaborated using GitHub & sharing code on discord, while communicating and letting each other know what functions/what section we would be working on. Throughout the duration of the project, we would constantly update one another on new edits to a code, how a certain section worked, and how it connects to everything else.
Challenges we ran into
One of our biggest challenges was the "useCard" function which, theoretically, should have allowed the player to use the cards. However, several hours before the deadline we have discovered that the function, in fact, does not do the required job and that we are unable to actually use the cards in our game. Some other challenges we ran into were deciding what the card game would be based on and how to create a graphics-based screen from python. Creating the game at first was tough as we didn’t have a clear image of what we wanted for the game. We went through many inspirations like Exploding Kittens, Go Fish and Covidopoly. It took us a couple of hours to finalize the brainstorming and the rules/mechanics for our game.
Accomplishments that we're proud of
An accomplishment that we’re proud of was us learning how to implement graphics into our game. None of us has ever worked with graphics in python before, so it was an achievement to learn it especially since some of us are new to Python. Aside from this, Overall, the entire project. Considering that our entire team is new to Hackathons, AND we had signed up last minute, we were able to create a project which wasn't out of our skill range but still gave us a challenge. The fact that we were able to get far with this challenge is something we, as a group, are proud of.
What we learned
Blahajack, and any project requiring digital artists and programmers to collaborate results in better communication if the artist understands basic programming. The ability to acknowledge your teammate's abilities and the time required for a task you are not doing is crucial to creating a good design, and overall a better project. As well, took on new challenges and learned more about python modules (pygame) and python classes.
What's next for Blahaj
This marks our first project outside school. This project made us learn new things in coding and it was very enjoyable to create. We hope that in the future, we will look back on this project and see how much we improved from this.
What we plan to do next: Design aspect: Make it more aesthetic, put more time into designing it. Perhaps stick to one art style. Programming aspect: Next time, we may take on a different type of coding challenge (such as site building). Might also build on what we are learning right now, to grasp a better understanding.