Aesir Blog


Week 1 - W/C 24th January 2022

To be able to get our cinematic game started, we firstly had to sit down as a group and brainstorm ideas for a story that needed to be interesting and engaging without worrying about how we would implement the idea into gameplay and cinematics.

As a group, we managed to come up with the idea for our game relatively quickly and started to expand on the initial idea to see where it would take us. The idea for the story that we came up with was to have the game set in the past when Vikings were around and decided to embrace the gods that supposedly existed during that time such as Loki which is our Antagonist.

After coming up with the concept which we all agreed on, we all started to add our ideas to try and get a better idea on what the exact story is going to be. While we haven't yet got the exact story of the game just yet, we have and idea on who the main character is, who the enemy is, and the big situation that our main character is going to be put in.

Week 2 - W/C 31st January 2022

Continuing on from where we left of from last week, we carried on trying to get an idea of what the final story was going to be. We started to do this by creating a very rough draft of the storyline. This way, we were able to write down parts of the story that we though were good so we wouldn't forget what we decided the story was going to be later on.

While someone on our group was writing the very rough draft of our storyline, I started to look for models on Mixamo that we could use as the main character, antagonist character model, standard enemy models and scenery that our characters would be placed in. From searching on Mixamo, I managed to find a female archer which I felt suited the time zone the game is set in. To make it even more appealing, there are two models that are the same with the only difference being one of them has a bow in their hand and the other without a bow which can be useful for when the player has to pick up a bow or in the game or in a cinematic.

Following on from finding models that can be used for our game, animations need to go along with them otherwise everyone will be T-posing into battle and I'm not the best story writer myself but I don't think that the Vikings T-posed around the place even though that would be intimidating.

The process of finding animations was a lot easier compared to finding models as Mixamo has roughly 2,500 animations to search through meaning what I was looking for was almost guaranteed to be there.

Possible Character Model on Mixamo

Week 3 - W/C 7th February 2022

Development on the cinematic game, that has no name at this point, has taken a slight step back with the planned section of the game that was going to be programmed and have cinematics included within it, not a good part of the game to focus on. The part of the game that was going to be made was going to be an early part of the game which includes the tutorial to teach the user how the controls work and an introduction to the world and the situation that player is in. The decision of the chosen part of the game not being suitable and not a good part of the game to develop came after speaking with our lecturer who said that this section didn't have any interesting gameplay as it would be very boring and the cinematics that could be created also wouldn't be as good as they could be if a different section is chosen. Also, after getting the initial storyline looked at, it was also understood that it was not up to a high enough standard and therefore had to be improved.

As the created storyline was deemed not good enough, the narrative designer started to get to work on trying to improve the storyline of the game. While the narrative designer was working on that, I started to create the actual project in Unreal Engine 4 where the game and cinematics are going to be developed, as well as linking the project to Git to allow the other members of the group to have access to the game so they can either work on the creation of the world, work on the cinematics of the game and/or work on some of the programming if they have any spare time on their hands. This did however take longer than expected to set up as before this project, I have never had to setup the source control in an unreal project to have it work with Git so I therefore had to look up a tutorial on how to do this. After a while, I managed to get it all working so everyone in the group has access the project and I now know how to setup source control in the future.

Week 4 - W/C 14th February 2022

The very basic movement of the game started to be implemented by firstly creating a brand new project that is purely for testing as I don't want to affect the main game if I was to make a mistake of some kind. Within this new test project, the same model that is to be used in the main game was imported in along with a running animation and jump animation. the jump animation did not work as expected.

After having the initial section of the game not being seen as a good section to work on, we had to discuss which new section that we feel will be the best part to prototype which ended up being a boss fight in the middle of the game between Loki and the player. This was decided to be the best section as this allowed us to show the most story through the cinematics and include the most gameplay features in the smallest area.

Week 5 - W/C 21st February 2022

After creating the initial movement of the game, it was shown to the group to allow for the feedback on the movement which, as I expected, was about the jumping animation which was not great. I did try to change it to root motion, however I had issues and could not figure out how to fix use it. Therefore, the jumping animation was removed from my testing.

Once feedback on the movement was received, new models for the game needed to be found as the new section that we decided to work on required different characters. To find the models, the same website was used which was Mixamo.com as this had more models that we could use that would still fit in with the world that the game is set in.

Week 6 - W/C 18th April 2022

Work on this project had slowed down in the past few weeks due to other assignments having their deadline being earlier than this project and my dissertation being one of those assignments which is the same with the other members of the group so, as a group, we agreed to put this project on hold for a while until the amount of assignments that we had reduced. When deciding when to come back, we felt we were in a strong position and therefore able to continue from this point.

