Inspiration
Ricochet is inspired by your classic top-down shooter games with a twist—the bullets ricochet off walls and obstacles! We wanted to create an exciting 1v1 shooter that combines fast-paced action with strategic use of the environment. The goal was to make a game that’s easy to pick up but offers endless possibilities for skilled gameplay.
What it does
In Ricochet, players face off in a 1v1 top-down arena. Player's start at opposite ends of arena and try to hit each other with their laser gun. BUT WATCH OUT! the laser bullets will also bounce off walls and other objects. The aim is to outmaneuver and outsmart your opponent, using ricocheted bullets and strategic movement.
Features of this game include
- randomly spawned power-ups that enhances your speed
- obstacles that can shield you and block bullets
- a timer that adds points for every 10 seconds you stay alive in the game
- respawn after death for continued rounds
- day to night map
Players score points by hitting the other player with a bullet or by outlasting them, and the first player to 100 points wins!
How we built it
To program Ricochet we used Lua and Roblox Studio Libraries. Lua is a lightweight, high-performance scripting language designed for embedding in applications, making it ideal for game development due to its flexibility, speed, and ease of integration with game engines like Roblox Studio.
Accomplishments that we're proud of
We’re proud of creating a creative game that can be deployed and played using Lua. The ricochet mechanic, is fun and adds a dynamic layer to the combat that forces players to think about their surroundings. We’re also proud of the power-up system, particularly the visual feedback (glow effect) that makes the speed boost feel exciting. In addition the overall game creates a fun competitive atmosphere that we’re really happy with.
Challenges we ran into
Bullet collision detection: Ensuring accurate ricochet mechanics and bullet-object interactions to account for precise angles and speeds.
Network synchronization: Handling multiplayer elements in Roblox Studio, such as syncing player positions, actions, and bullet trajectories in real-time
Performance: Maintaining smooth gameplay while managing multiple physics interactions (bullets, characters, ricochets) on the server and client side
What we learned
In addition to familiarizing ourselves with Lua as a language, we learnt valuable lessons:
- Designing UI elements that are functional and keep the user in mind to enhance gameplay. 2.Problem solving and debugging: working through bugs and refining mechanics in the game
- Collaboration and communication: communication is key
What's next for Ricochet
Ricochet can easily be turned into a multiplayer game which would add to the intensity and enjoyment of the game with multiple enemies and more bullets to ricochet. Other features can also be implemented such as power up shields, leaderboards with multiplayer, and more game maps.
Built With
- chatgpt
- lua
- robloxstudio
Log in or sign up for Devpost to join the conversation.