itch.io is community of indie game creators and players

Devlogs

V0.4 Production has started!

Blow It !
A downloadable game for Windows

Hey dear indie games enjoyer,
Today we have a big announcment to make!
Our game entered in its production phase, it is now time to realize the game as we want to be and to end up with a stunning final product.
Starting this production phase, we restarted all our work from zero, of course we used the informations that we collected during prototyping phase, but we are remaking everything to have the cleanest and bugless product as possible.

Lighting and athmosphere :

Added another directional light in the scene to fix the issue of shadows being lighter on the sides and darker on top. Made the sun darker. Imported building meshes and trim texture to test out in lighting.






Made a model for the rotating wheel, This model exist of the parts one for the top that can rotate and one for the bottom that will be static.

This wheel will be able to turn when the wind character blows it and this will effect the puzzles of our game.

Modeled 2 buildings and unwrapped onto trim texture.



Concept art:

Worked on making interesting character designs for the players and enemy.

The enemy is a lightbulb that siphons energy from the players, making his light glow. This was so so much fun to design! There aren't many constraints, so the character could be of any shape (there's even a shark one among the concepts).

The battery's design is quite straightforward, but figuring out how he would glide was tricky. A jetpack seemed most fitting for this type of character. Since the battery's design is pretty much set, it was easy to make a quick 3d blockout. It was especially important to figure out if the jetpack designs translated to 3d. 

The fan character is the most challenging to design. There are so many mechanics already set in stone that have to be taken into account. The most difficult part was figuring out how the body is attached to the goddamn fan. The fact that the face is facing (haha) the same way as the fan limits the design quite a lot. There just isn't enough space to fit everything!! Hopefully, this will all be figured out soon.





Setup of the Project:
The project with the right folder structure i made the project in HDRP and set the base setting of the game. I added almost all the packages that we need for our project.

Input System:
I worked on input so i added a Input action and then added 2 seperate Action maps 1 for the battery player the other for the fan, i added all the controls that are going to be in the game and made significant upgrades to it from the prototype. Also made a PlayerManager so that when a character joins the game with a new controller it joins as the other prefab aka the fan

Camera:
Made it so that the camera automaticly pics the center of the 2 characters and follows them in a target group and put that target group in the cinemachine.

Battery movement :
Made the movement script fot the battery player so now it can move and jump around it also rotates in the way it is looking.


Fan Bullet behaviour :

Starting the actual implementation of the game forced us to think how to develop the game as a team from a totally different point of view that we had during the prototyipng phase. As a team of two devs, we should absolutely avoid to work on the same implementation at the same time. And, to avoid later bugs, we should avoid developping an element that depends of another implementation that still has to be done.

Making the fan bullet behaviour seems not to be the current priority on the project, but since it depends of nothing to work correctly, it was a good element to work on while the base of the game dev structure was being made.

After the prototypes, I discovered that I had to focus on the following point with this bullet system :

- The platform was sometimes skewed when it was attached to a surface, I had to investigate why and how to solve the problem. Actually, this bug occurs when the platforms tries to attached to a surface of game object with a size different than (1,1,1). The simple solution for that is to make an empty game object of size (1,1,1) and that has a box collider with the size of the wall. Inside of this empty object, we add the wall mesh, that acts as visuals and have no collision.

-The platform wasn't always located at the exact position of the collision of the bullet against the wall, and we found no way to orient the platform depending of the rotation of the surface it hits. I discovered that, in Unity, you can access to the exact position of the collision and to the normal of the surface that was hit during a collision with the following lines of codes :

```c#

Vector3 collisionPosition = collision.GetContact(contactIndex).point;

Vector3 collisionNormal = collision.GetContact(contactIndex).normal;

```

-When the player was on the platform, it wasn't following the platform movement:


Fan player movement :

One of the most important part of our gameplay is the movement of the fan character, so, it is especially important to spend enough time and attention to it to make it as smooth as possible and pleasant to use for the player. Also, the fan should be heavier than the battery player. It is important that its movement give a feeling of heaviness. We focused on the following aspects of its movement :

- Rotation :

The character should rotate to aim certain directions, we decided to use the right-thumbstick to aim, since this input give an angle value. When the user use the thumbstick, it gives an angle value that becomes the target of the rotation, and the character will start to rotate to that position.

To keep a smooth rotation in the game we also decided not to determine this rotation by a specifc speed, but by a time of rotation. In short, it doesn't matter if the character have to rotate 10° or 170°, it wil do it in the same time. The rotation stops when thumbstick is released.

This rotation system has the following advantages : it allows to the player fast changes of direction on large angles, it allows the player to be more precise when aiming a precise point.

- Movement :

When the character is pressing the blowing input, it will move in its back direaction. The hardest part of making this movement was to give the character an heavy/floaty movement. Finally, we solved this by using forces that are applied on the character.

- Base Movement:

Files

  • BlowIt-v0.4.zip 44 MB
    Mar 28, 2024
Download Blow It !
Leave a comment