Inspiration
I've worked in a casino for a few years. Making a blackjack game represents my backstory and my journey as a nontraditional student. Blackjack is a bit basic, so I wanted to add a twist.
What it does
It's a blackjack roguelike minigame. You play blackjack hands starting with limited funds and have to win a certain amount to win the game. Multipliers can be purchased to progress and make the level easier.
How I built it
I started with basic blackjack using Java. I created the classes that needed structure, such as deck, card, and player. After a solid foundation, I started implementing game logic and flow. Once I had basic blackjack, I used scenebuilder to create a UI that wasn't just plain gray. I downloaded copyright-free music files open to anyone so as not to have it dead silent while playing. I finished by attempting to add roguelike aspects, such as purchasable upgrades, to make repeated runs easier.
Challenges I ran into
Game logic was more complicated than it seemed. While blackjack is a very simple game, I wanted the flow to replicate a casino. The shuffling and drawing of cards were done in a specific way to follow real casino procedures instead of the continuous shuffle you'd normally see in minigames. In a real casino, a dealer draws two cards with one hidden, only revealed at the end or if they have blackjack off the bat. Replicating a dealer drawing two cards and showing only one required a bit of work as there were edge cases that kept coming up. I haven't used any JavaFX before this so scenebuilder helped a ton. Scenebuilder allowed to drag and drop buttons and boxes to make some of the UI creation straightforward. The issue with scenebuilder was getting some of the styling to work as it seemed to sometimes overwrite it.
Creating a dynamic sized window and UI was a nightmare. I just hardcoded a 1200x800 window so I can make it look nicer rather than trying to make it fit every screen possible. I've spent too much time on trying to create a resizable UI that I just moved on.
Accomplishments that I'm proud of
I was unsure of getting a finished product. The roguelike purchasing aspect is missing one piece but the game itself is playable. I'm proud of having a personal project that I can finally put on my resume.
What I learned
I've learned quite a bit of JavaFX, scenebuilder, and some CSS styling. Most school projects just have you output text so I've never had much practice with UI elements aside from small things here and there.
What's next for Battlejack
More levels, possibly.
Other media used
Font: https://fonts.google.com/specimen/Luckiest+Guy Music: https://opengameart.org/content/4-chiptunes-adventure Cards: https://pixabay.com/vectors/card-deck-deck-cards-playing-cards-161536/
Log in or sign up for Devpost to join the conversation.