Project 2 - Python Project

Project Overview

This project is a text-based old-school RPG game written in Python where players explore a tile-based world, engage in turn-based battles, and manage items. This project was created for the NCEA Digital Technologies Achievement Standard 91896.

Github Repository - Evidence Slides - Devlog Doc - Design Considerations Doc

End Users

My end users of my project will be young adults (15-18) such as my friends or peers, who enjoy and appreciate videogames. My end users will want a comprehensive experience that challenges them, free of bugs and easy to use. My end users will of course also include the people who will be marking my project, who will want to see clear, optimized code that meets the requirements for my project.

Requirements & Specifications

For my game, I came up with a list of specifications of what I wanted to include in the game. Inventory System(Bag) - Bag which holds the inventory, split up into weapons, healing, armour, and key items necessary for the quest. Have the ability to check an item’s stats, and equip them. The player’s item inventory (and their amounts) will be stored in a dictionary. Tile system(Movement) - Implement different tiles (interaction, shop, battle, standard) in order to make the game interesting. Allow the player to move throughout the game map. This will work off of a standard (x,y) positioning system which will be used as the parameters for the main movement function. Gold system(Shops) - Shops will be one of the types of tiles, which will feature items purchasable with currency, in another menu function for the shop, which when purchased from will increase the values in the player’s item dictionary. The gold that the player has will be stored in a global variable. Battle system - The battle system will feature turn-based combat, based on the equipment that the player has equipped. It will use the random module to determine chances of attacks hitting/missing and their damage overall.

Relevant Implications

The implication of Future-Proofing and Aesthetics is how the project will act when expanded upon/came back to, and how the project is actually set out (clear code, comments). I will address this by ensuring that all code that I write is scalable, easily editable, with clear comments that explain what each part of the code does. Functionality is also especially important here, which is simply how functional the program is at its specified task, without bugs or glitches in the code. I will make sure that every part of the code works as intended with correct syntax, and handling any errors with try/except blocks. Usabilityis how easy the end-user can use the program, without getting confused/it being too difficult. My output of the script is readable and clearly understandable, with the help of the built-in formatting function in python. I will also test the output of my program every step of the way to ensure the output is correct.

back to top