Thursday, 25 January 2018

Third Person Shooter: Development 1 - Building a Level & Cameras

Today I made a start on my third person shooter project. I'm in the process of block mapping a quick level for the player to run and jump around in. Here I can make a start on figuring out how the player should move around in both Haste Style and Strike Style.




Along with that the cameras for both haste and strike style are set in place. Pressing the right shoulder button on a controller will activate style change. Upon switching styles the camera will locate to the appropriate position.

Haste Style

Right now the camera is positioned a decent distance away from the player. They have full manual control with the right analog stick and I changed the default sensitivity so the camera moves a little faster. The camera also auto adjusts dependent on the players movement so they don't have to worry about camera control all the time during gameplay.


Strike Style

During strike style the camera moves closer and the aiming crosshair will appear (crosshair not yet shown). Clicking down the right thumbstick on a controller will switch which shoulder the camera is positioned on. This can be used as a preference for people who are left handed as well as allow players to look around corners on either side of the player.

When changing to Strike Style the camera will assume this position, the crosshair will appear in the centre of the screen when I get to adding it in. The camera defaults to being positioned on the right side of the player.

Clicking the right thumbstick changes which shoulder the camera is positioned on. Players can switch for preference as well as situational points where the player wants a different vantage point or to see around a corner.
That's all for today, tomorrow I'll further block map the level and make a start on getting the player's movement and mechanics working during Haste Style.

Wednesday, 24 January 2018

Third Person Shooter Idea Generation

Today was spent brainstorming about what features I would like to include in the shooter I'm creating. I've written it all down into a notebook but I'll type it all out here and show what I came up with.

Story/Main Character/Context

While not super important for the gameplay I thought about what the context would be for needing to shoot enemies. A playable character could be scrambled together too based on the context of the game, their environments and what they are capable of.

#1 You play as a secret military creation. A being created by humans using an mysterious alien energy resource. You were created to become the ultimate weapon, a perfect foot soldier, a one man army. Using your various alien techniques, abilities and your large arsenal of weapons you charge into battle to combat the invading monsters, who have taken over various continents of the planet. With the guidance of your human creators you must liberate continents by completing missions such as destroying the monsters army resources, or killing their army commanders.

#2 A run of the mill pizza delivery guy gets hit by a meteorite during a meteor shower and is crushed to death. In the afterlife he is given an opportunity to be revived by an unknown voice in the darkness of death. The voice grants the guy life, along with divine powers and weapons but with a cost. He must be revived cursed. The curse functions as a ticking time bomb, once time runs out, or the hero falls in battle, the world will be destroyed. In order to prevent this from happening, the hero must obey the voice's every command. Completing missions and tasks in different worlds until the voice is satisfied.

#3 The hero in this story is an alien child. Humans invade his planet and enslave his race. His mother is taken away from him and it's up to the hero to get her back. After escaping his captors he steals their tech and uses it against them in order to save his mother and take back his home planet.

I think out of those I prefer the first one the most. Seems like I could have an easier time to manifest a cool character design from the backstory, create enemy monsters and will be able to use the human companions as guides or a way to incorporate dialog or NPC interactions.

Main Gameplay Features

Haste Style & Strike Style: The player will be able to seamlessly transform between these two styles of gameplay with the press of a button.

Haste Style will focus on enhancing the player's movement abilities, when this style is active the player will change appearance and the camera will zoom out to allow the player to see more of their surroundings. The player will have increased movement speed, and have various movement abilities such as jumping, double jumping, sliding, wall running & jumping, aerial slamming, and gliding. Along with this they will gain access to quicker melee attacks that they can combat enemies with. In this style the player will NOT be able to shoot. When in Haste style the players crosshair will disappear. Players must rely on their melee attacks during haste style to deal damage, however while quicker and able to chain attacks together, melee attacks won't deal as much damage as shooting.

Strike Style will focus on enhancing the players shooting and combat abilities. When strike is activated the player will change appearance different to haste style, the camera will zoom in just a little away from over the shoulder and a crosshair will appear to allow precise aiming. Strike style allows the player to shoot many different shots depending on how they are moving, for example they shoot normally while the shoot button is held down, however performing actions such as directional dodge rolls, dashes and temporary lock-ons will cause your weapon to fire different kinds of shots. Charge shots, dash shots, and homing shots are a few examples which will have different properties and damage outputs from one another. When strike style is activated the player will not be able to jump, and they won't move as fast as they do in haste style.

