Inspiration
One of our team members came up with the idea of developing a simple text based role playing game. But we as a team wanted to add a unique aspect to that idea, so we made it as a tactical multiplayer game with turn based combat system.
What it does
It invites two players to try eliminate each other using a variety of tactics, ie. quick attack, heavy attack, block, dodge and charge.
How I built it
I first referenced the existing Python code from a teammate that describes a text-based role playing game that he made from several years ago. However, that game only included basic navigation, and we as a team thought that it would not be sufficient to appeal to an audience. We determined that a combat system could attract an audience, so we decided to implement such a system in Python. At first, I created the base combat system only including a health property, and a function to attack, defend or quit, and built an enemy using random number generators to determine their behavior (the enemy also has the same combat functions). After familiarizing myself with the basics of Python, I extended the combat system by introducing mana points and a magic attack system, where the latter uses some of the former to unleash an attack that deals more damage. After that, I discussed with the team, the future directions I could take with this project, and decided that I implement a rock-paper-scissors system of attacks and a new defense mode, dodging the attack. I coded these features and performed a few tests for various cases before submitting this project.
Challenges I ran into
The main challenge I ran into is to learn Python from scratch within the limited time given. Due to the different syntax from what I am used to, I found myself struggling with learning the language for the first hour (after deciding that we will proceed with this project). However, I was able to cope quickly as even though the syntax was different, most of the concepts in the language are similar to what I already know (e.g. Object Oriented Programming, Functional Programming).
Accomplishments that I'm proud of
I was especially proud of my ability to model such a complex system in a completely unfamiliar language, within a short amount of time.
What I learned
I learned the importance of planning in advance of the Hackathon so that I could use the most of my time in the event to focus on the technical aspects. I also learned the basics of Python.
What's next for OneOnOne
We plan to build OneOnOne on top of a Python based server with a story to accompany it. This is to allow remote multiplayer capability while having an option to play the game in story mode. We are also thinking of extending the project as an Amazon Alexa skill in order to engage a wider audience, such as those with disabilities.
Log in or sign up for Devpost to join the conversation.