BTEC Interactive Design Project Proposal Document
Project Introduction
For this unit we were told that we were allowed to create any kind of interactive art project we wanted. I decided that I wanted to create a game that involved player animations that would get triggered through the player controls and enemy animations that would be controlled through it's AI, in order to make the whole game seem more alive. My major design problem for this unit is that I have no idea how to rig and animate characters in Unity so I need to figure out how animating character models works.
Constraints of the project
The constraints of my project that I will be setting for myself is that the game has to be a 3D action game with 3D animated character models that I designed and made myself. The platforms on which the game will be played on will be Windows and OS X (apple computers).
Context of the project
Character animations and just 3D animations in general are extremely common in 3D games, as they add a greater sense of realism and make the game world feel so much more alive.
In order to get a better idea at how these animations are made and implemented into games I'm going to need to do some research on how it's done by professionals.
The games I can look at for inspiration is basically any action game with 3D characters really.
In order to get a better idea at how these animations are made and implemented into games I'm going to need to do some research on how it's done by professionals.
The games I can look at for inspiration is basically any action game with 3D characters really.
Initial Ideas for the project
For now I'm still kind of wandering on what type of game I should make, it's either going to be first person or third person game, and I might either make a relaxing puzzle game or a fast past action game. I'm also thinking of having a old building type look to the environment of the game. Maybe the game will be set in a dungeon or medieval castle. For now the ideas are still kind of vague but i'm confident that i can pin point the best ideas.
For now I'm still kind of wandering on what type of game I should make, it's either going to be first person or third person game, and I might either make a relaxing puzzle game or a fast past action game. I'm also thinking of having a old building type look to the environment of the game. Maybe the game will be set in a dungeon or medieval castle. For now the ideas are still kind of vague but i'm confident that i can pin point the best ideas.
Deliverables
My main target and goals for this project is to: research different 3D games that show a good range of character animations and fun gameplay, to generate ideas of how my game will work and function, figure out it's genre and theme, create an early prototype of the game with basic and boring 3D models, further develop the 3D character models and animate them for the game, develop and finalise the game.
My main target and goals for this project is to: research different 3D games that show a good range of character animations and fun gameplay, to generate ideas of how my game will work and function, figure out it's genre and theme, create an early prototype of the game with basic and boring 3D models, further develop the 3D character models and animate them for the game, develop and finalise the game.
Evaluation Methods
To evaluate my project I will ask my friends and colleagues to evaluate my ideas and concepts for the game I will be making and once i have any playable versions of the game I will ask them to play test the game in order to get their feedback and modify the game to what they had said about the game.
I could also use surveys online on a gaming forum to figure out if the type of game I'm making would be interesting to a larger audience.
This process will help me to develop the best game I can.
Time scale and plan of each week
Week 1 24th March
Researching existing games that incorporate character animations and similar gameplay to the kind of game I want to make and try and find out how it might have been done.
Week 2 28th March
Research different ways of adding character animations into unity and how to trigger them through a player controller and AI. Potentially follow a few tutorials to achieve and make simple character animations in unity.
Week 3 4th April
Start generating some ideas for the game. start designing the game, what type of game is it? who is it for? is there a story? level design? what art style for the game? ...
do some basic concept art.
Week 4 13th April
Start developing these ideas. Do some more concept art of characters, environment and weapons, think of the character animations and how they would move
Week 5 20th April
Create a very simple and basic prototype of the game, with a simple 3D model and animations.
Week 6 27th April
start making 3D models of the characters, weapons and environment and animate them and then add them into the basic prototype.
Week 7 4th May
Continue the prototype that will then become the finished product, add in all the 3D models and animations and rig everything together.
Week 8 11th May
Start developing even more of the game, create a menu, create a point system, create and add special effect to the game, get bug fixing.
Week 9 16th May
continue development like above.
Week 10 26th of May
Get someone to test out the game, get their feedback and change the problems they issued if it needs changing. continue development.
Week 11 30th May
If the game is not finished, then continue development, but if it is finished get people to play test it like above.
Week 12 8th of June
The game needs to be finished now. Get lots of people to play it and get their feedback and opinions.
Week 13 16th June (Deadline for Unit 06 Final Major Project)
finish anything that is not yet finished and get the game to a 100% playable state with no bugs whatsoever.
To evaluate my project I will ask my friends and colleagues to evaluate my ideas and concepts for the game I will be making and once i have any playable versions of the game I will ask them to play test the game in order to get their feedback and modify the game to what they had said about the game.
I could also use surveys online on a gaming forum to figure out if the type of game I'm making would be interesting to a larger audience.
This process will help me to develop the best game I can.
Time scale and plan of each week
Week 1 24th March
Researching existing games that incorporate character animations and similar gameplay to the kind of game I want to make and try and find out how it might have been done.
Week 2 28th March
Research different ways of adding character animations into unity and how to trigger them through a player controller and AI. Potentially follow a few tutorials to achieve and make simple character animations in unity.
Week 3 4th April
Start generating some ideas for the game. start designing the game, what type of game is it? who is it for? is there a story? level design? what art style for the game? ...
do some basic concept art.
Week 4 13th April
Start developing these ideas. Do some more concept art of characters, environment and weapons, think of the character animations and how they would move
Week 5 20th April
Create a very simple and basic prototype of the game, with a simple 3D model and animations.
Week 6 27th April
start making 3D models of the characters, weapons and environment and animate them and then add them into the basic prototype.
Week 7 4th May
Continue the prototype that will then become the finished product, add in all the 3D models and animations and rig everything together.
Week 8 11th May
Start developing even more of the game, create a menu, create a point system, create and add special effect to the game, get bug fixing.
Week 9 16th May
continue development like above.
Week 10 26th of May
Get someone to test out the game, get their feedback and change the problems they issued if it needs changing. continue development.
Week 11 30th May
If the game is not finished, then continue development, but if it is finished get people to play test it like above.
Week 12 8th of June
The game needs to be finished now. Get lots of people to play it and get their feedback and opinions.
Week 13 16th June (Deadline for Unit 06 Final Major Project)
finish anything that is not yet finished and get the game to a 100% playable state with no bugs whatsoever.
----------------------------------------------------------------------------------------------------
Introduction to the unit and what I will be planning on doing.
Unit 6 is the final major project of the year where we (the students) get to create what ever we want that is an interactive designed project. I have decided that i wanted to create a game with unity as I am very passionate about making games and games development is the career path I am choosing to follow, I also think I could do a good job at making a short simple fun game.
In this unit we are required to do research about the project we have decided to make and then we need to design and develop it and finally have it tested by users.
----------------------------------------------------------------------------------------------------
Thinking of the type of game I want to make
For now all I have decided is that I want my game to have 3D animated characters, I haven't yet decided whether I'm going to make the game 1st or 3rd person or what type/genre of game it's going to be. After some thought about what type of game I wanted to make a concluded that I wanted to make a hack and slash type of game where you fight your way through hordes of enemies with a sword (or some other kind of melee weapon).
Hack and slash games are games that involve fighting through lots of enemies usually weapons such as swords and other melee weapons.
Research on existing games that I want my game to be similar to
Different ways video game animation are made
Animating via animation software
Motion capture
what is it?
------------------------------------------------------------------------------------------------------------
Quick game ideas
I have decided to go with Idea #2 as it seems to be the most ideal game to make with in the time-scale that I have to make the game and my current knowledge of unity, C# and animating.
Designing and refining Idea #2 (aka the design document)
Introduction to the unit and what I will be planning on doing.
Unit 6 is the final major project of the year where we (the students) get to create what ever we want that is an interactive designed project. I have decided that i wanted to create a game with unity as I am very passionate about making games and games development is the career path I am choosing to follow, I also think I could do a good job at making a short simple fun game.
In this unit we are required to do research about the project we have decided to make and then we need to design and develop it and finally have it tested by users.
----------------------------------------------------------------------------------------------------
Thinking of the type of game I want to make
For now all I have decided is that I want my game to have 3D animated characters, I haven't yet decided whether I'm going to make the game 1st or 3rd person or what type/genre of game it's going to be. After some thought about what type of game I wanted to make a concluded that I wanted to make a hack and slash type of game where you fight your way through hordes of enemies with a sword (or some other kind of melee weapon).
Hack and slash games are games that involve fighting through lots of enemies usually weapons such as swords and other melee weapons.
Research on existing games that I want my game to be similar to
Shadow warrior (the remake): Shadow warrior is a game all about killing your way through many hordes of demons from a different realm. The game is mainly a first person shooter but it has many different weapons for you to chose from to kill your enemies, but one weapon stands out a lot from the rest and that is the samurai sword that you acquire near the beginning of the game. The thing that makes the sword fighting in this game so good is the sword mechanic and the fact that when you attack an enemy with a sword you can literally cut them up into pieces which is very satisfying to do.
Quick Warning, this game is extremely gory and violent
I'm not planning on making a game like Shadow warrior but the whole slashing your way through hordes of enemies with a sword is something that I really want to have in my game, as I think it gives the player a feeling of great power. And all the animations in this game are very professional and well made with a high amount of detail an realistic textures, they were probably made using very high end quality software like Autodesk Maya and such. For my game i'm not really looking to make such high quality models as they are very hard to make.
SuperHot: SuperHot is a first person shooter that has a very special time mechanic where when you move time also moves but when you stop moving time slows down a lot. This game is also a horde fighting game were many enemies come to attack you and you have to kill them all in order to win.
This game is not really a hack and slash but it does have a nice and simple art style and a katana that you can use in some levels. The katana fighting is also very satisfying in this game. The animation in this game are nice, simple and effective, the most complex "animations" that happen are when the enemies die, they explode into lots of pieces, (I put animations in "" marks because it's not actually a hand made animation it's more of a random particle effect that is triggered when the character is dying, but it still kind of counts as an animation). The simple models and animation in the game is a lot more like the type of art style I will want to have in my own game is it's a lot easier to make then something complex.
Darksouls: Darksouls is a 3rd person hack and slash and exploration type of game with a much slower combat mechanic then the games above. This game is popularly known for being a very difficult game that constantly punishes the player with harder and harder challenges. The game is set in a medieval fantasy kind of world so the weapons in this game stays old fashioned with swords and maces and other old melee weapons.
I really like the medieval and fantasy aspects of Darksouls and I want to have a similar kind of setting in my own game as I think it would be fun to make/do and it would generally look good. The animations in this game vary from monster to monster and are all very good and professionally made and it also inspires me to want to make some cool animated monsters that you would have to fight in my own game. I also really like the tactical slow combat style as you have to stay very vigilant of your health and stamina in the game as the monsters tend to do quite a lot of damage.
Chivalry Medieval Warfare: Chivalry Medieval Warfare is a first person multiplayer medieval sword fighting game. This game is entirely about the old medieval way of fighting. The game has different gamemodes and objectives to play from and it's usually a team vs team kind of situation with objectives that the teams need to accomplish to win the match. the game has a very fun and fairly strategical way of playing it. When fighting with a sword (or other melee weapon) you have the choice to attack in many different way and doing many different swings, including different ways of blocking the enemy's attacks.
The gameplay in this video is just a 1v1 duel
This game is a great example of good sword play in a videogame. the combat mechanics in this game are great and I would love to create something as good as this combat mechanic but it's quite complex and it would be very hard to make but it's great for getting some inspiration on the way it works. Also the the sword swinging animations for this game are decent and generally really good. The 3D models are also very nice especially the cool metal gauntlets that you see in front of you.
Necropolis: Necropolis is a third person roguelike hack and slash type of game. It is yet to be released but it looks like a great game. It's set in a dungeon like ruins type of world where the aim of the game is to explore find loot and escape the Necropolis. The games fighting style seems to be similar to darksouls but slightly faster pace with more monsters.
------------------------------------------------------------------------------------------------------------
This game is a lot more like the type of game I want to make. I find the art style to be quite simple yet at the same time very good looking, the character animations are very nice and the sword fighting looks great. In general I want the game that I am going to be making to look and feel somewhat similar to this game.
Different ways video game animation are made
Animating via animation software
Videogame animations are usually made with the use of 3D animation software like Cinema4D, Blender, Maya...etc but by big studios they might be created with the help of motion capture tools and software, but I will be talking about that later.
Making animations for videogames is a lot different from making animations for a movie, as you are not creating an animated story for the consumer to sit back and watch, instead you are creating an animated world/character/story for the consumer to control and play with.
When watching an animated film everything is predetermined and will play out as it should, but in a videogame (depending on what game you are playing) nothing is predetermined as the consumer is the one "controlling" the story, so the animators of the game need to account for every action that the player might take when playing the game and create an appropriate animation for it.
This means that videogame animators create lots of short animations to be triggered by the player depending on what the player is doing in the game. For example when you press A on a controller to swing the character's sword forwards, the animation that shows the character swinging it's sword is just one short and separate animation to when the player presses B to block with the character's shield which is another short and separate animation.
When watching an animated film everything is predetermined and will play out as it should, but in a videogame (depending on what game you are playing) nothing is predetermined as the consumer is the one "controlling" the story, so the animators of the game need to account for every action that the player might take when playing the game and create an appropriate animation for it.
This means that videogame animators create lots of short animations to be triggered by the player depending on what the player is doing in the game. For example when you press A on a controller to swing the character's sword forwards, the animation that shows the character swinging it's sword is just one short and separate animation to when the player presses B to block with the character's shield which is another short and separate animation.
how are the animations made?
For the sake of explaining this I will only be talking about how somebody would animate a 3D character doing a swinging sword attack animation.
So to create a swinging sword attack animation you would need to plan the movements of the character before actually starting to animate so you know exactly how the character should be moving when attacking, to do this you would sketch out all the major poses in the right order, from start of the attack to the end of the attack where the character moves back into it's original position.
(a bit like in the image below)
You would then go on to recreating all these major poses in the animation software with the player model, and then you would add animation tweens between each pose to create the animation. You would then need to readjust and refine all the movements to make them seem more believable.
Motion capture
what is it?
Motion capture (Mo-cap for short) is the process of recording the movement of objects or people. It is used in military, entertainment, sports, medical applications, and for validation of computer vision and robotics. In filmmaking and video game development, it refers to recording actions of human actors, and using that information to animate digital character models in 2D or 3D computer animation. Info taken from wikipedia
Why use it over typical 3D animation techniques
Motion capture animations are commonly used in high-end triple A games, the reason for this is because they typically create a lot more realistic animations in terms of movement, as the process involves recording real-life movements from actors, this also makes the animations a lot easier to create instead of having to hire a lot of 3D animators to manually animate the characters with 3D animation software. Mo-cap animations are created in mo-cap studios with the help of many special motion capture cameras, Mo-cap suits and actors who wear the suits and perform the movements.
Motion capture studio |
What will I be using to make animations?
Unfortunately I don't have a Mo-cap studio at my disposal so instead I will be using some kind of animation software, either Cinema 4D or blender, I could also potentially learn to use other software like Maya but doing might just be a waste of time.
This is what I ended up making with som standard unity assets
Learning how to use animations in Unity
In order to learn how to use animations in unity I decided to follow a tutorial to learn the basics.
I followed THIS tutorial which taught me how to apply animations to a character model and then control animations with the animator and C# code.
I followed THIS tutorial which taught me how to apply animations to a character model and then control animations with the animator and C# code.
------------------------------------------------------------------------------------------------------------
Quick game ideas
Idea #1
An endless fighter/slice em' up in which the player is in a area where an increasing amount of enemies keep on coming to attack you and the aim of the game is to fight off as many enemies as possible with a sword/katana. The game is unbeatable but would have a scoreboard showing different player scores to show either how many enemies they killed or how long they survived for. the game would probably be in first person but could also work in third person.
Idea #2
Gladiator style game where the player is in an arena and needs to fight their way to victory. The player will be put up against different types of enemies of ranking difficulty, the first few enemies could be normal humans but as the player progresses they need to fight stronger and scarier foes like mythical creatures such as a Minotaur. The game would have a similar fighting style to the game "Dark Souls" and would be better played in third person.
Idea #3
An exploration/fighting game where you explore a dungeon or ruin looking for treasure (or something else), and while you are searching you get attacked by different types of monsters and creatures that dwell in the ruins. The game could either be first or third person.
I have decided to go with Idea #2 as it seems to be the most ideal game to make with in the time-scale that I have to make the game and my current knowledge of unity, C# and animating.
Designing and refining Idea #2 (aka the design document)
Name of game: The King's Arena
Type of game: short, 3D, third person, Action, hack and slash
Player's objective in the game: To defeat all enemies that are put up against them in the Arena!
Story:
Idea #1
You play as *insert character name here* who is a member of the rebellion who wants to over throw the "Mad King" who has been treating the kingdom's people unfairly by raising the kingdom's tax and burning the houses of anyone who wouldn't pay tax. *insert character name here* was captured by the Mad King and put into an Arena to fight to the death with all kinds of horrific creatures, all for the king's own amusement.
Idea #2 (the chosen story)
You play as *insert character name here* who is a thief and assassin who was hired to assassinate the King by the rebellion. Unfortunately you were caught snooping around the King's castle and you were captured by the King's guards. The King gives you the choice to either be executed or put onto trial by the gods in an Arena fight to the death, with all kinds of horrific creatures.
Idea #1
You play as *insert character name here* who is a member of the rebellion who wants to over throw the "Mad King" who has been treating the kingdom's people unfairly by raising the kingdom's tax and burning the houses of anyone who wouldn't pay tax. *insert character name here* was captured by the Mad King and put into an Arena to fight to the death with all kinds of horrific creatures, all for the king's own amusement.
Idea #2 (the chosen story)
You play as *insert character name here* who is a thief and assassin who was hired to assassinate the King by the rebellion. Unfortunately you were caught snooping around the King's castle and you were captured by the King's guards. The King gives you the choice to either be executed or put onto trial by the gods in an Arena fight to the death, with all kinds of horrific creatures.
Art style: The art style will be quite minimalistic with simple geometry and textures.
Example of other games that I want my game to resemble in a similar way: Super Hot, Necropolis, Sea Of Solitude and Grow Home.
Example of other games that I want my game to resemble in a similar way: Super Hot, Necropolis, Sea Of Solitude and Grow Home.
Game mechanics: A list of the main game mechanics that will be in the game.
Camera: The game will be a third person experience so the camera will need to be following the character around from a 3rd person angle.
Player and animations controller: The player controller is what will be allowing the player to control and move the ingame character, and will have certain restrictions on what the player can do and can't do in the game. The player controller will also be activating and changing the player model's animations, through the animator. (more about this in the "Controls" section)
Fighting/combat mechanic: Since the game is going to be a fighting game it will need combat mechanics and rules to be put into place.
Health system: The player will need to be able to to die after a certain amount of damage taken in order to lose the game, so a health bar will be necessary.
Camera: The game will be a third person experience so the camera will need to be following the character around from a 3rd person angle.
Player and animations controller: The player controller is what will be allowing the player to control and move the ingame character, and will have certain restrictions on what the player can do and can't do in the game. The player controller will also be activating and changing the player model's animations, through the animator. (more about this in the "Controls" section)
Fighting/combat mechanic: Since the game is going to be a fighting game it will need combat mechanics and rules to be put into place.
Health system: The player will need to be able to to die after a certain amount of damage taken in order to lose the game, so a health bar will be necessary.
Level Design: The game will only include one level in which you play in.
The level is a Roman like arena in which you the player have to fight enemies in order to win.
The arena will look quite old and will have multiple stone doors around the walls from which the monsters/enemies will come from.
The level is a Roman like arena in which you the player have to fight enemies in order to win.
The arena will look quite old and will have multiple stone doors around the walls from which the monsters/enemies will come from.
The player/character: In the game you will be playing as a thief and assassin. The character's origin is unknown.
The enemies/monsters and AI: I'm hoping to have different types of enemies instead of just one type, but this will depend on how much time I have left to spare on creating enemies. So for now the goal is to have a least one type of enemy.
If I do have enough time this is what I will make
Enemy #1: 5 ghouls or goblins
Enemy #2: 3 hellhounds
Enemy #3: 1 Minotaur or troll
Enemy #4: a mix of previous enemies
Enemy #5: 1 Chimera, manticore or another made up creature of my own design
If I do have enough time this is what I will make
Enemy #1: 5 ghouls or goblins
Enemy #2: 3 hellhounds
Enemy #3: 1 Minotaur or troll
Enemy #4: a mix of previous enemies
Enemy #5: 1 Chimera, manticore or another made up creature of my own design
UI/menu system: The main menu will look quite simple with not many options to choose from. The main menu will be showing the main character alone in the arena with a nice camera effect (like the background is slightly blurred) and in the top right corner area there will be a main title with a play button and a quit button underneath.
The ingame UI, will be the health and stamina bar, a time counter and when the button Esc is pressed the game will pause to show a menu with the options: replay, back to main menu, quit.
Controls: The main controls for this game will be keyboard and mouse but if I have the time I really want to add controller support as i think it would be much nice played with a controller.
Keyboard and Mouse control scheme:
Keyboard and Mouse control scheme:
- forwards = W
- backwards = S
- to the right = D
- to the left = A
- Running = hold Left Shift
- Dodge = alt or double tap S -- this was changed to be the roll dodge that is activated with right click
- camera/viewing angle would be controlled with the mouse
- different attacks with left mouse button.
Additional content: A quick list of additional content I would really like to add into the game but might not have enough time to do so.
Before making the 3D models of the monsters and character, I decided that it would be best to get use to blender by making a basic humanoid model and go through the process of rigging it and setting it up in unity and also make a prototype of the player controller.
when I first started using blender it was a little bit frustrating as I wasn't use to it at all. But after a while I quickly got use to the way it functions and I am now enjoying it quite a lot.
I then used a website called Mixamo which has a auto-rigging tool, which automatically rigs humanoid models to save time. I tested out some of their poses in Mixamo after rigging the character and it turned out pretty well. There were some issues with skin clipping but that was because my model wasn't perfect and could of been improved.
3D modelling this character took a while time to make that's why i decided to model it at home instead of in college as I could use the latest version of Blender, have more processing power from my PC, and easily record footage of the development.
The final model
17/05/16 Creating hit-boxes and more AI for the Beast
A lot of games have amazed me when it comes to hit-boxes as I never really understood how they worked/functioned, until I saw this video that clearly explains how they work (I highly recommend that channel if you are into game development). After watching this video I had instantly thought of an awesome way to create precise hit boxes by adding multiple hit-boxes to each major body part and attach them to the character's rig so they move with the character's animations instead of being static.
- Controller support
- More enemies
- cut scene at the beginning of the game explaining the story
- dramatic death effect, for when the character dies -- I kind of managed to do this
------------------------------------------------------------------------------------------------------------
starting development + learning the basic of Blender
Before making the 3D models of the monsters and character, I decided that it would be best to get use to blender by making a basic humanoid model and go through the process of rigging it and setting it up in unity and also make a prototype of the player controller.
when I first started using blender it was a little bit frustrating as I wasn't use to it at all. But after a while I quickly got use to the way it functions and I am now enjoying it quite a lot.
To create my basic character I used some simple body proportions image from the internet to you as reference for good dimensions. I then traced the images of the body with a symmetrical cube to acquire a similar body shape, I then changed from view to view to sculpt out the general form.
I decided to add the face in last for some reason...
The finished model
I then used a website called Mixamo which has a auto-rigging tool, which automatically rigs humanoid models to save time. I tested out some of their poses in Mixamo after rigging the character and it turned out pretty well. There were some issues with skin clipping but that was because my model wasn't perfect and could of been improved.
I then dowloaded the animations I wanted to use in unity for later.
Texturing
I baked the model with ambient occlusion, doing this gives the model some soft shading texture to make it look smoother and more realistic.
I then took the texture and it's UV and modified it in Photoshop to make it look like a test dummy.
The reason it's a test dummy is because the model was only made for testing purposes and I will be making a completely different model for my final character.
Animating the character, using it's rig.
The yellow bars on the right are tween animations for each bone.
I had to watch a couple of videos so I could get the basics of how animating works in blender but and then I made this simple head scratching animation below.
After making this animation I quickly realized that I wouldn't have the time to make all the animations I need for my game, as animations are very time consuming to make.
So I decided to use THIS free animation pack from the unity asset store.
Making a claymore sword
Later I made a claymore sword for my character.
It was fun and simple to make and to texture.
This is what my test dummy looks like in
Unity with the sword and in an idle animation
------------------------------------------------------------------------------------------------------------
Development Log(s)
From here on out I will mainly be updating this post with short
Dev Logs for each time I make some significant progress on my game
20/04/16 - creating the camera controller
To create the camera controller I followed THIS tutorial and then edited some of the code to adjust it to my own preferences.
For now the Camera can clip through game objects and I might change it later so it would collide instead in order to keep a better view on the player.
23 & 24/04/16 - Figuring out movement
During these 2 days I went through a bunch of different tutorials to learn how to make a good character controller that would do the things I wanted it to do. This took a lot of time because I couldn't find any good documentation that would help me with my problems.
Eventually I found some code on a forum that worked very well but I had to adjust and edit some of the code for my own preferences.
For now the player doesn't have anything applied to it, but that's what I will be working on tomorrow.
Prototyping scene to experiment with collisions and character movement
25/04/16 - Applying animations to character movement
Today I applied all the core movement animations from Mixamo's character animation pack.
To do this I had to create a animation controller using Unity's Mecanim animation tool, the controller allows for smooth animation transitions and much more.
This is the controller that links up each animation together
This is a blend tree that I created for all the major movement animations.
The blend tree blends different animations together to create a mixed animation, so for example, there is no strafing animation so if you pressed "W" and "D" to strafe it would mix the forwards walking animation with the sideways_right walking animation and creating a strafing animation.
I then made a quick manoeuvrability test scene to see how well the character looks when moving around different terrain.
And finally I made a quick video that shows everything I did today
So far it looking real good and I'm happy with the progress I made
26/04/16 - Fixing movement issues
Today I managed to fix the "bug" that allowed my character to move while it was doing its attack animation. To fix this I made the player's Horizontal and Vertical inputs to 0 (this makes my player stop as it can no longer move and those axis) whenever the attack animation was in play, it was done all with a simple "if" statement, this took me quite a while to figure out.
27 & 28/04/16 - Main character concept art and 3D model
It was now time to design and create the main character for my game.
The story I wrote for the game has the main character as a thief and assassin so I wanted my charterer to look like sneaky thief.
As I was designing the thief and looking up reference material i thought that it would be best if my character was skinny hooded thief, but have it quite exaggerated for a more stylised outcome.
I created 3 different designs for the thief and I chose the one I liked most which was #2.
I then went on to refining the design and creating a front view and side view
to use for modelling. Doing this helped a lot.
Speed video of how I made the character model
3D modelling this character took a while time to make that's why i decided to model it at home instead of in college as I could use the latest version of Blender, have more processing power from my PC, and easily record footage of the development.
The final model
What the model looks like in game with animations
The textures that are applied to it are temporary for now
30/04/16 Adding Ambient Occlusion, and texturing the main character
Today is the day I texture my main character.
Before I could do any texturing I had to cut seams into my model in order to have a laid out mesh of the model to add textures to it. I cut out each major body part and then baked the model with Ambient Occlusion to give it a plain shaded texture in order to make it look a bit more realistic.
I then went into Photoshop with the AO (Ambient Occlusion) textures and applied some simple colour to them and made the character's clothing look like the type of thing a thief would wear.
What the character looks like in-game
I'm very happy with the way it turned out. And when i showed it to a few friends they all told me he looked "too" skinny, which is great because that's how i wanted people to see him.
I'm very happy with the way it turned out. And when i showed it to a few friends they all told me he looked "too" skinny, which is great because that's how i wanted people to see him.
02/05/16 Fixing an annoying bug
Unfortunately today I didn't get much done as I got extremely distracted on this small bug that was causing a minor issue. The bug was causing an annoying "Jitter" to the camera whenever the character was moving forwards. The reason it took me so long to fix is because what I thought was causing the jitter was actually something else, so I spent a lot of time messing with the wrong thing.
¯\_(ツ)_/¯ Oh well at least it's fixed now. The problem had to do with some Camera rotation code being in the "LateUpdate" instead of the normal "Update".
03/05/16 Rolling dodge move!
It was time that I made a quick and evasive move for the player. The move is meant for the player to duck and roll quickly out of the way of attacks and it also makes the player's hit-box smaller which allows the player to roll under certain objects that are too low.
The animation that I use was found on the Mixamo website.
Gif showing off the new dodge and roll |
05 & 06/05/16 Health and Stamina bars
Today and yesterday I worked on making Health and Stamina bars to measure the player's health points and to restrict the player from being able to run and roll forever without consequences.
For now they look very basic and need some polishing, but they function as intended.
At some point I will make a video showing them off.
08/05/16 Some polishing and adjusting
Today I polished up the stamina and health bars by giving them better and more appropriate sprites and better settings/adjustments in the code. I also went on to adding a death animation for when my character's health reaches 0.
The new UI sprites |
I took some time to create some nice UI bar sprites in Illustrator and then I imported them into unity. Doing this actually taught me a lot more about how Unity deals with sprites and images for it's UI system so it was nice and simple to do and learn.
Here is a video showing off all the new features.
10/05/16 Designing the enemy boss
It is now time I worked on the enemy of the game. Recently I have been thinking about the enemies of the game and I had realised that I planned to make way too many monster than I could in the time I have, so I have decided that I will be making my game into a hack and slash boss fight game where you only need to fight a single boss. So today I drew up some potential concept idea for the boss.
As you can see from the drawings I wanted my creature to have some kind of horned feature wether it was tusks or horns or even both. I wanted the monster to also look big and menacing like something an evil king would have in his dungeons.
Ideas #1, #2 and #3
Idea #4
Idea 5#
Idea 6#
In the end i decided to go with idea #5 as I thought it looked the most interesting with it's triceratops like crest, it looks like the type of beast the king would own in his arena pit for his own entertainment.
11/05/16 3D modelling the King's Beast
Today I created the base model for the monster's. The base model is just the model in it's simplest form without much detail, this usually doesn't take too long to make as it's fairly simple.
12/05/16 Finishing up the King's beast model
Today I decided to stay home so I could really focus on finishing up the model by adding all the cool detail. check the video out to see the whole process.
This is the creature rigged up and animated with a
monster walk cycle, I think it looks very nice.
Video time laps of how I made the beast
15/05/16 Texturing the beast and checking it in Unity.
Now that the beast's model has been made today I will texture it by cutting seams out of each major body piece and then create a UV and AO maps to then be used in photoshop for further development.
This is the model with an AO (Ambient Occlusion) texture. Baking a model
with AO is just a way of giving it a shaded and realistic look for the texture.
In photoshop I edit the the AO to be all red apart from the bones/tusks/horns.
But i didn't think this made the Monster look detailed enough so I went on to try and add more detail.
I decided to overlay a reptilian scale texture on top to make
it look like some dragon monster. I don't think i did the best job at making the texture but for now this texture will do, if I have more time after finishing the game I might consider redoing the texture.
This is what the beast looks like in the game and I think it looks pretty good.
16/05/16 Making movement AI for the beast
Today I worked on creating a simple chasing AI script which allowed the Beast/Monster to pursue the player at a walking pace with a walking animation. To create this I followed a basic tutorial.
The AI uses a special pathfinding tool to navigate around the physical meshes so it won't just walk thought them and will actually seek to move around them instead.
17/05/16 Creating hit-boxes and more AI for the Beast
A lot of games have amazed me when it comes to hit-boxes as I never really understood how they worked/functioned, until I saw this video that clearly explains how they work (I highly recommend that channel if you are into game development). After watching this video I had instantly thought of an awesome way to create precise hit boxes by adding multiple hit-boxes to each major body part and attach them to the character's rig so they move with the character's animations instead of being static.
This ended up working really well.
18/05/16 Damage can now be taken when hit by the monster and more AI tweaks for the Beast
to make this I used a OnTriggerEnter function to detect if the monster's left hand had punched the player.
19/05/2016 Today I tried to fix a bug
Today I tried my best to fix a bug which wouldn't play an attack animation properly when triggered, but I was unable to find a fix. I posted a questions on the unity forums to see if anybody with more knowledge could help me out.
Actually forget what I wrote above! I fixed it now! YAY! and without the help of the community!
22/05/16 Polishing and the enemy's AI
Today I fixed a few issues that the enemy had with turning around when the player was behind it.
I also tried to add a turning animation but that failed and I think it would be fine if it didn't have a turning animation.
23 & 24/05/16 Continued to work on Enemy AI and attacks
Today I just continued to work on the enemy's AI and attacks and it's still a bit clunky but I'm slowly getting there. I'm still going to need to work on it's AI and attacks just so the fighting feels right but once I'm done with that I can get with giving the enemy some health and a way of dying.
25/05/16 Adding health to the enemy and a way to die
Here is a video of the current game
slow motion death w/ death screen
15/06/16 More Camera effects and a main menu
Today I worked on creating a nice menu, to quickly explain the game and then let the player start the game when they are ready.
User comments on the Final game
Comment #1
+ fluid aniamtions, nice health bars, basic and functional menu
- kinda clunky attacking and dodging, basic textures and not much else with the art side, monster looks unoriginal, was not scared of monster.
Comment #2
I like the concept, it's fun and enjoyably to play, but it's a bit easy, and you can still get hit and lose health even when the beast doesn't seem to attack, also the stamina regen is a little slow.
But over all I think its a good game.
To improve the game you could add more monsters an different weapons/classes with special abilities.
Comment #3
It's nice, but there is no pause button and the gameplay doesn't seem very fluid but i really like the taunt button.
Comment #4
Good Game, but I thought it was too easy, all i needed to do was walk around the monster and hit it whenever it attacked. The controls are really nice!
After having these people (mostly my friends) play test my games and then talk to them a bit more after about it, they all suggested some similar things, one of the main things was it's being slightly to easy and unbalanced, with their help i managed to balance it a bit more and make it more challenging. I had a few of them replay it and they agreed that it was better now.
I started off with thinking of making an arena 3rd person hack and slash game with waves of different enemies coming in the arena to attack you. But what I ended up with is an Hack and slash 3rd person arena boss fight game. So I think my outcome was quite successful.
Also the way I went about making the game was pretty well thought out, as I started making the base/foundation of the game before any of the artwork and 3D models. My first objective was to make a playable character that can walk around, run and roll, then it was to create an enemy that could follow and attack the player, and after that I heavily worked on Gameplay and making sure the fighting worked the way it should, and once it did, then I would work on all the artwork and 3D models that were needed to make the game look more appealing.
Over all I am very happy with the way this game turned out and i can't wait to make more games with the new knowledge I have acquired while making this game.
If I had more time to really finish this game off, I would work on the sound as I think it's quite poor and I would make sure the hit boxes worked properly as they are a bit clunky, I would also really want to fix the Arena's texture and try and make it look nicer with more detailed look and finally i would rework the combat system as I now know of quite a few ways it could be improved.
to make this I used a OnTriggerEnter function to detect if the monster's left hand had punched the player.
19/05/2016 Today I tried to fix a bug
Today I tried my best to fix a bug which wouldn't play an attack animation properly when triggered, but I was unable to find a fix. I posted a questions on the unity forums to see if anybody with more knowledge could help me out.
Actually forget what I wrote above! I fixed it now! YAY! and without the help of the community!
22/05/16 Polishing and the enemy's AI
Today I fixed a few issues that the enemy had with turning around when the player was behind it.
I also tried to add a turning animation but that failed and I think it would be fine if it didn't have a turning animation.
23 & 24/05/16 Continued to work on Enemy AI and attacks
Today I just continued to work on the enemy's AI and attacks and it's still a bit clunky but I'm slowly getting there. I'm still going to need to work on it's AI and attacks just so the fighting feels right but once I'm done with that I can get with giving the enemy some health and a way of dying.
25/05/16 Adding health to the enemy and a way to die
Today I made some really good progress, I added a heath bar to represent the monster's health, I readjusted some AI stuff and other small settings, Added a way for the enemy to die and for fun I added some camera effects, Bloom and anti Aliasing to make the game look nicer.
26/05/16 Working on player combo attack
Now that I have a way to damage the enemy I need to fix and create the combo attack that I want the player to be able to do.
The way that the attack would work is that it is triggered by how many times you click with the left mouse button while the animation is playing, so if you click once you will do a normal swing attack to the left, if you click again while the first animation is in play you will make a second swing to the right, and if you click a third time while the 2nd swing animation is in play you will make a high damage overhead swing attack.
I already had the combo animation, but all 3 attacks were in the same animation so needed to find a way to separate each attack in it's own animation file, so I could use them separately.
It took me a while to finding a solution to the problem but eventually I found a way.
29/05/16 Finishing up the fighting system and a look at my code
The fighting system is now finished, it's still a bit rough in certain places but it all works as intended so I will start working on something else now.
For the past week or so I had been working on the whole fighting system to make it feel as nice as possible as it is the main feature of the game.
Video of my current game build
Seeing as most of my time developing this game is spent writing code, I think that I should talk a bit about how I write my code and what methods I apply to keep everything organised and easy to understand. Here are some screenshots of my Player script, this entire script allows my player to do everything it can do.
This first screenshot shows the beginning of the file, all the things you can see underneath Public Class are Variables (as you can see by the comment), These variables allow for vreating and storing important information like the character's run speed, walk speed and roll speed, all these variables are used for different purposes in order to make the character playable.
This Screenshot shows all the methods that come after the variables. The methods are basically functions and systems that use the variable's information for different purposes. In the screenshot all my methods are collapsed/folded to save space and each method has a comment above it to explain what the method does to remind myself or to potentially tell somebody else what it does.
05 & 06/06/16 Making the arena/main map
Quick prototype of the arena map
Before I started to make the map in blender I decided to create a quick rough arena map with Pro Builder Basic (Pro Builder Basic is a unity addon that allows for map prototyping).
I just made a very simple closed arena to get some kind of an idea on how
the arena should look and to see how well it would work when playing in it.
Making the final map
To make the final arena I used Blender.
After testing out multiple different ideas I decided that it would be best to have an open roof arena for better lighting and just to make it a bit more aesthetically pleasing.
I wanted the map to look unique in some way so a gave it these arches that make it stand out a lot more. other than that the map looks quite generic.
Finished map in Unity
Here is what the final map looks like in unity and without textures/materials.
07/06/16 adding simple textures and sounds + music to the game
Simple textures
Unfortunately the way I created the arena in blender makes it tricky to apply textures within Unity so I decided to texture the map with simple Unity materials to save time.
adding sounds and music to the game
I started to add some sounds for when my character performs actions.
So far I have implemented sounds for:
- all 3 character attacks
- hitting the enemy
- character taunt/roar
List of sounds I still need to add
- walking
- running
- enemy attacks
- enemy roar
- character death
- enemy death
- hitting the character
Here is a video of the current game
13 & some other days/06/16 Working on sound and small adjustments
Lately I got waaay to caught up on trying to make certain sounds work properly and I kind of wasted my time on trying to make them work properly. The walking and running sound for the player weren't able to be added to the some technical issues, the main problem was because i didn't envision sound when I made the player's movement system. So for these reasons the main player and monster won't have any walking sounds.
After realising I had wasted so much time I kind of rushed the other sounds i made, and re-purposed others which makes it sound less appealing, but really they just act as placeholder sounds for if i ever get around to making some proper sounds (which I won't because the deadline is soo soon)
Video showing off all the sounds
14/06/16 adding some more features and a death screen
A feature that I was asked to do when i had people test out my game was that i should make the monster walk away from the player's corpse after they die, so that's what i did. Now when the player dies the monster will storm off back into it's cage like the well trained monster it is.
slow motion death w/ death screen
15/06/16 More Camera effects and a main menu
Today I worked on creating a nice menu, to quickly explain the game and then let the player start the game when they are ready.
working on the main menu
To make the buttons i used the basic Unity UI buttons,
they are super simple and easy to customise and use.
Made a quick title in Illustrator
After I had made the main menu, I realised that the menu looked a lot nicer than the game thanks to all the camera effects so I quickly decided to add some extra camera effects to the game's Main camera. This helped a lot in making the game feel more appealing. the effect that helped out most was the colour correction effect.
Adding some more camera effects to make the game look nicer.
Before
After
16/06/16 Adding in some extra decorative pieces to the arena
Just to make the whole map look more visually pleasing i added a few small things.
cobble stone flooring.
For fun a wanted to have a pile of skulls and bones in the monster's cage... so that's what I did
made in blender
Ambient occlusion textures.
The bone models duplicated on a mesh with a bones pile texture.
2 small piles of bones can now be seen in the monster's cage.
User comments on the Final game
Comment #1
+ fluid aniamtions, nice health bars, basic and functional menu
- kinda clunky attacking and dodging, basic textures and not much else with the art side, monster looks unoriginal, was not scared of monster.
Comment #2
I like the concept, it's fun and enjoyably to play, but it's a bit easy, and you can still get hit and lose health even when the beast doesn't seem to attack, also the stamina regen is a little slow.
But over all I think its a good game.
To improve the game you could add more monsters an different weapons/classes with special abilities.
Comment #3
It's nice, but there is no pause button and the gameplay doesn't seem very fluid but i really like the taunt button.
Comment #4
Good Game, but I thought it was too easy, all i needed to do was walk around the monster and hit it whenever it attacked. The controls are really nice!
After having these people (mostly my friends) play test my games and then talk to them a bit more after about it, they all suggested some similar things, one of the main things was it's being slightly to easy and unbalanced, with their help i managed to balance it a bit more and make it more challenging. I had a few of them replay it and they agreed that it was better now.
Final Evaluation
Overall I think my approach to the design cycle for this project has been very well executed.I started off with thinking of making an arena 3rd person hack and slash game with waves of different enemies coming in the arena to attack you. But what I ended up with is an Hack and slash 3rd person arena boss fight game. So I think my outcome was quite successful.
Also the way I went about making the game was pretty well thought out, as I started making the base/foundation of the game before any of the artwork and 3D models. My first objective was to make a playable character that can walk around, run and roll, then it was to create an enemy that could follow and attack the player, and after that I heavily worked on Gameplay and making sure the fighting worked the way it should, and once it did, then I would work on all the artwork and 3D models that were needed to make the game look more appealing.
Over all I am very happy with the way this game turned out and i can't wait to make more games with the new knowledge I have acquired while making this game.
If I had more time to really finish this game off, I would work on the sound as I think it's quite poor and I would make sure the hit boxes worked properly as they are a bit clunky, I would also really want to fix the Arena's texture and try and make it look nicer with more detailed look and finally i would rework the combat system as I now know of quite a few ways it could be improved.