Inspiration
Game development has always been something that interested us, and this hackathon is the perfect opportunity to try it out.
What it does
Just a 2D shooter game with multiplayer capibilities.
How we built it
We used C++17 and SDL2 along with SDL2_image and SDL2_net.
Challenges we ran into
The actual game turned out very well. We ran into multiple small problems during the development, such as when we spent almost an hour trying to figure out that we passed in a null pointer and were trying to dereference it, which caused a segmentation fault. There was also the challenge of getting proper sprites and tiles for the artwork, because we wanted to make the game as nice-looking as possible. We did manage to find proper assets, and they complement the game style really well, which we count as a major success. One major challenge we faced was dealing with the mathematics that goes into game development. For instance, when we were creating the parabola for the water balls, we needed to make them rotate in the direction of the curve (the rotation should essentially follow the path of the curve). This was achieved using trigonometry, although it took us a while to get the math right. A much simpler example was the math needed to make the cannon face the mouse, which was a simple call to atan2. We also managed to make animations for players being idle, standing, and for the projectiles. The game mechanics are pretty simple: you control a character with the arrow keys and try to “kill” the other player by shooting them with a cannon on the map. We unfortunately weren’t able to implement server-side multiplayer, but local multiplayer does work (it’s something that we didn’t have enough time to fully implement).
Accomplishments that we're proud of
A working game. Proper assets.
What we learned
C++17 SDL2
What's next for WaterPunk 2022
Adding more projectiles.

Log in or sign up for Devpost to join the conversation.