Survival Ace – Player Abilities

I now need to add the abilities for the the player which includes:

  • Primary fire
  • Secondary fire (rocket)
  • Smoke Screen

The first thing I will be implementing is the primary fire, once I have an initial system in place which fires bullets of trigger press I will then look into how I should limit the fire rate to balance it instead of each player continuously holding a button and firing for days.

After that I will be doing the same for the rocket and then implementing a cool down system so it cannot be used too  frequently.

and finally the smoke screen which will be a similar system to the rocket apart from it will stay with and shroud the player

All three of these systems will be started with detecting a button press and instantiating the object, aspects such as speed and damage will need to be tied to the object itself so that they can each be altered as needed without affecting each other.

So after I had the initial process (asset spawn) done it was down to adding properties so it behaved as it was required to, starting out with the primary fire I had to ensure that after being instantiated it was propelled forward.

At first I thought this was working incorrectly as it looked like the bullets were firing backwards, but. After some testing it turned out that the plane was going faster than the projectiles so after bumping up their speed it was working as intended.

This then lead me onto refining it further by limiting the fire rate. at first I tried setting a low fire rate so it could still fire continuously but not so many at a time, this lead to it becoming a little slower than I wanted it to be so I continued messing with some values to try and alter the speed and the cap but It just didn’t feel right.

I then began looking into creating a burst fire system that would cut out after so many bullets were fired, and then once again started to alter values until I was happy with a result. This result was a burst fire system firing five bullets before needing to press the trigger again.

https://vimeo.com/user72105959/review/322822063/b62b390975

The clip linked above shows the primary fire of the plane and it has a slight delay before allowing the player to fire again.


 

Now it was time to start on the missile and as mentioned above this started with the same process as the primary fire by setting a spawn point and enabling spawn on button press.

and then I moved onto the properties, this required setting a force to propel the missile forward.

I initially had an issue where the capsule that I was using for a place holder would not change it’s transform so it was essentially dropping down instead of firing forward, after looking over the object and it’s code multiple times I couldn’t figure out what the problem was so I decided to delete it and try again.

This actually solved the issue and just seemed to be the object wanting to annoy me for a while. -,-

Now that it is firing correctly I needed to add a cool down so it cannot be fired continuously, I was able to achieve this by setting a last fire time variable which the system would check against a set value to wait (30 seconds).

So if the last fire time was greater than the set wait time it would then activate a bool which would allow the fire process to be repeated otherwise it will not let you fire.

One thing I was not thinking of when I created this system was that the last fire time value is counting up with the game time o it would be 30 seconds before you would acquire your first missile to fire. This was easily amended by setting last fire time to 60 on game start which would register the fire time was over the wait time and allow the rocket to instantiate and fire.

^ https://vimeo.com/user72105959/review/322822850/3404ecb548

The clip above shows the rocket firing, although the values still need to be altered as it moves little too quickly and isn’t the most noticeable at first (which is why i fired at a wall).


 

The final system That I had to implement onto the player was the smoke screen.

The idea of this ability is more defensive s apposed tot the other which are offensive.

The idea behind this is that when the smoke screen is active it will act as a type of shield from the AA guns, lights and battleship which would make the player undetectable for a short period of time, although that isn’t to say they can’t be hit by a stray bullet if they’re near another visible player.

This was done by activating a bool while the smoke screen is active and then going into the scripts for the lights,  AA Guns and battleship and implementing a reference into each of them which would detect if said bool is active and if it is then they will activate a bool of their own essentially telling them not to see this object as a threat.

https://vimeo.com/user72105959/review/322823655/cb8251e119

The final clip shows the smoke screen being active and the player becoming undetectable by the lights and turret, placeholder effect for now so it doesn’t look the best.

Survival Ace – AA Gun and battleship

The AA guns and battleship will  need to detect a player in range and start firing at them and then begin searching again after the player leaves the detection radius.

