Ricochet Noir

Ricochet Noir is a game jam project where we had four days to develop a game with the theme of "Multiplayer". On a team of six, we decided to make a top down 2D arena shooter where two people are in a shootout in a warehouse. It is made in black and white, and makes use of the 2D shadows in Unity to create areas of complete darkness to hide in. The bullets that the players fire also bounce off of walls and objects to make the gameplay more dynamic and fun as they try to hit each other. They also only have one shot before they have to find another gun to pick up. The game requires two switch controllers to play.

Check it out on Github!

It requires two switch controllers to play properly, but if you have know how the Unity input system works, you can make it work with other controllers or keyboard.

Bullet Bounce Code

The code for the bouncing bullets is quite simple, just using Vector3.Reflect on the normal of the object the bullet collides with. This could be more accurate if I used ray tracing, to detect where the bullet should go first, but the time restraints made it difficult to implement that properly.

Lighting

The lights are prefab objects that have a target sorting layer that determines what they should shine on. LightBottom is the floor, LightMid is the player and other objects, and LightTop is the walls and obstacles.

By having these layers, it became possible to make the shadows dynamically interact with the environment, and create interesting shadows. The intensity of the shadows was also turned up to max so that the player could hide completely in them.

There is a lot more code behind the scenes for gun spawning, shields, UI, and randomly picking 1 of 3 levels when the game starts. It is pretty straight forward, and you can find it all on Github.

Previous
Previous

C++ Game Engine

Next
Next

Hierarchical State Machine