Different Weapon Types

I want to make multiple weapon types to allow for different combat styles. Each weapon will have a "type" and will control and fire differently from one another. All weapons will be able to shoot projectiles as well as be used for melee attacks.

Some ideas for weapon types:

Pulse Hands 
Arm Cannons 
Mind Turrets 
Magic Lances 
Potions/Grenades
Elemental Fists 
Blaster Blades 
Virtual Mallets 
Chain Sticks 
Claws
Laser Daggers

I won't be able to make all of these but I'll pick out some favorites/ones I could do some cool stuff with.

Weapons don't need to reload. 

They will have different fire rates, properties, and damage outputs from one another.

Some will be better for ranged attacks, some will be better for melee attacks, or some will be all round decent at both.

Weapons may or may not have ammunition, I'm still deciding on this. On one hand I want players to be able to not have to worry about ammo and let them be able to run and gun, but at the same time if there were ammunition it could be used to encourage the player to use different weapons when on low ammo with one weapon type. I think I'm leaning more towards having ammunition.

Exploration Pickups/Items/Power-ups

Players will be able to explore the levels, upon finding a secret area or a place of interest they will usually be rewarded with items that will help them during gameplay. Some examples of possible pickups and items include:

Health Pickups 
Armor Pickups 
Ammo Pickups (Maybe) 
Weapon Upgrades
Temporary Damage Buff Power-up
Temporary Speed Buff Power-up 
Temporary Invulnerability Power-up 

Along with pickups you could locate usable items which will become mapped to an item button once picked up. Items will have a number of uses until disappearing.

Gamma Pushback: A shockwave that blasts away nearby enemies as well as poisoning them, slowly draining their health for a short amount of time.

Cyclone Trap: A portable tornado that sucks enemies towards it, immobilizing them and allowing yourself a clear shot.

Guardian Swords: Spiritual swords surround and spin around the player, protecting them from enemies and dealing damage to anyone that gets close.

Regen Talisman: Slowly regenerates health for a short amount of time once activated

Death Clown: Summon the legendary death clown, which causes enemies to cease fire and run away in fear.

Possible Scoring System?

While not absolutely necessary there could be a points system where the player is rewarded points for attacking and defeating enemies, collecting items and completing the level in a fast enough time. Points could be used to promote replay-ability for high scores and also increase player satisfaction by rewarding players with points when performing certain actions in game.

Goal of the Game / Win & Lose Conditions

The "win" conditions of the game will be to successfully complete the level(s). I would like the end of a level to be finished with a boss fight as I've never done one before.

The loss condition would be to simply die by having your health fully deplete. The game will however have checkpoints, allowing you to restart after you die. (If I include the scoring system the player will lose points upon dying)

and that's it for today's brainstorming.

Plan of Action

No time for dilly dallying, I'm gonna begin work on making the game straight away. Tomorrow I will create the Unreal Engine project file and get to work on creating the first prototype. I will show my development on here at the end of the day.

Tuesday, 23 January 2018

MA Semester 2 Preparation - Third Person Shooter

For semester 2 I would like to make a Third Person Shooter game with an emphasis on fast paced, dynamic combat with multiple different types of weapons and an advanced movement system that will allow the player to approach combat situations in many ways. I have wanted to make a shooter for a really long time and I'm glad I'm finally doing one.

Why a shooter?

My main reason for wanting to create a shooter is due to my love/hate relationship with playing them. Shooters are an extremely over saturated genre nowadays and while I do enjoy a handful of them a large portion usually rely on cover mechanics. I hate cover mechanics. Combined with auto regenerating healing you've served up a delicious combo for a slow paced game where players are forced to wait behind cover until their health has regenerated, only to do it again and again until finally all the enemies have been defeated. Cover mechanics promote inactivity. Doing nothing isn't gameplay. 


Shown above: Max Payne 3 introduced cover mechanics to the franchise to bring it more aline with modern shooters. While received well by critics, many fans of the franchise believed it ruined the more "run and gun" nature of the Max Payne games and created a slower game flow compared to the original Max Payne games.

This semesters goal is to create a shooter that is constantly active. The player will always be doing something, whether that is performing an action such as shooting, dodging enemy fire or jumping around the environment.

