Category Archives: Visual Scripting

Unreal Engine 4 – ArcherMan (Downloadable Demo)

Overview

(2 / 16 / 2018) Unreal Engine 4 multiplayer couch-fighting game created from ground up.

Give ArcherMan a try today!

Tools Used

Photoshop
Unreal Engine 4
3DS Max

ArcherMan Demo ( 2 / 16 / 2018 )

Controls: WASD for movement, Tab brings up scoreboard, and Left Mouse Button shoots arrows but the speed / distance depends on how long you hold the button down for. Just click host to play singleplayer. If you want to host multiplayer make sure to allow the application through firewalls and connect to the host's public IP address.

For this build the only working class / character at the moment is Dwarf. Anything else will result in no character spawning.

Game Media Slides

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.** 

 

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**

Unreal Engine 4 – FPS/RPG Prototype

Role

Game & Systems Designer

Tasks Assigned

Work on creating blueprint systems inside of Unreal Engine 4 to create FPS / RPG style of game elements.

End Goal

To essentially work towards creating multiplayer along with the base game elements.

Tools Used

Unreal Engine 4
Photoshop

Skills Utilized

Prototyping - Unreal Visual Scripting

Overview

This project started out as a personal learning experience for myself to become more familiar with Unreal Engine Blueprinting. As of recent (May 2016) I changed the direction of the project towards a cleaner style of blueprinting to prevent issues I was running into. The project stands out to me in 3 cycles.

First Development Cycle
First Cycle

    The first cycle was when I first started this project. During this cycle the code was clumped together as I was trying to run a majority of my blueprints off of things like tick events. The whole focus in my first cycle was not to create code that functioned smoothly, but to create the base mechanics and understanding of how Unreal Blueprinting logic worked. This was back on Unreal Engine version 4.7. My blueprints and components were all created through trial and error of creating the game system (take my health bar found in the first screenshot below for example) and adjusting it until I got that system to function correctly. Throughout the first cycle I did not follow any tutorials.

Second Development Cycle
Second Cycle

    My second cycle of this project started when I decided to scrap my work from the first cycle and start from scratch in Unreal Engine 4.9. My blueprints from the first cycle were a bit of a mess in the sense that I had a majority of functionality stacked onto the actual game character. This was found to be a problem during my second cycle as I wanted to begin learning replication & unreal multiplayer. I followed a tutorial by Arbo on Unreal Blueprint Tutorials called "Blueprint Building FPS from scratch". I succeeded in creating the base menu functionality & local network multiplayer (same network IP).

Third Development Cycle
Third Cycle

    Finally this is where my third cycle started on the project. This was during the release of 4.10, followed shortly by the next release which was 4.11. I started the project again from scratch and my reason for always starting from scratch was to prevent possible issues and to also give myself more practice in re-creating systems I had already learned. On this cycle I started using more video and documentation tutorials to get further in my personal development. As I followed the tutorials I adjusted each one towards my goal of being replicable and more dynamic. What I mean by that is creating functionality that can be applied in a number of different ways.

    For example when I started working on the functionality of 'Take Damage' & 'Do Damage'. In the past I learned to place this type of function onto the player character and do all the operations there. I realized if I wanted to apply the same logic my character has onto lets say a enemy, I would then have to re-create the entire function again on a whole new blueprint. This is when I started researching into components. This then allowed me to place the functionality of 'Take Damage' & 'Do Damage' onto multiple actors without having to create the functions over for each actor. Doing this I also found performance gains and that it kept my blueprints more organized.

This project contains the following elements / systems:

Hud
Health & Score
Inventory
Pickup, Drop, View, & Replicated
Skills
Speed Multiplier & is Replicated
Menu System
Main, Host, & Join Menus
Respawn Menu
Replicated
Character
Movement, Emote, & Firing all Replicated
Do & Receive Damage
Replicated & Component
Multiplayer Connection
Join, Host, Leave, & Close Session

 This is a project that mainly focuses towards learning more about Unreal 4 Blueprinting & Systems Building.

