Let’s cook : FootyVolley game

Here’s our project :

A little 2.5D footyvolley game. What’s FootyVolley? a popular brazilian mix of beach volley and soccer. Basically it’s volleyball but played with foots .The ball must not touch the ground, and players kick back the ball out of their field until it touches the ground inside the gamezone of the other side (and win) or  touches the ground outside of the gamezone (and lose).

Although this type of game can be full 2D, we’re up to make it in 2.5D just for play with little 3D effects and perspective .

Here’s what you’ll need


estimated time : 2 hours 30 mn
ingredients needed : Unity / Playmaker

 

On to the Menu :
(grayed recipes will be available soon)

  • Setting Up 

  • Adding 2.5D Elements

  • Moving things

    • moving player with a character controller component. Although there is a lot more ways to control our play, we can use  the character controller which fits well for this type of game (no heavy physics, no Y axis move). Then when our player moves at will, we’ll constrain his moves on the gameField.
  • Colliding

    • creating colliders and test them. Once the collision works well, we need to think a bit more of our gameplay and adapt the collisions to it.
    • Gameplay thoughts :
      So far we have an area of reception around the player that can detect the ball. Imagine that the opponent is kicking the ball to your side; we want the player to move toward the ball before the ball hits the ground. If the ball is inside the reception area of the player, he will be able to sent it back, if the ball touches the ground before the player reaches it, the player lose the point.
      step1
      Pretty simple but not fun enough, because we don’t have a real challenge. So let’s spice the gameplay a bit.
      The player can moves freely, but what if we add a kick button that will force the player to push a button to be able to collide with the ball ? We’ll add like this a coordination challenge.
      step2
      Mmmm, it’s okay but not challenging enough. Besides, let’s think of the colliding logic first.We’ll make the collider circle appears only when the kick button is pressed. Like this if the player just moves toward the ball and doesn’t kick, there’s no circle collision so the ball will just hit the floor, and the player lose the point.
      step3
      But nothing stops the player to let the kick button pressed to let the circle collision active, and just move towards to sent it back like in our not real funny step 1. It’s time to add constraints to these sneaky little players that want to ruin the fun.
      Gameplay test rule 1 :
      When kick button’s pressed, the player cannot move anymore.
      For the moment it seems cool to me. First let’s add those gameplay tunings to the game, we’ll change them a bit later.
    • Gameplay tuning 1 : here we make the collider disappear while our kick button isn’t pressed, we add force to the ball when colliding, and we stop moving while pressing kick button.Gameplay test rule 2 : displaying visual gameplay clues.
      Now we’ll add more challenge to our game. Let’s say than while the shot button is pressed we stock power to sent back the ball harder. And while we’re ate it, our sphere colliding radius will be shrinking, forcing the player to guess a good spot to wait for the ball.
      Gameplay tuning 2 : we make our collider circle shrink, while a power variable grows than add it as a force when releasing our button.
      Gameplay tuning 3 :
      Waiting to sent back the ball only when we release our shot button. Instead of hit the ball as soon as the ball enters in our collider circle, we wait that we release our kick button THEN we check if the collision occurs. This rule will force the player not only to wait into the trajectory of the ball, but to guess more precisely where the landing zone will be and wait to the last moment to release the kick button.
  • Aiming

    • Gameplay tuning 4 : moving an aim that will give direction to the ball.
      “Fun is not a straight line”, it’s also true for our game : we’ll now give direction to the ball. Our gameplay will be like this, when you keep the shot button pressed, an aim cursor will appear on the opponent field, and you can can control it (remember while shot button’s pressed you cannot move, but your aim can).
    • Gameplay tuning 5 : And when we release our shot button, the ball will be aimed towards the zone you pointed out and we can move freely. We adjust the height and power of the shot while pressing the kick button too.

  • Gameplay testing and adding new features

    • Gameplay Tuning 6 : we sent back the ball to our player for feel the gameplay and tweak some things a little. Then we add a new feature : the slides.
    • Gameplay Tuning 7 : add a net, put a collider to avoid passing through (player & aim) make the ball rebound on the net.

 

  • Animating

    • Animate sprites : here we get initiated to the animator states.
      We’ll pass variables from code to the animator object in order to switch between animation states.
    • Animating slide : another quick exemple to animate the slide in the animator, with a little code to dynamically pass from a state to another.

 

 

 

Leave a Reply