Skip to content

MarcoFercia/Public_HowlOfIron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Howl Of Iron

Howl of Iron is a 3rd Person Action Adventure game blending HUNT & COMBAT.

The player take control of Vincent Volk, a renowned engineer and former Red Gear worker who lived a hard childhood and after suffering the loss of his loved ones, his wife and daughter because of carbogenosis, decides to completely dehumanize and transfer his consciousness to a mechanical werewolf with which to destroy everything that once harmed him and consummating his revenge.

Howl of Iron was developed as master tesis of my games programing master degree. It was developed by 17 students of 4 different master degrees: game programing, game art, game design and production. We developed the game in 9 months using Unreal Engine by 16Gears.

More information about the project

In the development we have 5 programmers in it. In this project I worked on IA and Gameplay.

Some stuff that I have done in it:

Waypoint system:

I develop with one mate a system for IA. When an enemy arrive a call a function of the waypoint. We can create diferents actions for the IA in the Waypoint, like wait some seconds or play an animation, after this the enemy will continue with his route. This allowed us to create many diferents behavior and even Design departanment can create his owns task on blueprints.
C++
BT C++

Enemies Behavior:

In tihs game we have three types of enemies. I developed the "Hunter". It have a 3 states that manage the behavior of this enemy. His first state is Patrol, in it, he follows the route around a square, when he see or heard something he start the alert State where he increase his movement speed and also have more vision range. When he completly see our character it enter in combat mode, in it, he change his movement set and use her diferents weapons depending on the distance or the inmunity state. When our main character is near he use a FlameThrower, in a middle distance he use a ShotGun and when Vincent is too far our Hunter will use a electric projectile, if it hit will reduce the movement speed of our main character.

BT TSK DCT SVC

Combat & Gameplay

In this game we play as Vincent Volk a mechanical Werewolf. We use Gameplay Ability System to develop our combat. We created diferents abilities for each hit of our character, this can allow us to make diferents powers in each hit in our combo system, also we create diferents state abilities that allow us the behaviors mention in the Section "Enemies Behavior" like Combat state or Inmunity State. More stuff was a long list of task than we develop to allow Design departament create a difficult abilities or actions in a easy way in Blueprints. After this project I can say I have a very good experience using Gameplay Ability System and I'm looking forward to start a new project using it.

GAS GAS GAS GAS GAS GAS GAS

Merge Tool

During this project we have a problem with the optimization of the game. Our enviroment was procedural and very small pieces, in our first map we have a 40000 actos in scene. I develop with other programmer a tool that allow us to group and merge actors in the scene. We inherit from BoxTrigger and make some filters to select actors. The first method is select all that is inside the trigger, the second method filters actor by staticMesh, it only select the actors that have the mesh filter, also we upgrade this filter became an array filter and use it with two or more static mesh. The third method is similar than the second one, but it filter by Material of the StaticMesh, also it was upgraded a few days after with the array filter. The last mode allow us to create Instanciated Actors, it create an Actor with the Instanced Actor component and copy the transform of the selections to the component. After two weeks with this tool, we reduced the actors in our map from 40000 to only 7000 actors in editor, with this we upgrade our performance around 10ms and allow us to reach the 60 fps ingame.

C++
Tool UE UE

Perception System

We created our own perception System. During two weeks with other programmer we research and try to create a good system. We create a modular system that allow to create diferent types of perception that increase the value of the detection. We created 2 types of components: DetectorActorComponent and DetectableActorComponent, with this we can create diferents types of detectable actors like the player or even the dead bodies of the other enemies that aware others of the position of the player. The first module we created was the vision detection, in it, first we calculate the distance between the player and the enemy, if the player is near enough, it will raycast to check if it can see it. Other perception is NearPerception, it increase the detecion value if the player is in range, we use it to dectect the player when is in the enemy back. Other type is SoundDetection, when the player do some action or ability, it call a detector actor if it is in range, and send to it the increase value from the sound. Also each type of detection have a weight to allow Design departament to change the values when they want.

C++
Tool Tool
GAS GAS GAS

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages