Download

Narrative Driven GPlay Mechanics

Greetings Unreal Community,

This is my first post on here so I’ll start off by introducing myself: My name is Jamie 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: https://www.youtube.com/watch?v=2vlL_3jmrwE

NPC Components:

http://i1082.photobucket.com/albums/j380/obsidian-fracture/00NarrativeNPCComponents_zpsdd43761e.png

NPC Graph Part 1:

http://i1082.photobucket.com/albums/j380/obsidian-fracture/01StopPlayerRotateNPCVariableStoresDialogueStart_zpse8d5d8c1.png

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: https://www.youtube.com/watch?v=NlPBCwN7Zu8
Negative Affiliation Demo Vid: https://www.youtube.com/watch?v=bY4NcdBm3II

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: https://www.youtube.com/watch?v=pTBto6-3XhM
Good Flag Capture Demo Vid: https://www.youtube.com/watch?v=XWFbQxIoV3E
Neutralise Flag Demo Vid: https://www.youtube.com/watch?v=cB8puJGFlak

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: https://www.youtube.com/watch?v=_CCoPhJoHDY
Neutral NPC Demo Vid: https://www.youtube.com/watch?v=MCkczgwqj7Q
Evil NPC Demo Vid: https://www.youtube.com/watch?v=zQ51yVeL1Gs

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.

Narrative Driven GPlay Mechanics in UE4: Assignment Completion Presentation Post

The purpose of the demo / prototype systems in this Unreal project is to weave narrative choices with gameplay features, Ludonarrative Consonance, which in a fully-fledged title, would invoke emergent narrative and deeper immersion.

The following is an explanation of what the player can expect to see in the project:


*When hitting play in the editor, the player is spawned in the world before the Narrative NPC, highlighted by a pulsing particle effect at it’s feet.

Upon approaching the NPC the player is engaged in multiple choice dialogue, where the choices you make lead to different additional questions and ultimately a response that will add or subtract from your Affiliation Meter.

The player’s affiliation, seen top centre of the screen, has an integer range of -2 < 0 < 2, which equates to evil < neutral < good.

Returning to the NPC, the player will notice that they receive different questions depending on their affiliation.*

7cc372d8fe32c6514325100365a94f6767c38833.png

There are three enemy characters / creeps in the world, one aligned to each affiliation. Each of these will respond differently to the player based on the player’s Affiliation. In this version of the prototype, this dictates the speed at which they MoveTowards the player (Friendly Approach, Notice-Only, Runs Towards, Charges Towards).

enemybehaviour_zpsbee888ac.png

Enemy behaviours based on Player Affiliation Demo Video:

*The player’s affiliation can also be seen to directly influence the world around them, the range of influence determined by how strongly affiliated they are, and is shown by the size and spread of the particle effects that surround them.

In this version of the prototype, the strength and alignment of the player’s affiliation causes surrounding plants to grow and whither amidst their influence radius.*

affiliationinfluence_zps1909dfd3.png

GOOD Influence Radius Demo Video:

EVIL Influence Radius Demo Video:

*Finally the player’s affiliation reading dictates the team that they score points for during the session by capturing the Objective at the far side of the map.

Capturing the Objective grants +2 for the affiliated team.
Losing control of the Objective incurs a -1 penalty.

A play session, or Season, is a first to 5 set up.*

objectivecapture_zps6cea8838.png

Team points for Objective Capture, Start Up and Victory Messages Demo Video:

Depending on which team the Objective is affiliated with / who controls the Objective, also has an impact on the narrative and the environment.

Convos2_zps688942a3.png

NPC conversations per Player Affiliation for each Objective capture state Demo Video:

enemyspawner_zpsdfc509b4.png

Maximum spawns of each Creep type changes with each Objective capture state Demo Video:


How could this prototype become a real game that fulfils Ludonarrative Consonance?

Health and Simple Combat
More Audio Feedback
Competitive Multiplayer, which would then give birth to emergent narrative
Advanced AI for utilising creep allegiance
Transmedia strategies to track global statistics of which affiliations are winning more often and use that as stimulus for creating new narrative content for the game


I would be happy to discuss my blueprints with forum users if they would like to.

Happy New Year Unreal Development Community!