You are here: Home » Blueprint » Unreal Engine 4 – Lost Legend: RPG Prototype

Unreal Engine 4 – Lost Legend: RPG Prototype

This is a work in progress.

**All content below is currently still being worked on & can change. Some systems do not have visual representations and will be explained through descriptions located under the corresponding image.**

^ Demo Video ^

**Demo video from 3 / 27 / 2017 build.** 

 

Downloadable Demo

Updated: 6 / 25 / 2017

Role

Game & Systems Prototype Designer

Unreal Engine 4
Photoshop
Mixamo
3DS Max
Substance Painter

Overview

This is a project that focuses on creating base RPG systems. My main focus for this project was learning more about Unreal Engine 4 while maintaining efficiency, compatibility, and learning the proper ways to structure the RPG systems I wanted to focus on.

Updates:

**Click Date / Headline to Open the Tab**

(3 / 5 / 2017) Inventory & Levels:
  • Completely New Inventory System (backend & frontend) - 
    • New Visual Representation of Inventory GUI
    • New Inventory Icons
    • Inventory Limit Set at 37 Slots
      • Further functionality added so that the player cannot pickup more after reaching max slots.
    • Inventory Indexing and Saved Arrangement / Organization
    • Item Swapping
    • Item Deletion out of Inventory via Dragging Out
      • A prompt message will appear allowing players to pick whether or not to actually delete the item.
    • Stack Sizes for Each Items Class
      • Items will stack together with items of the same class until the stack is full, after-which they will move into a new array element. 
      • Works with the deletion system as it detects the exact item that was selected for deletion.
    • Player Currency Added
      • Will be more elaborate when NPC vendor is finished.
    • The Inventory Window UI Re-positioning
      • Can be moved & locked into any position on screen.
  • Added NPC_Vendor (frontend) - 
    • Player Range Detection for Interaction
    • 3D-Widget Prompt
    • Displays Store Menu
      • Only base interaction currently: open & close.
      • Also displays the specific NPC's total currency.
  • Player Level System Fixed & More Efficient (backend) - 
    • Fixed Math Issue
      • The % of remaining exp is now correctly passed to the progress bar.
    • Removed Many Redundant Functions
      • Had several functions that were running without much purpose mainly from being re-worked so many times.
(3 / 8 / 2017) Stats & Vendor AI:
  • Updated Stats Window Visual
  • Re-worked Stats System (Mainly Backend)
    • Stats now officially save and load from the save file.
    • Character starts with basic stats.
    • Intergrated with level system; each level gained gives 5 stat points to spend.
    • (WIP) Stats update and affect actual character data such as weapon damage.
    • (Backend Only) Stats can be reset & regained from investments. 
  • Vendor AI & Ease of Editing (Front & Backend)
    • Vendor Shop UI
    • Players are able to see each individual vendors shop by interacting with the NPC.
    • Each shop has stock & set amount of currency.
    • Shop items display image, price, and amount.
    • Players can click to buy a shop item; they will be prompted with a amount to set.
    • The amount to buy scales with price of object selected when buying.
    • (Functionality not added for transfer of currency between AI & player with item. However all base backend functions are present.)
    • When AI is placed in editor, their inventory / name can be easily edited from actor defaults. 
  • Early Work on Interactables
    • (WIP) Objects such as chests or trees can be walked up to and harvested / looted.
  • Removed many redundant old functions, events, and variables due to these re-worked systems.
(3 / 11 / 2017) Inventory 2 & Vendor AI 2 & Interactables & Currency:
  • Inventory 2 (Backend & Bit of Frontend)
    • Items now check for stacking correctly.
    • System reworked to be dynamic due to interactables / pickups.
    • Better inventory size checks.
    • Fixed possible duplicate delete bug (when one item was deleted, so was another).
  • Vendor AI Updated (Mainly Backend)
    • Vendor AI's stock dynamically updates & populates in UI.
    • Players are able to buy items from the vendor. Checks player's inventory size, deducts cost of items, transfers to player, & removes the number purchased from AI.
    • The inventory size check runs a check of the items max stack size and checks against how many the player is buying.
  • Interactables (Harvest & Loot)
    • Player can now find harvestable & lootable objects.
    • All settings can be easily adjusted through the details panel from level editor.
    • Objects can be set to respawn in the interactables inventory.
    • Player is prompted with a interact key symbol when they are within the radius of a interactable.
    • When the player interacts, the object displays a menu of what is stored inside of it.
    • For harvestables the player has to wait a set amount of time while harvesting before seeing what they obtained. (All changeable through details panel)
    • If loot table is empty the object switches to non-interactive mode and disables prompts. (Works with loot respawning)
    • When the items in the interactables loot window are clicked on; the system checks player inventory size and if there is room the item is tranfered to the player's inventory.
    • This system also allows for global settings for each interactable or parent interactable (before placed in editor).
  • Currency (Front & Backend)
    • Simple pickup actor that adds currency to player's currency in inventory. 
    • Currency is exchanged when purchasing from vendor. 
