Friday 27 November 2015

BA2A - Week 10 - Gamejam


Gamejam

This week we had a 4 day long Gamejam! We were divided into teams of 5 where my team who went by the name "The Sweetrolls" included Myself, Charlotte Lawrence, Jack Edwards, Natalja Rojek and Dennis Wong. The theme for the game was "Facade", And it also had to be some sort of Arcade game with a fixed camera. 

The roles in the team were the following:

Programmer (With blueprints)/Level Designer/Engine Guy - Me

3D Artist / Level Designer - Jack Edwards

2D Artists - Charlotte Lawrence, Natalja Rojek and Dennis Wong 

Brainstorming

We started off by brainstorming about our game, which actually was a very quick and painful process because we all agreed very quickly. Since we all really enjoy the Italian renaissance and when we thought of "Facade" we thought about a Masquerade. We started thinking about what kind of game we wanted to create and quickly came to the idea of creating a sort of Stealth/Assassin type of game.

With the setting and gameplay decided we all set off to work. I started working on the AI to get the guards to react as we wanted and the camera setup. The game is based on the Top Down template but very modified to fit our purpose.

Video showing early AI testing

Work in Progress

Work in Progress

Final look of the game


Final Result

We are very proud with what we achieved in just 4 days, we had a great team chemistry as a team and had very fun during the gamejam! The game turned out great and even tho some bugs it was still great fun to play it! Seeing other people play it was also hilarious, I believe it was only 2 people except us that made it that managed to win the game! Which of course in this case is a good thing because it was supposed to be an Arcade game after all!

Video of Gameplay







Sunday 15 November 2015

BA2A - Week 8


Week 8 Summary

Pitching my Game

So this week it was time to pitch our games. I think it went very well and both the tutors seemed very pleased with my presentation. I have to admit I was a bit nervous since English is not my main language after all but once I stood up there it went super well! The critique I got was that I have some cool features that I should mention more, such as the Warhorn that gives the player a boon for a short amount of time but attracts enemies from far away. But other than that it was all just positive stuff!

Overview Page of my Pitch Document

Main Menu

Since this is the last week of working with the Prototype it is time to wrap it up. The reason why I didn't do the main menu until such a late stage is because it is an annoyance to have when I quickly want to try out other features ingame. Let's say I adjust the values for my Hunger system then every time I want to try it out ingame I will have to go through my main menu. 

The way I did the main menu was to create a second camera in the world and when the player presses the start button it switches back to the main character's controls. This way I could also add some nice Post processing effects such as Depth of Field etc to only the main menu without affecting the player camera. I found out that there is a node called "Blend camera" in Blueprint which did exactly what I wanted. To hide the change of cameras I created a black fade in and out effect which fits very well because the way the game starts is that Aneira have just woken up from a rest and the campfire is put out. 

GIF of the Main Menu

Tutorial

I also had to create a Tutorial for the player this week, an introduction to the inventory and fuel system. The way I did this was by making so the campfire has run out when Aneira first wakes up. That way the character have to fuel the fire with some logs right next to it to keep Aneira warm and not freeze to death. There is floating text in the game explaining the basics but then the player is on his/her own. 

Video of my Intro to the game


Sunday 8 November 2015

BA2A - Week 7


Week 7 Summary

Polish, polish, polish

I have continued to polish on my game, both when it comes to the level design and the gameplay itself. After attending the group critique sessions I got some really good feedback that the snow was a bit too quick, so I adjusted that and it does now indeed look a ton better. I have also done slight changes such as cleaning up my blueprints, modify the values of the player stats to enhance the gameplay, adding lots of more sounds to the game, and so on. One issue I noticed that I don't think I will be able to fix for the prototype is that the different values for the stats varies on the different computers. The reason for that is because I am using the "Tick" node to run the whole system and the "Tick" node works in the way where it every split second or so it uses the following nodes. The issue is that depending on your computer this "Tick" rate will be different depending on how high FPS you have. So if you play on a High-End gaming PC the stats will drain quicker than on a Medium spec laptop. Since this is an Prototype I will not invest time in fixing this because that would mean redoing most of the systems and I must focus on other things for now.

GIF Showing the new snow effect

Enemy AI

