top of page

Clean Dream

Summary of the game

In this multiplayer game, the two characters have to suck up all the nightmares in their dream before the night is over. If they've sucked them all up, they've won; if not, they've lost. Both players must work as a team to catch the different types of nightmares, including the moles that hide in their holes as soon as a player approaches. They'll have to use the full potential of their vacuum cleaner, which allows them to suck in, expel and project projectiles to stun the nightmares for a short time. Will you get a good night's sleep?

CUBI18avril-0044.jpg

My contribution

Here's a list of the main tasks I performed in Clean Dream

  • Make a vacuum cleaner mechanic that allows you to suck thanks to an input.

  • Nightmare aspiration.

  • Replicate the nightmare suction animation (reducing the size of the nightmare and directing it towards the vacuum inlet).

  • Be able to aspirate (draw towards yourself) the other player.

  • To be able to aspirate (attract towards oneself) physical objects (candies as well as success objects such as the big cake and the big apple) in a replicated way.

  • Be able to suck up a success object.

  • Block the vacuum cleaner if it has sucked up a candy and play the blocked vacuum cleaner sound. As well as preventing the player from being able to vacuum if his vacuum cleaner is blocked, and play the blocked vacuum sound if he presses the vacuum button again.

  • Replicate the VFX (wind effect) of vacuuming on both characters.

  • Play a suction sound when the player sucks and stops sucking.

  • Create a vacuum mechanic that uses an input to expel.

  • Projectile candies are projected if the player expels air with his vacuum cleaner if his vacuum cleaner is blocked. As well as replicating the movement of the candy so that the candy moves to exactly the same place on both the server and client sides. If a nightmare is in the player's field of vision when he shoots a candy, there's a little “aim assist” that will direct the candy in that enemy's direction, making it easier to aim and use this mechanic. If no nightmares are in the player's field of vision at the time of firing, the candy will simply be projected straight ahead at a predetermined angle.  

  • Make the candy destroy itself on impact with a nightmare (using Unreal's “Chaos Destruction” system) and ensure that the destruction of the candy in small pieces is well replicated. 

  • Replicate the interaction animation when the player plants his vacuum cleaner in a mole hole and blows into it. 

  • Prevent movement or jumping if the player is interacting with a mole hole.

  • Be able to expel/push the other player with the expulsion.

  • Be able to expel/push out physical objects (candies/rochers as well as success objects such as the big cake and the big apple) in a replicated way.

  • Replicate the VFX (wind effect) of the expulsion on both characters.

  • Each player has a variable corresponding to the total number of nightmares he/she has sucked in/captured in the current game.

  • Add all music to the game, and ensure that the default volume is not too loud and well adjusted.

  • Numerous other bug and crash corrections (notably in connection with the travel server at the end of a game).

Conclusion

This game was by far my most complex project in terms of online multiplayer gameplay. But it's also probably the game I've learned the most about. I'm very proud of what I've been able to achieve, and of the game we've produced as a team. We wish we'd had more time to polish the game before the deadline, but we're very pleased with the end result!

bottom of page