(3 / 27 / 2017) Adventurer's Guild & Action Combat & Reputation & Particles & More
  • Adventurer's Guild (Backend & Bit of Frontend)
    • Introduction of this new system.
    • Acts as a RPG Job Services.
    • Available quests are based on the players Reputation with this entity.
    • Players pay 12 of quests total payout up front.
    • Quests have a chance to spawn extra loot or even additional quest lines (Quest lines is still being worked on).
    • Quests are spawned randomly in a definable distance on the map. If quest contains meshes or actors these are adjusted to fit on terrain. (Plans in future for zones / areas quests spawn in.)
    • Players can currently bribe the Guild Member to gain more reputation. This system will be replaced later on with it's own variety of options.
    • Bribing is chance based and can fail.
  • Action Combat (Mainly Front-end)
    • Ability to attack while moving, sprinting, and standing still.
    • Combat system over-hauled to run better checks via multi-line casting checks. 
    • Implemented new tag searching to cross-check for which actors can be damaged.
    • Plans later on for DoTs (Damage Over Time Spells). 
  • Reputation System (Some Front-end & More Back-end)
    • Added new actor component that handles name tagging for factions.
    • Faction tags are displayed above the actor when player gets close enough.
    • Reputation is saved & loaded.
    • Plans for reduced prices from vendors.
  • Particles with Combat (Frontend)
    • Swinging the sword now creates a trail particle.
    • Implemented early blood particle that appears when player or other actors are hit.
  • More (HUD & Floating Damage Text & AI Turrets)
    • HUD was updated to better encompass style.
    • Floating Damage Text was made brighter and was given a new style of floating. These will also fade out over time. 
    • AI Turrets were added which will target the player in a set distance & shoot. The turrets have aim offsets to prevent 100% accuracy. 
(5 / 8 / 2017) Custom Animations & Inventory 3 & Vendor Menu Rework
  • Custom Animations (Front-End & Some Back-End)
    • Point Animation
    • Sit Transition & Idle Animation
    • Pick-up Item Animation
  • Inventory Version 3 (Mainly Back-End)
    • Fixed issue where players were able to move items in the inventory while deletion of another item was pending.
    • Inventory items are now UObjects that are classed and added to the main array for saving & loading.
    • Deleting objects now references the exact index slot.
    • Items now stack & overflow into new stacks properly.
  • Vendor Menu Rework (Mostly Front-End)
    • Vendor menu is now similar to the Guild AI's menu.
    • Vendor AI will now change dialog based on player interactions.
    • Added future buttons for selling & bartering. 
(5 / 14 / 2017) Warehouse & Menu Key-mapping & Vendor Update
  • Warehouse (Front-End & Back-End)
    • Introduction of new NPC & functionality known as warehouse.
    • Players are able to store items at this NPC & retrieve them back.
    • When the player opens the warehouse menu the inventory menu is opened and moved to the side of warehouse menu. This menu is reset when leaving the warehouse.
    • The warehouse inventory saves & persists through game close.
    • Currently items are transferred as whole stack.
    • Functionality for player set amounts was added but still need to add the UMG for this. 
  • Menu Key-Mapping 
    • Players can now press <Enter> when deleting a item to auto-accept the prompt for deletion.
    • Players are also able to use <Escape> to back out of most menus.
    • Will be adding functionality for players to press <F> to set stack transfer to maximum while in warehouse or vendor.
  • Vendor Update (Mostly Back-End)
    • Cleaned up vendor buying functionality located in the gamemode blueprint.
    • Fixed Vendor currency so it now displays properly. 
  • Other & Bug Fixes
    • Fixed bug with pickup logic when player entered the zone of a intractable object.
    • Fixed bug related to clicking cancel when dropping a item.
    • Fixed Guild AI negotiate text color flash animation bug.
    • New particle system for when the player levels up.
    • New functionality to change AI colors for easier distinction between each other.