I have also started working with the enemy AI for the game, which in this case is the giant trolls. I found that the "Infinity Blade: Adversaries" pack had trolls in it which fit perfectly for my game. All i had to do to make them fit my snowy environment was to adjust the texture slightly so they were more blue instead of green as they are originally. To make the large all I had to do was to simply scale them up. 



Texture

To get the AI working in the game I found a excellent tutorial series, I ended up going with the AI version of his second tutorial where he shows how to create patrol AI. I did try with random AI but the giants usually ended up going to the base which is a bit unfair for the player. So I choose to go the patrol route to get a bit more control over them.


I added walking sounds to them in a similar way as for the Player, I found dinosaur walking sounds on Freesounds.org and reworked them in Sony Vegas to suit my own purposes. I also added camera shake that shakes more the closer to the troll the player is. This feature I had to ask some people to try out to get the amount of shake right. 

For the damage bit what I did was simply adding a collision box infront of the troll and if the player collides with the box the troll will play an attack animation and then the players health will be set to 0. So they will kill you in one hit. I did wish that the path finding would work a bit better than it currently does but for a prototype it's doable.
Game Pitch Document

For the Pitch document it is now mostly done, just have some further text to add. I ended up having to use Concept Art found on Internet but I will leave the source on the pages using concepts not made by me. My view on this Pitch Document is as if we are going to a AAA studio like Ubisoft to pitch the game, who knows maybe in a few years from now we are actually standing there presenting our game to a big studio so why not take this chance as practice and go all in? 




Sunday 1 November 2015

BA2A - Week 6


Week 6 Summary

Immersion

Every time I tried out my prototype and though "What is the most immersion breaking with my game right now?" and then I see a robot hand grabbing objects in the game... a ROBOT hand. How are you supposed to get immersed and feel as you are playing as a huntress in a celtic/tribal setting if your player have robot hands? This would not do so I decided to look into how to change the player hands. Since I already back in week 2 learned how to create my own animations using a already provided rig I thought there must be a way to change the model but keep the rig.

I found this tutorial that showed how to replace the player hands, however before starting to 3D model my own pair of hands I decided to try it out with the ones the creator of the tutorial provided to see if it works first.


After getting the custom hands to work ingame it was time to start working on my own pair of hands. This was a very fun process since I did not know a lot about the anatomy in the arms so this made me learn a ton of new stuff! To help me with the anatomy I followed a tutorial again by Digital Tutors where they talk about the different muscle groups and so on. 
Tutorial: http://www.digitaltutors.com/tutorial/1423-Sculpting-Female-Arms-and-Hands-in-ZBrush

To save time I also decided to use a very basic base mesh that I found online and start from there. The basic mesh used can be seen on the upper left on the image below.







The topology on the final arm is not the best and could do with some improvements but because this is for a prototype and I had already spent too much time on the arms I decided to leave it for now. The texture was mostly made using spotlight in Zbrush by using real life images of female arms. I did get some critique that the fingers were too narrow so I ended up making them a bit thicker for the final version in game. 

For the animation bit it worked very similar to the way I animated the robot arms, all I had to do was to skin the RIG that were provided by Unreal Engine to fit my own arms. I did this in maya using the interactive bind skin tool. From there it was just to re-animate the animations I needed. In this case it was a grab animation, idle and run. I thought it would also be cool if the character raised her hands to warm them when she got close to the fire so created a animation for that aswell.

GIF Showing grab animation in Maya.

Here is a short video I made to see the hands working ingame.


Fuel system for fireplace

After much trial and error I finally got the fuel system to work for the fireplace. The reason why I could not get it to work in the beginning was because I did not fully understand how to communicate between different blueprints. After a ton of researching I finally had a massive breakthrough how it actually works. I used to think that when you in the blueprint made a reference the player character it would just work, that is not the case. How it actually works and I will try to explain is as well as I can. When you create a reference to the player character it is actually just an empty container until you tell the engine what to fill it with. Which in this case is the player character. Even though it's named "Player Character" it still does not understand what we want it to communicate with. So to do this you have to make the variable public, and click on the blueprint in the world and now in the details to the right there will be a dropdown box named after the variable. Here you can now in the dropdown box select the player character that is placed in the world and it will work!