Stormrise
A fantastic adventure awaits...
Trailer
Project Info
Developer: Joseph Fore
Genre: RPG, Adventure
Development Time: 4 months +
Game Engine: Unreal Engine 4
Intended Audience: PC gamers who enjoy RPGs like The Legend of Zelda or Final Fantasy.
Platform: PC
Stormrise represents the culmination of everything I have studied while attending Academy of Art University. When creating this level, I was inspired by some of the same games that made me want to become a game designer in the first place, such as The Legend of Zelda and Final Fantasy.
Everything seen in the level was created by myself. All models (with the exception of UE4 default character models) were created by me using UE4's brush editor. I scripted the quest, inventory, and dialogue systems in UE4 blueprints. The only work that I cannot claim as my own is the audio and character animations in the project.
Gallery
Concept
The quaint fishing village of Stormrise is nestled into the mountainside. It is a peaceful, uneventful place where few people have reason to go. For many travelers it is just another stop on their journey. But for the villagers who call it their home, it is their life. Sheltered and cut off from most civilization, they live off the land and sea.
Though the villagers are attuned with the nature around them, they are still at its mercy. Storms from the sea pass through all the time, but nothing like the most recent hurricane that blew through the cliffside. High winds damaged buildings and bridges, and fish are hard to find after the waters were disturbed.
As a traveling shaman, it is your calling to help those in need. To pass through the village without offering assistance would be against your moral code. Perhaps after the villagers have been aided, they will be able to offer you something beneficial in return, such as safe passage across the ocean on one of their boats.
Mechanics
-
Walk/Run
-
Collect Items
-
Speak with NPCs
-
Complete Quests
-
Explore
Full Level Walkthrough Video
Systems
I created several systems for this project, including NPC dialogue, quests, and an inventory. I found tutorials on Youtube to help me get started on creating these since I had not done anything like that before in Unreal Engine 4. Once I had the basics working, I was able to expand upon the systems and polish them further until they were bug-free and fully supported the type of RPG gameplay experience I was going for.
NPC Dialogue
The dialogue system uses data from an excel spreadsheet to show conversations for individual NPCs.
Columns in this spreadsheet break down the data between NPC IDs, Conversation IDs, Line IDs and the Dialogue text itself. The spreadsheet can then be imported into Unreal Engine as a csv file so that the engine can pull data from it.
Then I created a data structure type for the dialogue file so that this data can be used and referenced via blueprint. IDs are converted into Integers and the dialogue is converted into Text.
Inside the NPC actor's blueprint are several functions for dialogue and quests. When the player interacts with an NPC, a dialogue window widget is created and added to the player's viewport. The dialogue that appears in the window is determined by the "Dialogue Get Line" function shown below. The function pulls data from the csv file, checks if the Conversation and Line IDs match and if they do, adds the dialogue line to the dialogue text array. If the line returned is equal to 1 (not null), the function returns that line and adds it to the dialogue window widget. But if the line returns as null, it removes the dialogue window widget from the viewport, therefore ending the conversation.