(6 / 4 / 2017) Inventory & Right Click Functionality Update
  • Inventory & Right Click Functionality (Front-End & Back-End)
    • Right Click Sub-Menu for each item in inventory.
    • Right Click Menu defaults to transfer mode when inside warehouse menu.
    • Transfer Amount calculator menu for specifying the amount to transfer, drop, or etc. 
    • Enumeration variable for each item in inventory menu that changes logic on which buttons to display inside of the actual right click menu based on the items type. (So we aren't eating pants or wearing potions.)
    • Right Click contains: Use / Equip, Drop, Split Stack, & Menu Close buttons each fully functioning.
    • New Hover functionality to right click menu. The right click menu will close automatically when user leaves the right click widget.
    • Updated the item deletion menu to accurately match the same menu style of other menus.
    • Fixed bug related to stack & overflow size handling when transferring items from warehouse -> player or vise-versa. 
    • New transfer functionality to transfer item if stack count is 1. If count is higher then the calculator for amount selection will be displayed.
    • New Enter & F key functionality during the amount window for quick "Set All Transfer" & "Confirm Transfer".
(6 / 10 / 2017) Quest Menu & Player Land / Property Owning
  • Player Land / Property Owning System (Front-End & Back-End)
    • New objects & blueprints added for property management system.
    • Players are able to buy properties & rent them out to the NPC's for passive income.
    • Players can buy, sell, upgrade, or manage each property through the property menu.
    • Properties have rent which is affected by the properties quality, condition, rent level, and regional tax.
    • Properties have decaying conditions. Players must use currency to pay for the upkeep of the property. Failure to do so will result in less income from lower conditioned properties.
    • Properties owned by the AI have a 45% chance to get fully repaired at a set interval. The property must reach a condition of 50 / 100. This allows players a opportunity to buy properties for cheap up-front but will have to pay for repairs later.
    • All property related information is saved & loaded upon playing. These settings are save on a separate game save file.
    • New Mesh for property.
  • Quest System (Front-End & Back-End)
    • Replaced tick event with a trigger based event for player detection. 
    • Adjusted Quest Structure to have more settings for each individual quest. 
    • Implemented new Quest Journal Menu. Not functional but all the front-end is present.
  • General Fixes
    • Fixed the Attacker NPC Turret projectile to prevent it from "flying through the walls at the player".
    • Asset Directory cleanup.
    • Fixed the testing map & added tutorial tips.
    • Fixed interactables bug with resources showing prompt after collecting all resources out of the empty interactable.
    • Interactable functions now pool to the player controller & gamemode instead of the player character. 
    • Entire Back-End for interactables reworked. NPC's & Objects. Following the standards of OOP (Object Oriented Programming) by creating children of a parent class actor.
  • Menu & UI Fixes
    • Fixed bug related to right click menu not disappearing when closing the inventory menu.
    • Replaced all item icons with brand new & crisper icons.
    • New Interactable actor animations.
    • Added functionality to amount selector to prevent setting to a number lower than 0. Instead the selector will clamp out at 0.
    • Fixed drag & drop bug where items no longer trigger a swap / move event when placed directly back down onto the same slot.
    • Added text tip to warehouse about the easy transfer style.
    • Fixed Inventory size / Weight checks. These are now displayed accurately.
    • Added more keybinding to the F1 Help Menu.
    • Fixed bug related to F1 displaying error when trying to find the player before starting the session.
    • Faction Tag system now allows for defining of prefixes and suffixes for each actor individually.
    • Removed old style of displaying Vendor NPC Names & instead merged names with the new faction tag system.
    • Fixed the ability to cause collision on Floating Damage Text Actors.
    • Interaction Menu button changed from E to R to prevent issues with picking up objects while interacting with interactables. 
(6 / 29 / 2017) Item Icons Update & NPC Favor System
  • Item Icons & Data
    • New Item Icons & Data types added.
    • Items reorganized into categories for editor organization.
  • Art Assets
    • New 3D Models: Chair, Table, Wooden Gate, & rock variants. 
    • New 3D House Model. Plans later on for player ability to upgrade houses from foundation -> supports -> actual finished house.
    • New Material Instance for the 3D model well.
    • Map terrain painting.
  • NPC Favor System
    • New System where players can gain personal reputation / standing with NPCs.
    • The system will display players options based on their current standing with the NPC they are interacting with.
    • NPC's will have different attitudes towards the player by rewarding them with gifts or even starting fights with the player on the spot. 
    • The NPC favor system is dynamic allowing the system to be implemented on any actor.
  • Building System
    • New temp building system that allows players to place objects in the world.
  • Extra Things
    • Some objects in the content browser were removed or re-foldered in the project with correct naming.
(9 / 28 / 2017) Crafting System & Player Skills
  • Crafting System
    • Players are able to craft items by interacting with each skills respective crafting station.
    • New Forge & Planter Crafting Stations.
    • Crafting stations are dynamic actors that can be adjusted similar to the interactable actor objects. In simple terms these can be placed and edited with ease all through the editor without opening each actors blueprint.
    • Crafting system goes hand-in-hand with all other systems such as inventory, skills, and many more. 
    • Crafting items rewards skill exp.
  • Crafting Menu
     
    • Linked to each crafting station type and will only pull relevant information from the database for the crafting table's skill type.
  • Crafting Recipe Database
    • Largely dynamic database that allows designers to implement new recipes for any skill type.
    • Includes the following data types: Names, Arrays, Sets & Maps, and Integers.
    • Settings include: recipe name, skill type, array of needed materials, array of craftable products, exp given for crafting, and crafting timer. 
    • Each recipe can have multiple resources or products. This all feeds back to my items class system. (It's all drop down menu selection and entirely dynamic so when new items are added these are also added to this menu).
    • Currently: 3 Smelting and 1 Farming recipe.
  • Skills Menu
    • Brand new menu that offers players a place to track each skill related to crafting & other misc tasks.
    • Each skill in this menu contains: display of current exp, exp needed to level progress bar, and the current level of the skill. 
    • There are currently debug buttons allowing for cheat leveling these.
  • Items
    • New Items: Copper Ore, Copper Bar, Iron Ore, and Iron Bar.
  • Global Function
    • New function that handles getting the specific player's skill exp from the skill's database table. This is to prevent super spaghetti inside of other blueprints. Global and can be used on any blueprint.
  • Interactables (NPC's & Objects)
    • Updated vendors inventories to contain items that are required for crafting recipes. 
    • Pre-work for a future system that will improve the current interaction system. Currently if two interactables are close together the player will only be presented with interaction of the lastly entered "trigger volume". This new system aims to allows for picking actor interaction based on 2 steps: firstly which actor the player is currently looking at, and secondly getting all actors volumes the character is overlapping with and retrieving the closest one. This will allow players the ability to look and pick which interactable they wish to interact with. If they are not looking at the actor then the system will just obtain the closest one. This will only happen while the player is overlapping with these actors.
  • Bug Fixes
    • Property Management bug fixed with buying and selling properties. No longer will the rent level button be buggy!

Main Menu

Above: New HUD style.
Above: In-Game of the Reworked Inventory Menu & Right Click Menu.
Above: Current stage of the interactable objects. Looting & Harvesting implemented.
Above: Npc Vendor & Menu.
Above: Showing the damage system (multi-hit) & leveling.
Above: Showing that the player has Stats and gains unused skill points when leveling up that can be allocated.
Above: Showcasing the DoesDamage component that can be placed freely on any actor allowing for quick implementation.
It is also noted that the text on the upper left of screen is early implementation of stats affected damage. Example: Armor reducing how much damage the player receives.

(Hover to Flip)

Above: Early stage of quest objective marker.

(Hover to Flip)

Above: Item Pickup & Player Animation.
Above: Item information hover, right click menu, & item deletion.
Above: Item Crafting & Player Skills menus. Players are able to craft items or grow plants. System will be expanded upon.

(Hover to Flip)

Above: By pressing 'E' while looking at a object players can pick-up the object and move it with the character's physics handle component.
Above: Showing the easily implemented "Does Damage" component that can be applied to things such as weapons or volume actors. From here the user can define how much damage is applied and if the damage is singular or a over time.
Above: Showing the "Takes and Handles Damage" component that can be applied to any actor or object. The user can then define the set amount of health for that actor.
Above: Snippet of the current different types of data being utilized in my project.
Above: 3D sword found in this prototype that I modeled.
Preview Gif - Play Me!

walking_downsize_showcase

**May take time to load, or load slowly at first**

**GIF is sped up**

**Gif showing the character movement style implemented through UE4 animation states**