VINDOLANDA LEGACY
ROLE
Independent
DESCRIPTION
"Vindolanda Legacy" is the final dissertation in Newcastle University. I desigend and developed a 3D RPG game called "Vindolanda Legacy" using UE 5.4 blueprint. Some features of UE 5.4 like animation montage, animation blueprints or blueprint interface are implemented to this project.
TIME
2024.5-2024.8
GENRE
RPG, Narrative-Based, Game-Based Learning
PLATFORM
PC
Development Notes
​Introduction
This game is my final dissertation in Newcastle University. It is based on the Roman auxiliary fort Vindolanda in about 300AD, whose heritage is located in the south of Hadrian’s Wall in Northumberland, England now. The aim of this game is to help to spread the history knowledge about Vindolanda fort. In the game, the player will take on a role of a girl called Charlotte who went to Vindolanda to learn combating skills. The main storyline of this game is help Charlotte to learn combating skills, so there are many fighting quests in the game. Besides, the storyline will also guide player to learn some history knowledge of the Vindolanda fort and give them quiz. They must finish the quiz to advance the storyline. This can help players gain knowledge through playing.
​
I firstly designed the terrain and the map of the game. Then I developed the game systems like battling system and the weapons. Next, I developed the quests in the game so the player can play the game in a narrative way. In the beginning, some systems like weapon upgrading system or brewing system are locked. These systems will be unlocked as the storyline progresses.
​
​The game is developed using Unreal Engine 5.4 blueprint. Here's some features of this game.
Features
1. Game Map Design
The scene is consist of four parts: Vindolanda Fort, Vindolanda Town, Training Ground and The Forest. 24h day/night cycle is implemented to the game, which is finished by a resouce in Unreal Market called "GoodSky". The map is created and editted by the landscape and foliage tool in UE. Here’s the detailed introduction of each part.
1.1 Vindolanda Fort
This area is based on the 3D reconstruction in Vindolanda museum. Players can walk through the barracks, explore the headquarters of the fort in this area.
1.2 Vindolanda Town
This area simulate the settlement outside the Vindolanda fort. Players can experience the life of Vindolanda people in ancient time here. There are some important buildings like quiz house, the bathhouse and bonfire site in the town area. Most of NPC who can barter with the player are in this area.
1.3 Training Ground
This area is designed for the battling system. All the battling missions take place in this area. There are also an NPC in this area.
1.4 The Forest
This area is mainly designed to implement more gameplay designs that makes the game more relaxing, beautiful and attractive.
2. Buildings
There are 11 buildings in the game are based on the real buildings in Vindolanda: the fort, Headquarter, Commanding Officer’s Building, The Granary, barrack, cavalry’s barrack, The Bathhouse, butcher’s shop, tavern, workshop and the bonfire site. The first six buildings mentioned above in the game is modeled based on the reconstruction models in Vindolanda museum. These models are made by Blender.
3. NPC
There are 10 NPC in the game totally. They take part in many important gameplay designs of the game. NPC have different job and has different interaction with the player. They can talking, bartering with the player or introducing some knowledges to the players. Player will have chats with almost every NPC in this game through the whole storyline. They are the key part to promote the development of the storyline.
4. Storyline
The main character of this game is a girl from Londinium called Charlotte. The storyline is mainly about Charlotte learning combating skills with a soldier in Vindolanda called Cassius to achieve her dream of being an adventurer and explore all around the Roman Empire. During the storyline, Charlotte will learn combating skills from basic skills, using different weapons to upgrading weapons and brewing potion. Besides, she will also learn about the knowledge of the background, buildings, handiwork and equipment of Vindolanda.
5. Dialog System
The player can talk with the NPC. And the dialog is different for different NPC. Besides, the dialog is also different according to what quest the player is doing or how many quests he has finished. This is implemented by different blueprints inherited from a custom actor component called "AC_Dialog".
6. Quest System
The storyline is organized by the missions system. In other words, the storyline is consist of many missions. Most of the quests are communication quests. The storyline is mainly developed by communication quests. Players will be guided to talk with NPC in the game. There are also some other quests that guide the players to finish quiz or battling.
​
The quest system is implemented by the "Mission" class. A new member of this class will be spawned when the last one is finished. And the finished one will be cleared out from the game. Some functions will be performed (like spawn enemies), set dialog tree index) when a new mission starts or finishes. The current quests will be displayed on the right top of the screen and a quests widget.
7. Encyclopedia System
As mentioned above that the game will spread the knowledge to the player. This is finished by the encyclopedia system. This system is consist of three parts: three books, some boards in the game world and some NPC, which means the player can get the knowledge from them.​​
There are three books in the game. One can be obtained by quest and others can be bought from NPC. The first is about the buildings, which records the background of the whole Vindolanda and the introduction of important buildings. Besides, there are boards in front of some of the important buildings. Players can read the introduction of the buildings from the board. These introductions are same as them in the book.
The other two books are about the handiwork and equipment in Vindolanda. The player can check the knowledge about these by both reading the book or going to the relevant NPC.
8. Quiz System
In quiz quests, players will be guided to a specific to have quiz. They need to answer enough questions correctly to pass the quiz, or they can not unlock the next quest and continue the storyline. Besides, there is also a quiz house, which will be unlocked when player finish the storyline. They can go to the quiz house and redo whichever of the 5 quiz they want. If they manage to pass the test, an item that can be used to upgrade weapons will be awarded to the player. This is designed to encourage the players to review and reinforce the knowledge after they finish the storyline.
The implementation of the quiz system is very similar to the dialog system, it is based on a custom actor component, too.
9. Player Movement
The player input action is based on the enhanced player input system in UE. Player can run, sprint, jump or swim in the game. The animation of the player character will be played according to the state machine in the animation blueprint and blend space.
10. Battling System
This system is mainly implemented by the battling quests, which is an important part of the storyline, because the main character is here to learn the combating skills. There is also a kind of quest in the game called “training ground quests”. There are four modes of this kind of quest: easy, normal, difficult and epic. Players can receive this quest whenever they want after unlocking it, even when they have finished all the storyline. They will earn extra reward when they finish these quests.
10.1 Player
The player is able to do basic attack, charge attack, combo attack and block with three weapons: punch, sword and shield, double dagger in battling mode. Different weapons will have different animation and cause different damage to the enemies. The attack animation is implemented by animation montage. There are notifies inserted in the animation montage that will perform specific logic in specific frame of the montage to finish the functions like detect enemy and apply damage. This project uses "Sphere Trace For Objects" or "Multi Line Trace For Objects" to detect if it hits the enemy.
Basic Attack
Combo Attack
Charge Attack
Block
The weapons are attached to the player character by bone sockets. Different weapons has different attack and block animations.
Double Dagger
Sword & Shield
There is a long distance weapon: bow. Players can use the bow to shoot at the target in a long distance. This is based on the "Projectile Movement" component in UE.
10.2 Enemy
There are two kinds of AI opponents in the game: solider and axeman. They’ll wander in the training ground area during the battling quests. When they see the player or be attacked by the player, they will start to combat with the player. Soldiers can attack player and block. The axemen can’t block, but they have their own weapon, axe, which will cause more damage to the player.
Soldier
Axeman
When the player dies, she will be respawned, and when the enemies die, they'll be cleared out of the world by an Niagara effect.
The enemies are controlled by AI behaviour tree.
Behaviour tree of soldier
Behaviour tree of axeman
11. Inventory System
There are many items in the game that can be obtained by the players and be saved in players’ inventory. And there is a kind of currency in the game called coins. This system is the basic of some other systems like pickup system, brewing system and so on.
11.1 Items
The items in this game is based on a data struct called "S_ItemData". They have properties like "Name", "Description" or "Class".
The items can be ontained by picking up, buying from NPC or finishing quests. They also have different usages. Like foods can be eaten to recover player's HP, books can be read or badge can be worn.
Picking up items
Using items
11.2 Coins
Players can get coins by selling items, opening chests or finishing quests, and they can use coins to buy items from NPC, upgrade weapons or brew potion.
11.3 Inventory
The inventory is based on an actor called "BP_Inventory". Most of the functions of the inventory like adding items, sort items or remove items are finished in this actor. Players can check their inventory by the inventory widget. They can also use, discard, sort, arrange items or check the detaild of the item by the inventory widget.
12. Bartering System
Players can barter with some NPC in the game. They can buy items like food, weapons, books and so on from NPC using coins. They can also sell something to the merchant to earn extra coins. They are able to barter whenever they want after unlocking the relevant shop.
13. Weapon Upgrading System
The weapon sword and shield, double dagger and bow can both be upgraded. Player can go to the NPC Brute and use iron ingot, which can be dropped when the player defeats an axeman, and torch of wisdom, which will be rewarded to the player when the player passes a group of quiz in the Quiz House and enough coins to upgrade the weapons.
There are 4 levels for these weapons in total. When the players have just obtained them, they are at level 0. When they are upgraded to level 1 and level 2. The damage they cause will be increased by 5% and 10% respectively. When the sword or dagger is upgraded to level 3. There will be fire attached to them when the player is doing charge attack. When the bow is upgraded to level 3, the arrow shot out will also be attached with fire. When the opponents are attacked by the weapon or arrow attached with fire, he will be on fire and their HP will be decreased continuously when they are on fire. The fire is designed to be lasting for several seconds.
The bonfire in the bonfire site can be lit up by the fire-attached weapons. When the player manages to light up all the bonfire, they will be rewarded with coins.
Moreover, players can be on fire as well. When the player is walking on the fire, the player will be on fire and her HP will be decreasing continuously for several seconds. When the player enters the water, the fire will stop.
14. Brewing System
Players can go to a brewing keg in the bonfire site to brew potion. The material to brew potion are basic potion, which can be dropped when player defeats a soldier, and flowers or mushroom that can be picked up in the forest or found in the chests. There are three kinds of potion in the game. Different potion require different flowers. The first one is health potion, which recovers 50 HP for the player. The other two are attack potion and defend potion that can increase the player’s damage to the opponent by 20% and decrease opponents’ damage to the player by 20& respectively.
15. Animals
There are three kinds of animals in the forest: crow, fox and deer. They’ll wander, or sleep, or chirp in the forest. This will create a more natural atmosphere of forest and a better visual and aural experience to the players. They are both based on the AI behaviour tree.
16. Sound System
The sounds in this game can be classified into three types: background music, environment sound and UI sound.
​
The BGM changes with the area. All the four areas in the scene has its own BGM. BGM can make the game more complete and vivid.
​
The environment sound varies from the footstep sound when walking, the splash sound when swimming to the yell of the player and opponents when battling and the caw of the crows. This can make the game more real and make players feel more immersive. There are also some environment sounds like the sound of opening a chest, or the crack sound when player or opponents hit each others that can notice the players what has just happened. This meets the sensible mode.
​
There will be sound notice when players click on some buttons in the interface like selling item, sorting inventory or setting a new navigation point in the map. This sound can notice the players that they just did something in the interface.
17. Save Game System
Since it might take several hours to finish all the storyline, and players may want to continue to play after the storyline is finished. The save game system is needed to be introduced. They can save their progress whenever they want. When they load a game, data like their position, inventory, storyline progress and so on will be the same as they saved the game. They can also delete the saved game. This system makes it possible for players to quit the game without losing progress when they may feel tired and continue the game at other time.
​
The data will be saved to a class called "BP_Save".
18. Widgets
18.1 Main Widgets
The main widget will demonstrate the player’s HP, current weapon, count down (when need) the number of each potion they have, and keys to open some other widgets.
18.2 Map/Minimap Widget
There is a mini-map in the left-bottom corner of the screen. This will where the player is and the name of this area. There is also a navigation pointer which will point to the destination that the player is expected to go to. The pointer will be set to current quest destination automatically when a new quest begins. Players can set this pointer manually in the quests widget or the map widget.
The map widget shows the top view of the whole map. There are some buttons in some important places like Headquarters or training ground. Player can teleport to these places by clicking on the relevant buttons. They can also press the “Set Navigation Point” button to set the pointer in the mini-map to a certain NPC or place.
18.3 Quests Widget
There is a small quest widget which is circled on the left side of the screen. Only limited number of quests can be displayed there. Players can check all quests, i.e. what they need to do now, in the main quests widget. They can also set the navigation pointer to the destination of a certain quest.
18.4 Notice Widget
There is a notice widget on the right-top corner of the screen. There will be a notice pop out when player did something like finish a mission, collect some flowers or unlock some new gameplay functions.
Notice popping out when finished quiz and quest
Notice popping out when getting coins
Summary
In summary, this game is the first game I made using engines. I learned the basics of making games with UE blueprint from this game. I also got to familiar with the important tools and features of UE blueprint like landscape tool, foliage tool, Niagara particles, animation montage and so on. Besides, I want to get to know more features in UE5. Like editting using C++ class instead of blueprint class, or some tools like chaos destruction system, Environment Query System or communicating with ChatGPT. I also want to try to develop some multi-player online games using UE.