Greetings Unreal Community,
This is my first post on here so I’ll start off by introducing myself: My name is and I’m currently studying for a MEng degree in Computer Games Design at Staffordshire University.
In this thread I’m looking to share with you all my progress on one of my assignments in UE4.
The brief for the project was to create level / gplay mechanics for a MOBA level in UE4, with my chosen area of interest being narrative driven mechanics.
Free assets from the Starter Content and Mixamo Animation Pack have been used in this project.
The map I have created is a very basic MOBA-inspired layout using the Landscape tools.
Currently Implemented Mechanics:
- Branching Narrative NPC Interaction
There is an NPC in the world that when approached from any angle, rotates to face the player and a dialogue box opens up. Each question has two responses the player can choose from, which either leads to a new question or ends the dialogue and rewards the player with a positive or negative boost to their Affiliation.
Demo Vid: - YouTube
NPC Components:
http://i1082.photobucket.com/albums/j380/obsidian-fracture/00NarrativeNPCComponents_zpsdd43761e.png
NPC Graph Part 1:
NPC Graph Part 2:
http://i1082.photobucket.com/albums/j380/obsidian-fracture/02Questions_zps01c931bc.png
HUD Graph (Including Functions):
http://i1082.photobucket.com/albums/j380/obsidian-fracture/03NarrativeHUDGraph_zps6892ac3a.png
Question Structs:
http://i1082.photobucket.com/albums/j380/obsidian-fracture/04ConversationStructures_zpsb9276323.png
- Affiliation Bar
In addition to printing string notifiers of a player’s affiliation shifts, an affiliation bar has been made to describe the value at all times.
*The bar can be seen in all further videos below.
- Player Affiliation Dynamically Affecting Their Surroundings
Depending on whether the player is good or evil, the plants in the environment grow and shrivel… The radius / reach of a player’s influence, as well as the severity of the plant’s transformation, increases by how strong the player’s affiliation is.
Positive Affiliation Demo Vid: - YouTube
Negative Affiliation Demo Vid: - YouTube
Plant Components, Graph and Functions:
http://i1082.photobucket.com/albums/j380/obsidian-fracture/05PlantGraph_zps7c6c6d16.png
- Objective Capture (Sensitive to Affiliation)
There is a flag / base on the opposite side of the map which can be captured by the player. Once the capture duration is complete, the flag will look up what the player’s affiliation is and become under the control of that affiliation.
Evil Flag Capture Demo Vid: - YouTube
Good Flag Capture Demo Vid: - YouTube
Neutralise Flag Demo Vid: - YouTube
Objective Components, Graph and Function:
http://i1082.photobucket.com/albums/j380/obsidian-fracture/06Objective_zps7ec4e7e8.png
- Basic Enemy NPCs
The current enemy AI tracks the player, with a different behaviour per NPC type, Good NPC’s timidly approach the player over a short distance, Neutral NPCs watch the player but doesn’t move, and Evil NPCs dash toward the player over a greater distance.
Good NPC Demo Vid: - YouTube
Neutral NPC Demo Vid: - YouTube
Evil NPC Demo Vid: - YouTube
Good NPC Components, Graph and Function*:
http://i1082.photobucket.com/albums/j380/obsidian-fracture/07enemy_zps8d792e0f.png
*Neutral and Evil NPCs are the same but with different set values and meshes.
What’s Next?
- Each enemy variant will respond differently to the player based on affiliation
- More environmental features that change based on player affiliation
- Environmental changes triggered by flag capture
- Reward system for player when a certain affiliation captures the flag most often / first to reach a target
- Different conversation trees based on player affiliation, whether the player has already spoken to the NPC, and whether the flag is captured
I look forward to any opinions / questions about my project.