Inspiration
Studying is probably one of the most monotonous tasks to go through, especially after a long day of classes or during the weekend. So with this year's theme track of making a boring task "To make studying a more interesting task, we took inspiration from studying games on the web that require you to answer your own input study sets to continue playing the game. So, using this game template, we wanted to create a tower defense game that utilizes the same mechanics.
What it does
The objective of "Jayhawks vs. Hackers" is to make studying a more fun and engaging experience by providing a fun game through which you can study.
Once you import your study set, whether from quizlet or personally input, you are able to start the tower defense game. Different waves of hacker foxes will come to stop you from studying, where you utilize the different KU themed towers to beat them.
The studying aspect of the game comes through how you are able to progress through the game. To place a tower in the game you need to answer a study question, thus giving the user an easy way to beat the game, as long as they study.
How we built it
Using the game engine Godot, sprite editor Aesprite, and the coding language C# we created "Jayhawkers vs. Hackers".
We specifically chose Godot for it's ease of compatibility with Github alongside beginner friendly game design aspects. Using C#, alongside Godot scenes, we created our map, enemies, towers, and study system. Using Aesprite, we then created different models that represented our towers (Jayhawks) and enemies (Hacker Foxes).
Challenges we ran into
This project was our team's first time using Godot and C# alongside minimal experience using Github with teams of people. Due to this, we ran into a few developmental issues early on due to our inexperience with the system.
Github: When we first started creating the project, we had a significant merge error that caused a few of our files to get corrupted. This was due to how Godot's scene files work during merge changes, which caused our main Godot scene files to get corrupted. We quickly learned from our mistake and made sure not to edit the same Godot scene environments as another.
Godot: There was a quick learning with the different types of nodes and classes in the Godot environment which slowed down initial development. So we spent a hour at the start learning which types of Godot variables would best fit our tower defense game.
Aesprite: There was slight issues with sprite design due to resizing issues, which caused some of sprites to be blurry, at the beginning of the project. This was quickly resolved and changed so that there wouldn't be further errors but was a small challenge at the beginning.
C#: There weren't many challenges with C# except for learning new syntax.
Accomplishments that we're proud of
This project was a lot of new experiences for all of us, whether that be new languages, environments, or this being a few of the team member's first ever hackathons. Here are the main accomplishments:
- Since this is our team's first time working with Godot and C#, it was a significant accomplishment to learn enough about both environments to finish the project.
- Everyone was very collaborative during the project, communicating problems and misunderstandings so that the learning process was streamlined.
- Custom sprites were an awesome asset that we were able to implement and allowed us to put our own touch to the game.
What we learned
We learned a lot about tools such as Godot, C#, and Github during this hackathon, but also learned a lot of collaboration skills that it takes to make a well built project. We also learned from our mistakes and realized how important it can be to prepare for a hackathon with a prebuilt plan of things you want to do.
What's next for Jayhawks Against Hackers
With the current state of "Jayhawks Against Hackers" there a lot more gamified features that could be added such as a map selection system, more towers, and different enemy types. This would add more variety to the game that would keep the user coming back, and thus keep the user studying more.
On the studying side of things, there is a lot to consider in terms of the way questions are given to the user. You could experiment with questions after each round or boss enemies that give you review questions. Either way, you could experiment with different ways to incentivize the user to still have fun, but also be reviewing for their next big game.
Built With
- aesprite
- c#
- gdscript
- godot
Log in or sign up for Devpost to join the conversation.