Next case
Turn Based RPG Trading Card Game
Role / Services
Software Development
Credits
David Nwachukwu
Location & year
The United Kingdom ©
2022
I am thrilled to share one of my projects: a turn-based RPG trading card game created using the Python programming language. In this project, I have demonstrated a versatile array of skills, including Python programming concepts, object-oriented programming, and game design principles. I will be discussing my experiences working on this solo project, as well as the tools and technical skills I used.
The aim of this project was to create a turn-based RPG trading card game that met specific success criteria, which are critical to the software's purpose. These success criteria include essential features such as menu, tutorial, rules, name and password entry, play, quit, gameplay, user interface, timer-pop up window, graphics, opponent, cards, and principal battle stats.
To start with, I created a menu where users could navigate to the tutorial, rules, name and password entry, play, and quit sections. The tutorial section contains annotated screenshots of the game that help users understand the graphical user interface and learn how to play the game. The rules section provides a summary of the game's principles, which can be accessed if the player forgets the rules.
The name and password entry feature enables players to input their username and password after clicking the play button on the menu. The game uses this information to recognize the player within the game and sort out databases. Retrieving the users previously saved data (if any) from a json file
The gameplay feature is the main game's inputs, consisting of buttons that allow users to interact within the game. The user interface displays the player's deck with buttons to browse all collected cards, select the card to use, and show the stats of the selected card. The game's output is displayed in a text box that shows the current events in the game. The Game User Interface has all relevant information displayed, with information that is related to one another being put together in sections.
To ensure the game's safety, I implemented the timer-pop up window feature, which reminds the player that they shouldn't play for too long as it would be bad for their health. The reminder pops up every 30 minutes, prompting the player to exit or continue playing. If the player doesn't exit the reminder, a prompt reminder pops up every 60 minutes. If the player still doesn't exit the prompt reminder, a time-out pop-up window displays informing the player that the game will end in the next 5 minutes to prevent any damage to their health.
For the graphics, I used 32-bit pixel art or ASCII art to display the card's image, either an item or a character. The opponent feature allows two players of the same level range to play against each other.
The game also includes item cards that players can apply to character cards to affect their stats. At the start of the game, the cards players receive are influenced by a quiz they take beforehand. Players can sell cards in a shop for currency or buy cards in a shop with in-game currency, depending on the card's stats and rarity.
In conclusion, this project has allowed me to enhance my skills in Python programming concepts, object-oriented programming, and game design principles. It has also provided me with a valuable experience in creating a turn-based RPG trading card game, which required me to implement various features while ensuring the game's safety and functionality. I look forward to developing more exciting projects that challenge me and allow me to grow as a software engineer.