Inspiration

We were inspired by the Zombies and 1v1 modes of Call of Duty, as our idea was a merge of the two modes, where players work together to fight zombies and kill each other for extra points. Additionally, the Celsius cans inspired us to make the game about energy drinks fighting for their life against hackers. Because of this, the Celsius cans given to us are the sprites for the players in our game.

What it does

Caffeine Crash is best described as a PvPvE game. Play as one of the last two remaining energy drinks at a hackathon. Hackers swarm you in every direction and you must use the energy stored in your can to push them away. Your rival, the other remaining can, has the same idea. Compete with them for points and kill each other to win. This can be played in single player against a bot or 1 versus 1 online!

How we built it

The game was built in the Godot 4.5.1 game engine, using the Native GDScript language. It uses the "scene" system to make every programmable part of the game its own unique node with unique attributes. We used the Global/Singleton data structures to carry on values across different levels, and we used Godot's high-level multiplayer API (with nodes like MultiplayerSynchronizer) to work on the LAN Multiplayer mode.

Challenges we ran into

Since this is a more technical challenge, we focused on adding things like controller support, bots, and LAN multiplayer to our game. While the tutorials made it seem simple, the LAN multiplayer especially came with MANY challenges that we did not end up meeting. Fortunately, at the very end, we got a basic LAN setup to work! Because of all these features, time management was a huge issue, and there are many aspects of the game that we had to leave unfinished or just marked as "did not get to making/fixing"

Accomplishments that we're proud of

While this project was overambitious and many points were unfinished, we are still proud of what we made in 24 hours. -With what worked, we are proud of setting up LAN multiplayer and getting the basics done, as the three of us all have no multiplayer experience, and we were able to make a scene where Max and Nicolas played as two separate, controllable characters, who were able to damage each other. -Setting up a proper player system with proper shooting was a great accomplishment for us that happened early into development! -Learning how to use 2D raycasts for the laser was a fun challenge too!

What we learned

While this project was overambitious and many points were unfinished, we still learned about plenty of technical aspects of Godot, including: -Using native Git commands/version control in Godot -Adding controller support to our project -Adding static and dynamic UI to the player to display key attributes -Linking multiple nodes as "scenes" to work together -Using generative AI CLIs to help debug Godot projects

What's next for Caffeine Crash

The priority is definitely to get LAN Multiplayer to fully work. We spent a number of hours getting the basics to function as well as they do, although this comes with many restrictions, as happy as we are with it. We also want to add a proper Co-op mode with split screen, where you can play multiplayer locally!

From there, adding proper polish, waves of enemies, balancing the weapons, and more are priorities of ours. Perhaps taking a Udemy course on Godot multiplayer would drastically help us improve our game!

Built With

  • gdscript
  • godot
Share this project:

Updates