Things i have learned from my creating my First ever game

You can check out game trailer on this link: Game Trailer

If you would like to play the game you can download it down here
Download link

Introduction

My colleague and I created a video game called Deadshot, a First person shooter (FPS) where players take on the role of a sniper tasked with defending critical city infrastructure from drone attacks. The game is structured across multiple levels, each level with a new city infrastructure to defend and progressively more challenging. Deadshot also comes with customizable loadouts to adapt to increasing difficulty.

The gameplay becomes particularly intense in later levels, where drones approach continuously, forcing the player to think and react quickly to prevent damage to city infrastructure. This project took us about one month to complete, and we were thrilled to secure 3rd place in the competition. We are proud of the final product, and I want to share some insights into the development process and the technical challenges we faced.

Realistic Ballistics: Gravity and Wind

One of the primary goals of Deadshot was to create realistic bullet physics. We implemented both gravity and wind effects to influence bullet trajectory, making aiming more engaging and challenging.

Gravity: This was relatively straightforward to implement. Every bullet is affected by a constant downward force, simulating real-world gravity. We simply let bullet use the built in gravity in Unity and fine tuned it using the weight of the bullet.

In the image down bellow you can see how gravity effects the bullet in real life.

Wind: Wind was significantly more challenging because it is dynamic and random. We modeled wind as a Vector3 force applied to bullets during flight. The wind vector has a random intensity and direction, pushing bullets off course. To ensure the game remained playable, we added a wind gauge to the UI, displaying both wind direction and intensity in real time. This allows players to adjust their aim and anticipate the bullet’s path without feeling unfairly penalized.

Image down bellow demonstrates how wind affects the bullet.

Dynamic Weather

Using Unity’s particle system, we added sunny, rainy, and foggy weather. Sunny was the default, while rain and fog made levels harder by reducing visibility and forcing players to adapt.

By combining these forces, we created a sniper experience that feels realistic while still remaining fun and accessible.

Technologies used:

Game engine: Unity
Scripting: C#
Art: Photoshop
Audio: Audacity
Video: Adobe Premiere

First-Time Game Development

Coming from a background in web development and small JavaScript projects, creating a video game was a challenge. Game development turned out to be a completely different world. It required combining programming with real time physics, visual design, and sound integration.

Despite the steep learning curve, I thoroughly enjoyed the experience. It gave me a newfound appreciation for game developers and the complexity involved in creating video games.

Why Unity?

Unity proved to be an excellent engine for beginners. It allows developers to focus on game logic and design without needing to fully understand the engine’s inner workings. Its package ecosystem is incredibly convenient, almost every tool or asset we needed from physics modules to UI components was available in the Unity Asset Store.

I also appreciated Unity’s C# scripting environment, which felt familiar coming from full stack development while giving me full control over gameplay mechanics. This combination of accessibility and power made Unity the perfect choice for our first project.

What I Learned

Creating Deadshot taught me a lot, both about game development and working with a team:

  • Even a small game needs careful thought and planning, because it can get really messy real quick if you are not careful.

  • Getting things like bullet drop and wind to feel realistic takes more math and fine tuning than I expected but it was super satisfying.

  • The best way to really learn something isn’t by endlessly watching tutorials it’s by diving in and doing it yourself.

  • Trying to make a game myself gave me a whole new appreciation for what professional game developers do it’s way harder than it looks!

  • Testing early and often, and tweaking things little by little, made a huge difference in keeping the game balanced and fun.

  • Using git as a team for the First time taught me Essentials of how to use it and made me realize how powerful of a tool it actually is.

Conclusion

Deadshot was not just a game it was a learning journey that allowed me to explore physics simulation, real time decision making, and the challenges of interactive design. And of course some things could have been done better but with the deadlines we had to meet i believe we did best we could.

We’re proud of what we accomplished and excited to continue exploring game development in future projects.

Thanks for reading this.

Similar Posts