A couple of key areas that I want to focus on are:

Gameplay Design/Play testing - As always my biggest focus will be on the gameplay. I want to create new mechanics I haven't done before and make them fun for the player. I also want to create weapons that feel good to use. Through play testing I will determine what players like or dislike about the gameplay and make changes with the feedback I receive. While we are on the topic, play testing is a key word here. With StarKid I did have a lot of people test my game, but I only had two play tests. That's not enough, with each play test I made changes to the game that made it play better. Imagine how good it could be if I did more. So expect to see a lot more feedback blog posts this semester.

Level Design -  I want the players to be able to forge their own game flow by allowing them multiple ways to approach and tackle combat situations. To do this, I will need to carefully design levels and have people play test them, so I can analyse different kinds of players' decision making and make sure no areas of the levels design are not being properly utilized. I also want the levels to have many areas to explore while not in combat, players will be rewarded for their exploration each time they discover a secret area, hidden pathway or shortcut. These rewards will be an incentive for the player to get the most out of a level, extending the time they spend in one level while also building up player satisfaction when they do find secrets.

Animation - I have done two projects where I have animated a character, one for Heart of Copper in third year and recently StarKid for semester 1 of the MA. StarKid showed that I had improved on animation a lot since HoC and I can only further improve the more I do it. This time I would like to animate the playable character again as well as animate some enemies too.

Particle Effects - I have never made a particle effect before, particle effects make a game look more visually appealing as well as make certain gameplay actions more satisfying, such as smoke effects as a character lands from a jump, or the explosion effect from a grenade. Particle effects are a key component to help bolster player satisfaction, this semester I'm going to learn how to make them, which will help further expand my skill set.

Plan of Action

Tomorrow is the first day back and the start of semester 2. My current plan for tomorrow is to continue idea generating and at the end of the day provide a blog post showing what I've come up with.

Thursday, 11 January 2018

MA Semester 1 Submission - StarKid Playthrough & Learning Agreement

Summary
Well the 3D platformer lately named "StarKid" has reached it's final prototype and is ready for video submission. Semester 1 is over and looking back on what I set out to do I believe I accomplished what I decided to do in the end. I wanted to create a 3D platformer in order to further advance my knowledge of the unreal engine, and create an enjoyable gameplay experience focused on Player Movement. My playtesters had a good time playing my game, so mission accomplished. I know there were a lot of things I could do better, and moving onto semester 2 I'm hoping I can further grow and make an even better game.


A highlight of the semester was finding some great game design books. Here are some of my favorites.

Level Up! The Guide to Great Video Game Design by Scott Rogers

Game Design Theory & Practice by Richard Rouse III





















Learning Agreement: 




Video Playthrough Youtube Link

https://www.youtube.com/watch?v=xFE2kUHTT5A

StarKid: Character Development 2: Rigging and Animating "Starkid"

Over Christmas I successfully managed to teach myself how to rig and animate (again) and StarKid is now ready to be placed into the game. The rig isn't perfect, but for someone who has only tried 3D animation once for my 3rd year of uni it's definitely not bad.




Overall I did 32 animations. These were for: 

Collecting an Aeon 
Aerial Attack 
Aerial Attack (Falling) 
Comet Dash 
Crouching 
Crouch Walking 
Dash Jump 
Dash Jump (Falling)
Death Animation for falling into a bottomless pit
Death Animation for dying through loss of health 
Double Jump 
Double Jump (Falling) 
Drill Spike 
Drill Spike Landing Impact 
Grounded Spin Attack 
Homing Attack 
Homing Attack Finisher Pose 
Idle 
Ledge Grab 
Ledge Hang 
Ledge Jump 
Shimmy Left 
Shimmy Right
Running 
Single Jump 
Single Jump (Falling) 
Spin Jump 
Taking Damage 
Triple Jump 
Triple Jump (Falling) 
Walking 

It would take ages to Gif them all so here are a few examples.

Single Jump Animation
Double Jump Animation
Spin Jump Animation - This animation will occur when bouncing on jump pads.
Drill Spike Animation - An Aerial Slam move that sends StarKid shooting towards the ground at high speeds
Death Animation
Next I'm going to hook up StarKids animations to unreal engine and get each animation playing to their relative mechanic. After that it's a case of populating the level with colours so the level looks less...prototypey.