First Cycle Images

Below are images that relate to my first development cycle.

***DEVELOPMENT***

Update (12 - 23 - 2016): Work started on a whole new UE4 scene for this project. Currently implemented first-person with weapon switching (tommy gun & pistol). Sounds implemented and emitters for the shell ejection. See images below for level.

 

(Old) Second & Third Cycle's Content is still being created (6 / 6 / 2016). Content will be uploaded and added shortly. For any further inquiries about this specific project please email me directly. Download-able 'demo' is available on request.

 

New Images (UE 4.14)

Old Images (Rework for UE 4.12)

Unreal Engine 4 – Ascendance

Role

Project Lead

Assigned Tasks

Assigned team tasks, created weekly game builds, debugged, worked on side tasks, provided direction, and mentored other team members.

Tools Used

Unreal Engine 4
Axosoft
Slack
TortoiseSVN
Trello
Google Drive

Skills Utilized

Level Design - Mentoring - Project Management - Concept Paper Maps - Quality Assurance Documentation - Source Control - Task Assignment - Unreal Visual Scripting

Overview

Ascendance is a first person survival game. This project was created by a group of students at UAT (University of Advancing Technology).

Game Story - Read More
Game Story

    Ascendance starts off as a world set in the year 2065 after a biological warfare started by the Russians. The United States put project Bastion into motion which was giant underground self sustaining bunkers to help protect its citizens, however the bunkers were not built to withstand chemical warheads. The story takes place inside of Bastion: 01 also known as the presidential bunker. After the chemicals seeped in only 10% of the inhabitants remain un-mutated. The player makes choices with the half-Asian female main character who has grown up entirely inside of the bunker, not knowing what the real world used to look like. The player must survive, as they are entrusted with the information about a fail-safe opening with Bastion: 01's doors, which have been locked shut since its original lock-down. The player must race against time and mutants they will face in order to make it out of Bastion: 01 before it is too late.

Project Start - Read More
How It All Started

    The project started as a student innovation project and was moved into the production studio course. There the project recruited 31 members for the first semester in the game studio. We utilized management tools such as Axosoft, Trello, Google Drive, TortioseSVN and Slack in order to help keep organized and on track. The project went through several stages of minimizing scope of the project and scale of the levels in order to make a working prototype by the end of the first semester. The project was presented at the Greenlight event at UAT and was accepted for another semester in the game production studio. During the second semester the project started out with 15 members. During this time I made a call in order to re-vamp what levels the game would feature. Originally the game was planned to feature 4 unique areas, however due to the scale of this the project fell short of having fully completed levels. Instead the focus was to create only 3 unique areas and to split the first one up into smaller bits for each designer. By doing so the team was able to divide and create the settings required for the game. Ascendance was also posted onto Unreal forums and several other social media locations in order to spread word of the game. Towards the end of the second semester in the production studio, Ascendance was pushed through as a playable free-demo available on the website.

Before & After (Hover to Flip)

**Full credit to team members Aaron Ramirez (Level Design), Mike Demo (Environment Assets), and Chandler Demming (Concept Artist / Environment) for creating the above scene.**

Above: Showing my main menu blueprint; the options sub-menu.

Blueprint_Showcase

Above: Picture may be enlarged for closer viewing. Shows the behind scripting for the main menu image that is above this image.
Above: My behind scenes work for persistent level loading / unloading as the player moves throughout the game. Affects screenshot above this one.
Above: In editor modification of character texture made into material to add pores and other attributes to add realism.

**Credit to Gabriel Vielle for the original character material / model.**

For Additional Information

 Documents of Work:

Ascendance_GameDoc_Snippet

Above: Screenshot of the Game Document on google drive showing the story and story-line.

Ascendance_GameDoc_Snippet_2

Above: Again the Game Document, this time showing the start of the weapons section.

Ascendance_Axosoft_Snippet
Above: Showing of Axosoft and the agile software that was utilized for the first semester.

 

Full Game Documentation