This is similar to how the search lights will work but with a shooting mechanic so I will need to keep note of bullet speed values to ensure that the bullets are firing fast enough to hit the plane rather than firing behind it.

So the properties that I need to add to the AA Guns and battleship are:

  • Detect the player withing the radius
  • Turn towards the target
  • Shoot at the target
  • Revert when target is out of range
  • Increase detection range when light has a current target (AA Gun only)

The first thing that I added to the AA Gun is to detect and rotate towards the player, this was done in a similar way to the searchlight by using an on trigger method to detect and set the current target.

Once a target is set it will then need to look towards the target, begin to fire at it and then reset when it loses the target.

 

After getting this initial system setup I then had to detect when the light has a target and act accordingly (increase AA Gun collider), this is where I had some trouble as I could get it to detect when the light did not  have a target but it would not apply the same logic when it did have a target.

This issue lead to to try various different methods from having all of the lights set as objects and try to activate a bool, having all of the lights put into an array and detecting the current object of the array that is currently in collision with the player.

Sadly this also did not work and was starting to get a little demotivated at this point but I decided to try it another way and instead of having the aa gun detect the light. I had the light link to the AA gun and detect the extra unused collider.

 

AA Gun properties

I made it so that a series of “switches”(bools) activated and deactivated based on the triggering conditions of player detection.

So when the light detected a target it would then activate a bool which would then tell the AA Gun to enable it’s second collider giving it a bigger detection radius.

 

https://vimeo.com/user72105959/review/322783468/28d0a5e6ce

Survival Ace – Search Lights

I have been working on some of the smaller features which “make the game” the first feature I started with was the search lights.

There are a number of properties which I need to give the lights which are:

  • Rotate on a point so that the light itself is going around the room
  • Follow and track the player if it is spotted by a light
  • Increase the search range of the AA guns when a player is being tracked
  • Avoid tracking a player that has deployed a smoke screen.

 

First things first I need to ensure the lights will rotate on spot.

This is done by first setting the point at which I want the light to stay and then adding a rotation from the allocated point.

Once this system was in place I then needed to ad a trigger and follow, to do this I made an OntriggerEnter method which looked for a collision with a player object. If the collision detected was a player object it would then set the player as it’s target and run and additional method to track said target.

After a short time testing this I realized that I needed to also add an OnTriggerExit to ensure that it would default back to rotating and searching for another target is the player leaves the collision zone or dies. At first I left this running to ensure the tracking worked and then  when the player dies the light would default to the re spawn point and continue tracking it.

So after adding the Exit method it would then work correctly and stop tracking the player once it left the collider and or died.

https://vimeo.com/user72105959/review/322769712/0cf0794d14

The final two things which I need to add to the light are increasing AA Gun collider Range and making the player undetectable while smoke screen is active.

This will be done after the AA gun and smoke screen themselves have had their properties programmed.

 

Project Planning diagrams

Class and state diagrams were required for reproduction of the project and these are to help me think about how I will implement the systems that are required.

 

UI Diagram

Ui Diagram

Menu Diagram

Menu Diagram

BattleShip Diagram

Battleship

AA Gun Diagram

AA Gun Diagram

Biplane Diagram

Biplane Diagram

 

 

Vehicle Diagram

Vehicle Diagram

Search Light Diagram

 

SEarchLight Diagram

Working Week – Tombola

(pictures are on my home laptop, to be updated later)

 

I was lucky enough to be selected to take part in a weeks work experience opportunity which could lead to an apprenticeship, I will know if i was successful or not before may.

When we first arrived we were greeted and taken into the conference room to go over things like company history and other rival companies as well as a product comparison.

After dinner we were shown an example of one of their games “Scratch”. Scratch is like an online scratch card where you have to match 3 symbols out of an available eight across nine coins layed out in a 3×3 orientation.

We were then shown another couple of examples which included plants blossoming to reveal the symbol or even pirates opening treasure chests.

Each of these had a bonus round which was accessed by obtaining three certain symbols and then the bonus would contain an extra four symbols, only one of which would keep progressing to eventually have a chance at a jackpot instead of taking you back to that main game.

 

