This code is meant to be further built upon by whomever would want to use it, and already have the following systems
implemented by this engine:
- Storyline
- Inventory
- Combat
- Leveling
- Map
- Currency
- Items
The storyline can be given through drops from enemies, or a quest book that the character comes accross. Completion of quests can reward experience points or loot items.
The inventory system should display the character name, any currency they have, the amount of space available for loot, the
loot they have in the inventory already, and the ability to obtain more inventory space if the character finds a backpack.
The combat system is meant to get progressively harder the more enemies are defeated. Defeated enemies have a chance to drop loot. All defeated enemies will also give the player experience points based on difficulty. Enemies will have the chance to defeat the player, and if that happens then the player will lose all experience in trhat level
The leveling system keeps track of the experience points(XP) the player has obtained. May add in a skill line system that allows the character to obtain skills with skill points earned from leveling up. XP can be earned from defeating enemies, using special items, or completing quests if quests are implemented.
The map is a top down visualization of the explorable area. The character is moved throughout the map by using the WASD or arrow keys.
The map is updated for every keystroke and the character only moves 1 tile at a time.
The currency system implements a way for the character to buy items that can help them in combat. Items such as potions or weapons can
be purchased from shops or lucky chests can be payed to unlock which will reward a Rare or better item.
Items such as weapons can have different damage values and different modifiers that affect the damage value. Currently, each item takes up 1 inventory space. Each item has flavor text associated with it, and modifiers have text with them that show the player what it does.
(5/20)The code provided here is not the final code that myself nor my group had completed. We had a functional engine that could be further built off of. This code was built around December 2017 as a final project for my Data Structures class. Neither my group members nor myself were familiar with version control systems, thus none of us any longer have the completed source code. I plan to eventually rework this code to where it was, if not further. I will be adding updates as I feel necessary.