The Four Winds
About the Game
The game is a puzzle game designed for PC. In the game you use the mouse to move and power wind generators. The wind generators can then be used to roll a ball onto different targets, earning a point for each one. However, you have a limited time to do this. The aim is to get earn as high a score as possible in the limited time.


Development
This game was developed solely by myself as part of a 24 hour game jam. The theme of the game jam was folklore, so I based the idea of my game on the four wind faces.
Once I had the idea of the game the first thing that I did was add a way for the player to move the different wind generators. I did by using OnMouseDrag() to change the positions of the wind generators on the x and z axis. I then restricted the movement of the generators to the edge of the play area.
After that I added the wind mechanic. I achieved this by having each generator produce raycast inwards. When one of the rays would hit the ball, it would add a force to the ball. This force is calculated by taking the normal of the ball and multiplying it by a variable called windPower. The idea was for the player to alter the wind power to give them more control. A problem I had when developing this feature was deciding how to have the player change the power. At first I tried having the player click on the buttons on the generators to toggle them but in the end decided that required too much precision. I settled on having the player cycle through different power stages but I still feel that this was not the perfect solution.
One of the final things I added was the spawning of the targets. The targets were instantiated in a random position in the play area. Due to time I wasn't able to polish this feature. As it stands the spawning of targets is completely random, which means it can spawn directly under the ball. This could be fixed by storing the position of the last target and taking the direction of the ball to give a rough estimate of where the ball currently is and where it is moving to.