During the time this update and the previous blog update, there has been very small updates such as small tests and I mean small tests of mechanics which I felt wasn't worth creating an entry for and discussions with the group regarding the realistic aim for the project with the time we have remaining.

Week 7 - W/C 25th April 2022

With the end of the project nearing, the group met up to be able to help the production of the game to be increased slightly as we could talk to each other and help each other much easier than talking in a group chat. During this time, the voices for the characters in the first cinematic were recorded by two of the other members in the group, I don't acting so didn't do any, while I worked on the bringing through the movement where the player is able to run forward and sprint as well as aim when the left mouse button is held down.

The aiming was achieved by having creating a second animation "blendspace" where the direction the player is moving while aiming changes the animation that is played. For the reloading animation when the player takes a shot, another member in my group managed to combine the lower half of the running animation and the upper half of the reloading animation to allow the player to run and reload without breaking the immersion.

A new feature that we decided to add to the game while meeting up in person was to have the player have a stamina bar where the player will have to stop sprinting and regain their stamina back slowly after waiting four seconds. To have this happen, a delay of four seconds had to be started when the player releases the sprint button and only once the time is up, the stamina starts to replenish using the delta time from the event tick node.

Towards the end of the week, the mechanics of the game started to be created in regards to the spawning of the enemies, the interaction with the boss (Loki) and add the UI which changes to when the player hits Loki. The player is able to damage the boss by using an overlap event on the arrow actor that spawns but this could have been changed to a on hit event however, issues appeared when using the on hit event so overlap was used. Once Loki is hit, either his shield health or actual health is decreased depending on what stage of the boss fight the player is at. Once the player does enough damage to Loki's shield, the shield is then made invisible and all collisions are disabled which requires the player to hit the model of the boss instead of the shield that was around him.

Every time that Loki gets hit by the player twice, the boss then teleports to a random position in the map which is achieved by having different locations in the map added to an array when the game starts and one of those positions is randomly chosen, from which the boss gets teleported to.

For the enemies, something similar to the teleporting of the boss happens. When the game starts, the game spawns 20 enemies in a random corner of the map by having the positions that the enemies could spawn added to an array and for each enemy that gets spawned, randomly choose a location from the array.

For the UI, the boss' health is linked to two bars at the top of the screen with one representing the shield health and the other being the actual health of the boss. The bars are progress bars and are binded to the values stored within the boss' blueprint and a percentage is calculated from how much health is remaining.

Week 8 - W/C 2nd May 2022

To end the production of the cinematic game, I helped trying to fix the intro cinematic where there was an issue with the fog that was used changing ruining the lighting of the game which resulted in the characters becoming silhouettes where their faces were not visible and the textures of the characters were difficult to make out. After some time with testing different options, the fix was to do with the atmospheric fog that was used which ruined the lighting of the game and instead, a different component that was called something like exponential fog was used which was able to achieve the same aim of the fog.

After that issue was fixed, the mechanics that I had been working in in the past few days got to be added by simply making a copy of my version of the game and downloading the latest version of the game. From this point, I could open up the blueprints that I had changed to implement the mechanic and copy them over to the newest version. This saved a lot of time instead of having to add each node and change one by one. Copying over the new mechanics did have a bit of issues with some assets missing however after some time, all the changes were made successfully and the mechanics were now in the latest version of the game.

Once the mechanics were in the game, final cinematic could be created which was done by another member of the group however I was sitting beside them, talking about how it should look and how what should happen in it. We experimented with the use of a ragdoll for the boss model "Loki" when the final cinematic started to be able to create the appearance of dying on the building and fall to the ground, we were not able to achieve this as the time that we had remaining was short and therefore a different approach had to be taken which was to have an animation play and "Loki" fall backwards behind the building.

With the cinematics of the game completed, they had to be added into the game and have them play before any enemies started to spawn and before the player could move and/or look around. To achieve this, the player model that is moved around was made invisible until the cinematic finished and this was similar to how the enemies only spawned once the cinematic was finished.

The next part that was focused on once the cinematics were connected into the game was to have the game reset when the player dies or completes the game. Very simple this was but tedious as we didn't want to have the player watch through the cinematic again because they have already seen it and therefore would get annoyed if it played again. So, when the player pressed "restart", the player character was deleted and respawned in roughly the same place as to when they first started the game, all the enemies were deleted and have to be respawned into the game and the health of the player and boss had to be reset. There were other variables that had to be reset but are very small and require a long list.

Finally, once everything appeared to brough together, each member tested the game to spot any small errors that existed as which was quickly fixed and left the game ready to be handed in.