Gallant
Gallant is an open world 3D person sword fighting game. This game was developed for the master’s project and worked solo on this project.Â
Genre: Action-Adventure
Software: Unreal Engine 5
Role: Game Designer, Game Developer
Platform: Desktop
Game Concept
The game takes place in an open-world environment, with players taking on the roles of expert swordswomen characters engaged in violent one-on-one fighting. The emphasis is on developing a realistic and dynamic sword-fighting system that combines strategic decision-making, skillful execution, and visually breathtaking battles.
Gameplay Mechanics
The basic gameplay focuses on sword fighting, featuring numerous attacks and special moves. To enhance the pleasant and immersive combat experience, physics-based animations and collision detection have been included.
An enemy health system has been implemented, allowing the player to determine how close they are to their goal. Additionally, a player’s health system is integrated into the game, enabling them to gauge how well they need to defend themselves against various attacks to survive. Actions such as attacks, running, and dodges consume stamina, necessitating efficient resource management to avoid depletion and vulnerability.
Creating engaging sword battle encounters requires the development of sophisticated and formidable AI opponents. The AI is implemented in the game with the assistance of navigation systems that help enemies or AI agents navigate the level using pathfinding.
Visuals include realistic character models, detailed environments like dungeons, and immersive lighting, all of which contribute to the game’s visual appeal and enhance the overall experience. To increase suspense and provide aural feedback to players during conflicts, authentic sword-slash sounds, impactful combat audio cues, and a relevant soundtrack are used.
Responsive and intuitive control schemes have been created to allow players to effectively execute various swordplay actions without difficulty. A beautiful and informative user interface has been designed to convey important information without interfering with gameplay, displaying health, stamina, and other vital information clearly.
Special Features
Inverse Kinematics
Inverse kinematics is implemented on the character’s leg as it is giving the means to handle joint rotation from the location of an end-effector rather than by direct joint rotation. Specifying an effector location, and the IK solution solves the rotation so that the end joint is as close to that place as possible. As shown in figure 1.
An imaginary sphere, known as a ‘sphere trace,’ is drawn under both feet of the character. This sphere trace calculates the actual distance between the feet and the ground, as it is capable of tracing hits from the ground. Once the sphere hits the ground, it can return the distance between the feet and the ground. With the help of these calculations, we can adjust the position of the character’s pelvis (Skeletal Mesh) to match that distance. Interpolation is also employed in this process to avoid snapping and ensure a smooth transition, as shown in Figure 2.
Playing different animation montages (Death, Attack)
Different animation montages like death, attack and hitting reaction used in game which gives an innovative feel to the player. Some games just play single animation on every action which is performed but Gallant provides the feature of different animation montages played on every action
Meta sound feature
Gallant comes up with the enhance feature of sound system name Meta sounds. As all audio used in game is developed in Meta sound editor.
Attaching Root bone to Maximo character using Blender
All other characters (enemy) and animations is used from Maximo. But at the same time it comes up with the problem of having no root bone on its skeletal mesh. To solve this issue blender is being used and attached all root bones to those characters and their animations
Artificial Intelligence
Creating engaging sword battle encounters requires the creation of sophisticated and tough AI opponents. AI is implemented in the game with the help of the Navigation Systems which helps enemies or AI agents to navigate into the level using pathfinding. The system creates and splits a Navigation Mesh from the collision geometry in the Level. These tiles are then subdivided into polygons to form a graph, which Agents utilize to navigate to their destination. Each polygon is allocated a cost, which Agents utilize to find the best path with the lowest overall cost. The Navigation System contains a number of components and parameters that can affect how the Navigation Mesh is constructed, such as the cost allocated to polygons. This is implemented by these steps:
Nav Mesh Bound Volume (AI Box)
These Nav Mesh Bound Volumes are assigned to the whole map to implement an enemy AI behavior.
Assigning AI Navigation to enemies
These AI Navigation assign to a mesh in toolbar to implement an enemy AI behavior.
Using Different Targets
These targets are assigned in AI Navigation to the toolbar to implement an enemy AI behaviour.
Bird Eye View
Placing Bird Pawn in the world helps the player explore more resources and track enemies in the open world.
Project Management
(February)
Week 1
- Define the game concept, target audience, and gameplay mechanics
Week 2
- Create a comprehensive project plan outlining goals, milestones, and deliverables.
Week 3
- Establish a project scope
Week 4
- Conduct research to decide
(March)
Week 1
- Creating and polishing Landscapes
Week 2
- Learn vectors, rotators and trigonometry used in-game
Week 3
- Define Actor class
Week 4
- Define Pawn class
- Imported character assets
- Developed Animation blueprints
(April)
Week 1
- Applied Inverse Kinematics on the character and fixed issues
- Developed collision, delegates and overlap events
Week 2
- Get ready the character for an attack
- Make an attack montage for the character
- Add a Meta sound feature to each action
Week 3
- Fixing the foot placement issue
- Developed weapon mechanics
- Disabling and enabling weapon box collision
- Adding dot and cross product to fix weapon mechanics
Week 4
- Importing enemy characters from
- Assigning root bones to enemies using the
- Setting out a health widget for the enemy
- Setting out enemy behaviour like death and attack montage
- Implementing AI Behavior on
(May)
Week 1
- Defined character attributes
- Setting out a health widget for the character
- Develop a death montage for the character
Week 2
- Fixed issues
Future Work
Introduce a progression system that enables players to advance through the game and acquire additional swords, armour, and skills. Customization options provide meaningful alternatives for gamers to personalize their character’s appearance and playstyle. Missions and storylines will be added to the game to enhance the overall gaming experience.
Resources
- Ancient of Valley for character
- Animal variety pack for bird eye view
- Fantasy Weapon pack for weapons
- Magascans Trees
- Medieval dungeon
- Quixel bridge for different assets