We were then asked to design a similar game with a theme more suited to adult players.

After getting pout into groups we decided on who’s idea would use with a few adjustments.

We chose to do a stock market theme which used currencies from countries that tombola are based as well as a few other well known currencies.

After spending an afternoon planning everything out and doing research on currencies, that ended the first day.

 

The next day we started planning on what needed to be done so I started on storyboards while others made assets and started prototyping. Once the story boards were finished I started working on some assets for the bonus rounds and finding backgrounds.

The third day we started on finding music and sound effects as well as starting to thing about vfx that could be used.

We also had a slight problem trying to programme the probability of the symbols, luckily we had a lot of awesome staff available to help us, after a discussion about how they would code in the probability we were more understanding and got to work on implementation

 

On the fourth day there was a lot of prototyping to get the correct values and ensure that the win rate was not too high, but it later turned out that we had it too low and needed to continue tweaking.

After some testing we started implementing UI and sounds.

The final day we had the morning to fix any issues and go over our presentation which we had been working on throughout and then we had to present and show off the product in the afternoon, we got great reception and feedback from the audience.

 

What I need to do

After a discussion with the team we have compiled lists of assets that everyone will need to work on throughout the project.

My list is as follows (in no particular order)

  • Shooting
  • Bullet properties
  • Missile Properties
  • Turret Ai
  • Smoke Screen
  • Lights tracking
  • Battleship Ai
  • Point System
  • Health System
  • Overcharge/Cool-down System
  • Pickups
  • Ui
  • Enemy drops
  • Vehicle pathing
  • Energy system
  • Interactive Objects
  • Screen Boundaries
  • Multiplayer
  • Menu
  • Joystick Axis inputs

 

That is all of the things that I have been requested to programme into the project. I have also been requested to do some sound efects, such as:

  • Engine sound
  • Shooting sound
  • Crash Sound
  • Pickup sound
  • Damage Sound
  • Recharge Sound
  • Explosion sound
  • Missile sound
  • Bullet sound
  • Ship Siren
  • Missile Lock on

Synoptic Project planning

Now that the teams have been chosen and I know what I am working on with the team size available

The team so far is

Me – Programmer

Ryan – World design/ Engine work

Lee – Lead 3D Artist

Robert – 3D Artist

Cameron – 3D Artist

Reese – 3D artist

 

It is time to start looking into what we will be needing asset and system wise, this will require the use of trello, gannt/burndowncharts, asset lists, git hub and google drive to ensure that everything is accessible to everyone with tracking constantly available.

I will start compiling a list of all the scripts that I will need to write  along the way of this project including some for stretch goals.

Synoptic Update

I have almost finished with my presentation I need to annotate my play-board a little to more accurately represent what is happening (arrows for movement).

I may create a second color pallet using image clipping as I used images of children’s toy and furniture in conjunction with the eyedropper tool but once I painted that color into Photoshop the colors came out a little saturated and not as bright as I was hoping for them to be.

The major thing I need to think about at the moment is how to create a defined path to completion, my original plan was to create a sandbox and let people figure things out from themselves taking note of each method used and possibly even timing people to see who find the fastest route.

I can still do the above but I need to implement a safety net feature that ensures there is one way to complete the level by going down a set path of activities, the current thought process for this is looking at different puzzles which will give building blocks as a reward to create a stair like arrangement to reach the door handle and open it.

I have also considered making it so that the player unknowingly creates a Rube Goldberg machine and once it is complete setting it off will trigger numerous action with the end result of completion.

 

The ability to reuse the key for other toys and position them in certain spots that they would need to placed that way. Insert and wind key to make toy move over to X.

 

Synoptic Pitch Decision

I have decided to choose the “Toyous Adventure” as my final product for my synoptic pitch.

I now need to start thinking about what assets are required, the style and color pallet which will be used throughout.

