Inspiration

This holiday season looks a little bit different from the previous ones. Our team wanted to present a game that would represent the festive spirit, which led to the creation of Holiday Cheer.

What it does

This game is an RPG that lets you deliver presents to different festive friends. You can travel to different parts of the world and give each character a gift! After doing that, you can play a minigame to receive a present from them as well. Follow the story and see what happens when you've given everyone a gift!

How I built it

This project was built using JavaFX, Java, and CSS. All graphics were hand drawn to create a cute and pleasing aesthetic.

Challenges I ran into

For some members it was their first using JavaFX, so there was a learning curve that took a while to get the hang of the platform. Setting up the project took us quite a bit of time, since all of us were using different versions of Java and different operating systems. Although we were all working online, we were able to work through challenges together by screen sharing and talking through our errors. Throughout the course of the project, we had to navigate difficulties like how some classes should be set up (ie: Originally we were use an array of strings to store the dialogue for each character, but then discovered it would be more efficient to create a class called Dialog that could store the text and button options for each line.)

Accomplishments that I'm proud of

We organized our code in a very logical and structured way using packages. This made it easier to reference different parts of our program and make certain variables accessible to only the classes that required them. This layout also makes it easier for new developers to understand how our program works.

What I learned

We were able to expand our knowledge of JavaFX and gain lots of experience in creating GUI applications. For some team members, this was their first time using JavaFX and not all members had a background in computer science, so this project was a very valuable experience! Even with members familiar with JavaFX, we were able to explore classes we've never used, like transitions. We also learned how to use JavaFX to model an RPG video game -- there weren't a lot of tutorials or guides on how to do this, especially with the dialogue part, so we had to plan out what components would be best suited for each thing we wanted to display. This was also the first time any of us had built an RPG game, so exploring this type of application was exciting!

What's next for Holiday Cheer

We were able to complete all of the base goals we had set for the hackathon, and even completed a few of the stretch goals like the minigames. However, since we were short on time, much of our implementation ended up being class-specific and quite repetitive. Since many game scenes are extremely similar, we would like to implement a common interface for all scene controllers. This would make adding more characters and scenes in the future much less tedious. In addition, we would like to implement scrolling text in the dialog boxes to mimic how dialog is delivered in other RPG games. We would also like to expand on the story, adding more characters and minigames.

Note

There is music that plays during the game and hover states for each character, but unfortunately the screen recording for the demo did not capture this. This can be shown in a live demo if needed.

Discord Tags

Stephanie - miu#7622 Ila - ila#0675 Shashank - shash4321#9694 Kevin - KevinJ#8930

Built With

Share this project:

Updates