V0.7. Masterminds of the puzzle


Hello, fellow gamers. 

We have some fun updates to share with you this week. Our first production sprint ended, where we tried to implement all the base game mechanics and models. Now a second sprint begins, where we aim to make the actual game level with all the mechanics and assets we have, as well as fixing some bugs found through playtesting.


Fan now rotates when activated also fixed the rotating platform i wasn't using quaternions. ADDED Chargeables, added activatable FAN that pushes players away made pushing walls that just moves until the activator is activated and then stops for a pre determined time.


Models:

The fan model is finished! The shader graph made for the enemy material was put to good use and reused for the fan. There are batteries on the back of the model, showing how much power is left. They have yet to be textured, since it will probably need to be animated in some way. Looking forward to see it come alive with animations, since the rig is finished!





Models: 

Made the rig for the enemy character. This took a long time because i was still trying to figure some things out. I also added the controllers for the rig and constrained all joints. For now there is only one small problem that i dont know how to fix but seeing that i will animate the model myself and it isnt a big thing i will probably work around this.


Models: 

Made the rig for the fan character. It took me sometime to figure out a way the rig the antenna at the top seeing that i completely forgot an IK handle didnt have to be over 3 points only. After figuring this out everything went pretty smoothly. I added the controllers and constrained all the joints.



Models:

The final battery model has been sculpted and painted. We used a placeholder mesh for about a month, but soon there will be a fully finished character in the game. The hands that were made for the enemy were reused for this model, just painted a different color to match the aesthetic of the character.



Puzzle: 

I started working on a puzzle level, It wasn't easy to make this seeing that i don't have a controller so basically no way to test the level i made. I tried thinking of fun ideas for the puzzle and a way to make both characters do interesting things.


Rework of the moving platform to make them followed by the entities on it : 

Before explaining this point, I need to elaborate a bit about the movement in Unity. Indeed, in Unity you have two different ways to move an entity. Either by changing its position value directly or either by applying forces on it if this entity is a physical object. These two systems have both their advantages but mixing them can lead to a lot of trouble. This week, we learnt it the hard way... Previously, we tried to solve the following problem, the player wasn't following the following the moving platform while it was on it. This problem was due to the fact that the platform were moving by translation and the character was moving by force. Earlier, we tried to solve this problem by parenting both objects when they enter in contact, so the player can still follow the movement. The problem with this method is the fact that we are correcting the player physical movement with a transform movement, which led to the mess mentioned earlier. We had to find another solution to make the player follows the moving platforms. At a first glance, the solution seems easy, we just had to make the platforms move physically, and that's what we did, but the player was still not following the platform... strange... After (a bit too much of research) we discovered that it was due to the fact that we modified the player to have absolutely no friction in order no to stick to the walls, and we want to keep this behaviour, the solution we found was to modify its physic material in real time. When the character is on a moving platform and is not moving itslef, there is a low amount of friction force applied on it, when the character is moving, no friction is applied on it, and after all that, finally, we got a convincing for the moving platforms !!!


Enemy movement : 

 This week also saw the introduction of light bulb enemies in the game. These enemies have a propeller in the back of their model, we had so to create for them a movement that feels coherent for their model. When an enemy is moving, it always goes in its forward direction. If it needs to change its direction, it will rotate, but continuing to move in its forward direction, that works pretty well and gives a kind of floaty movement to the enemy which is exactly what we wanted. The enemy will also rotate around its X axis to always look at its target. This rotation is only visual and will not influence its movement. We firstly wanted to give to the enemy a movement in 3D space but we'll explain in the next section why it wasn't possible in the scope of our game.

The struggle of Enemy pathfinding : 

When the enemy is trying to reach a target , we obviously want from him to avoid all the obstacles on its way. Since the enemies are flying, we wanted to let him move freely in 3D space and so, we would have to implement a three dimensional pathfinding to make it avoid obstacles in all these dimensions. We made a lot of research and unfortunately we discovered that implementing this would take way more time that what we have to finish the project... We also found existing packages for 3D pathfinding, but they were all extremely expensive. We had to come to the unfortunate conclusion that a 3D pathfinding won't be possible... Instead we made the enemy moving on a 2D plane, using 2D pathfinding. We gave the illusion of flying by making its model hover and by making the model rotate around its X-axis. Since there already exists the nav mesh system in Unity for pathfinding, it was relatively easy to implement.


The enemy behaviour: 

We made a very rudimentary AI to control the enemy, this AI has the following rules :

  • if nothing happens the enemy is waiting at its start position.
  • if the enemy sees a player, it will start to follow it
  • if the player don't see the player anymore, it will reach the latest known player position
  • when this position is reached, the the enemy still does not see the player, it goes back to its starting point.
  • when the enemy is close enough to a player, it will steal its energy.
  • when the enemy is full of energy, it explodes killing all the players in radius.

We also added indicator to show explosion radius and explosion time.


The stun system : 

Now that enemies are existing, we need a way to stop them, or at least to slow them. We started to work on the battery weapon. In our design, we wanted the battery to be very fragile and pretty weak against enemies, so we can't give to the battery the ability to kill the enemies. The only thing the battery can do is stunning enemies for a few seconds. To achieve that, the battery has to throw an electric orb on the enemy. We also added a visual indicator to help the player to aim.

The struggle of the rotating platform: 

So last week we had a rotating platform that rotates when it needs to but it only did that in over the Y axis so this week we wanted to make it better and make it so we can chose around which axis it can rotate i tought it would be peace of cake to make this so we started and i thought we did it cause it could rotate over Y and Z perfectly but when rotating over the X axis something went wrong and it doesn't rotate a full 360 like the other did and we were actually stuck on this for a good amount of time until a lesson from my amp2 came up about Gimbal lock and we actually had gimbal lock as we weren't using quaternions but euler(my bad) so then we fixed it to use quaternions instead and that fixed the issue instantly Puzzle Mechanics: So we added some more mechanics to build levels/puzzles with. We made a Teleporter that when a player stand on the teleporter and the other player activates it it teleports the player to a position defined, We made the rotating wheel when activated Turn around instead of not doing anything. Also added a Pushing wall that constantly moves int a direction wanted and then goes back just pingponging between start and end postion when i actiavate a trigger it stops moving for a predetermined amount of time. We also spent alot of time thinking on what mechanics to add and what other puzzles we want to make and how we would implement it. I was thinking maybe we need to make a system that can add sequence and pattern puzzles to the game to make more difficult so i did some reschearch for it and it should be possible but im gonna have to make a whole new system for it which im gonna try and do by next week. Also i forgot we added a activatable fan that pushes the players(for now cause i want it to blow other objects aswell) in the direction of the up vector of that gameobject. We found a bug in the elevator/moving platforms and fixed i

Conclusion this week i spent alot of time on puzzle mechanics and thinking of wat we can still add/make better.

We hope you enjoyed reading the devlog as much as we enjoyed working on the game this week.

See you next week!

Files

BlowIt-v0.7.zip 53 MB
55 days ago

Get Blow It !

Leave a comment

Log in with itch.io to leave a comment.