I will be doing research into the style of the game world by looking into similar games and examples of children’s room layouts. As all kids usually have their room down to a theme of something that they enjoy I was starting to think of ways to do this but I decided I will give the artists creative freedom with this aspect.

The main issue I have for this game is thing about have the world can connect in a way of being one giant puzzle.

My initial though of this was making almost everything either movable but this could just lead to someone stacking everything by the door and rushing to the end without any of the other aspects that were intended.

My more recent idea is to have that as a main gold with building blocks but having the blocks locked behind individual puzzles, so the player would need to complete each of the puzzles to gain all of the blocks required to build your way out.

 

Synoptic project thinking stages

Childish Adventure

To start off for the synoptic project I have to first think of a game idea to pitch.

The first idea i had was a game based around nostalgia, you play as a child in an open world environment (cul-de-sac) and the game would have played out as though it was a standard playtime using a child’s imagination to twist everything around you.

Found a stick? No you didn’t that’s a sword

Entered a bush? That’s no bush, it’s a base of operations

https://docs.google.com/document/d/1AhTfEU2TnpAtZhITUCIvh55awhGp2SvTDmhPP2GIVCY/edit

 

Food Fight

The next Idea I had was a food fight game which was to be created for either mobile or VR.

The game would have been set inside of a cafeteria where a fight breaks out and tables have been flipped.

Use the cover available and the scattered food to fight back.

The system would have had a tray below the player split into sections which could have a different food group spawn within that part and even include different properties to each.

Desserts would cause a slow/sluggish effect

Drinks could cover the screen a little when hit. (being inked in Mario Kart)

Main courses would hit harder and side could be fired and picked up faster

There was also consideration on healing by consuming the resources available to you instead of throwing them.

https://docs.google.com/document/d/1fX-4KoZUIqjXpUHWJmFtDdZuhfFeP6aTxpg__ZlMg6s/edit

 

Dungeon Crawler (Unnamed) 

My next Idea was a small dungeon crawler which would have included a few weapons and enemies similar to an introductory level to that type of game.

The theme had yet to be set as I was originally thinking an Egyptian theme but was later trying to merge this with my original idea and you would play as a child fighting against monsters around the house which would then drop toy based weapons and Armour.

Thing to fit the theme would have been baby gates as doors.

https://docs.google.com/document/d/12DDjlHnPb1qXMxNGFwZ3R_y2vQ5VhfSwZovA8wBdGww/edit

 

Flower Defense

This idea I had taken inspiration from PixelJunk Monsters

This would be a tower defense game situated within a garden.

This game was set in a smaller scale of the world, you would play as a garden gnome protecting his home from bugs and insects trying to overrun you and take it.

Flowers would be used as towers and different flowers could have detected different enemies or give of debuffs.

https://docs.google.com/document/d/1Tp3nzrseVIZ-i9SBjEPU_sXi-NxI3p7fWayugIGEdGw/edit

 

Toyous Rebellion 

This would be an open world 3D puzzle game set inside a child’s bedroom inspired by Chibi-Robo.

You play as an out dated wind up nutcracker soldier who is fed up of being left to rot inside of the toy chest.

Manipulate the environment around you to build up and find away to leave the room.

Gather the help of other toys who may or may not have a choice in the matter.

https://docs.google.com/document/d/14IKOopGs4aVnAapXUPteIKqGCM7MvUWgJShQy_nhhmw/edit

 

Sleep Tight

The final Idea I had to pitch was an old flash style zombie defense where you build up your barricade and fight off the incoming waves of enemies.

This was based around a monster under the bed situation and enemies would spawn from under the bed at the opposite end of the room.

build yourself a barricade which what you can find (pillow fort is best fort)

I had an idea for a flash light which could be used to slow down the enemies coming towards you.

The weapons could have ranged from a catapult to a various Nerf style weaponry and even something like a hairdryer.

https://docs.google.com/document/d/1KyEx8F4l2XdHcl3FbM7hhJEu2stNjKeV1RI1C2dxmyk/edit