^

ravirao

Creative Director | Designer | 3D/AR/VR Tinkerer 

Projects > ConFoosBall

ConFoosBall 

This is a self initiated project which I made to acquire new skills in basic game programming (C#) in Unity 3D, and the goal was to combine the newly acquired skills with my existing skills of 3D animation, UI/UX and Gamed Design and build a complete game from scratch. One of the tasks in the learning process was to roll a ball using the keyboard or touch input.  Based on which, I conceptualised and built this game.


Ideation

I thought of a football game but with a difference, the player would be the ball and a team of 11 members are the opponents. Player needs to control the ball and reach the opposite goal post while evading the opponents and collecting the golden balls on the way within 180 seconds. After this basic idea, a lot of explorations and decisions were to be made around game logic, technical feasibility, timing etc.

Game Logic

I started building the game and AI logic by referring to the 4-3-3 positions on the football field and placed the opponents players accordingly.

Reference for field positions

Field positions in the game engine, slightly altered

AI Logic

Each opponent has an area defined and can navigate only in the specified area. Each opponent is in a default idle state and as soon as the ball enters a particular opponent’s zone, the opponent gets activated and starts running towads the ball.

Scoring System

The player has to reach the opposite goalpost in 180 seconds.

Every time the ball lands on the opponents head, the player loses 20 points

Colliding into the golden ball gives 100 points. A maximum of 1200 points can be earned.

Every time the opponent kicks the ball, you lose 10 points

Ground rules:

Each time the ball goes out of the field, you lose 10 points.
Each time the ball enters the corner, you lose 20 points.
Self goal has a penalty of 100 points..

Game Interactions

Before defining the controls and the speed of the ball etc I tested the input methods on the ball. I wanted the game to be played both on mobile phones and desktop standalone and browsers.

For Mobile devices the most convenient input method is taps and drags on specific regions on the screen to control the ball. 

For Desktop browsers and standalone, I have used the traditionally used WASD keys and space bar and mouse to control the camera. The ball can also be controlled by the arrow keys and P ; ‘ L keys so that left handed people can also use it as per convenience.

Testing on Mobile

Tried a few options to figure out which regions of the screen are most convenient to use. One of the options was to use the entire width of the screen to move the ball with left thumb for left movement and right for right. But it was found difficult to change the camera angle on the move.

After testing with a few people, it seemed The ball moves based on the direction of the drag of the left thumb and the camera is controlled by the right thumb.

Low Fidelity Wireframes

Start Screen for Mobile Devices

Start Screen for Desktop and web gl

The highlighted part on the left of the screen controls the movement of the ball and on the right controls the orientation of the camera. There is a jump button below it.

Settings menu has the controls to set the quality of graphics, volume levels and left handed right handed selection.

Asset List

Next step was to populate a list of assets that need to be Created.

3D Models

Stadium

Foot Ball

11 Low poly Characters 

Goal Posts

Animations: Idle and Running

UI

Buttons

Settings Menu 

Golden Ball blimps

Main Menu Instructions

HUD: Scores, Time, Points

Special effects

Ball Trail
Particle effects

Sound effects

Background Music

Ball Dab
Kicking 

Whistle 3 variations


3D Assets

Animations

Low poly model with just 1900 polygons for the game to run smoothly on maximum number of devices

11 different 512X512 textures mapped on to the same mesh to avoid increasing the poly count

Idle state when the opponent is not active

Active state when the opponent is chasing the ball

Since the ball was going to be the most active element on the screen it was crucial for it to consume low resources. The ball was made barely of 250 polygons and combined with Diffuse + Roughness and Normal maps for realism yet lightweight.

The final look and feel after lighting and Realtime post processing.

Flowchart to set up the conditions of different animations

First Build Testing

Now that the first build was ready, I sent it for user testing with a few people to find out the problems.


Useability Concerns
Some of the problems identified were:

Since the point of view of the game was the ball which is very small compared to the size of the ground, they could easily lost the sense of direction.
Players were finding it difficult to figure out the direction to proceed since they couldn’t see the entire layout with reference to the ball.

The game was just goal oriented and wasn’t time bound, because of which it gets monotonous. 

The maximum attention span was about 3.5 to 4 minutes.

Solutions

I added a mini map on the bottom right of the screen. The green blimp shows the position of the player, the red dots show the position of the opponents and the yellow ring shows the location of the golden ball that needs to be collected.

To guide the player navigate in the correct direction, an arrow was added to follow the ball that would always point the direction of the next target golden ball

Sound Design

As observed during the testing, the attention span was around 3 minutes, I had set the the game to be time bound and the music was set to be of the same length. The crescendo of the music begins at 2:45 which will break the monotony and get the player excited towards the end.

The Game

Mobile Version

Desktop Version

Download/ Play Online

Copyright © 2021 www.ravirao.in