BusinessesCareer Development

Project Tutorial: Best Practices for Building Gun Shooting Game

Nitish base design (1)

Thefooting is a senior software engineer who loves developing games. Currently, he is working as a C++ Senior Developer in Underdog-Games which he co-owns with the fellow livestreamer brodie124. In the past, he worked as a digital marketing expert in DHatch. His love for developing games has motivated him to stream on and share his knowledge with the audience.

The project that he will work on is “Best Practices for Building Gun Shooting Game.” This project is in TEACHING mode. It is a live and real-world project. This means that you can interact with the streamer and communicate with them directly using chat. Got stuck? Just go ahead and ask him questions.

  • Starting Date: Tuesday, 9th May 2017
  • Schedule: Weekly 10 am EST New York time on Monday, Wednesday, Thursday

What is the project about?

Game development can sometimes be a challenging trade. It requires knowledge of different spheres including mathematics, design, philosophy and writing. The tutorial is aimed to teach best practices required to develop an elegant and functional shooting based game. Key topics such as client prediction and character movement will be taught in the class. Later on, the streamer will teach advanced subjects such as ragdoll physics and mesh culling. He will also use Orge3D to showcase a lot of mathematical based principles.

For who is the project aimed at?

The project is aimed at learners who want to improve their game development skills. Anyone who is also interested in shooter games and wants to know how different game elements work together in a shooter game will make the most out of the tutorial.

To completely enjoy and learn at the same time, the viewer should have a basic understanding of C++, Java, and high-school mathematical knowledge. If you are a complete beginner, the course is not for you. You need to meet the basic requirement before you can start with the tutorial.

Note: A desire to learn is the most important. If you are willing to learn something new, you are good to go.

The target audience for the course:

  • Current programmers who want to learn game programming practices
  • Armature programmers who want to further their knowledge
  • Software Developers that want to delve into the world of game programmers
  • Game developers that want to refine their practices

What will you be able to do after you finish the course?

After you complete the tutorial, you will be able to build shooting games. This is extremely useful for budding game developers who want to dive deep into game development. You can take the skills learned from the course and use it build something new and unique.

The Curriculum

Session 1: Setting up the Environment

  • Setting up the programming environment for windows
  • Setting up the programming environment for mac
  • Setting up the programming environment for Linux

Session 2: Character movement and mesh culling

  • Basic overview on some linear algebra concepts
  • Coding interpolating movement for smooth transitions
  • Code differing methods of culling and review their advantages

Session 3: Bullet physics and ragdolls

  • Review different bullet physics models and concepts such as line tracing for axis aligned and vector projection
  • Code a bullet physics model in Oger3D
  • Implement a ragdoll physics model in Oger3D

Session 4: Client prediction

  • Discuss the principles behind client prediction
  • Implement a basic client prediction model in Java 3D
  • Implement a more advanced client prediction model in Java 3D

Session 5: Networking

  • Review basic client/server principles
  • Further discuss optimization of communications between clients and servers
  • Code a functioning and efficient networking model in Java 3D

If you are interested in making a shooter game and learn the intricacies that go into making a shooter game, the course is for you. With the knowledge gained from the course, you can become a better GameDev and improve your overall skills.

To watch and learn, you need a LiveEdu Pro subscription. With just the subscription, you will not only be able to learn from this tutorial but also get access to other Premium Project Tutorials.

About author

I, Dr. Michael J. Garbade is the co-founder of the Education Ecosystem (aka LiveEdu), ex-Amazon, GE, Rebate Networks, Y-combinator. Python, Django, and DevOps Engineer. Serial Entrepreneur. Experienced in raising venture funding. I speak English and German as mother tongues. I have a Masters in Business Administration and Physics, and a Ph.D. in Venture Capital Financing. Currently, I am the Project Lead on the community project -Nationalcoronalvirus Hotline I write subject matter expert technical and business articles in leading blogs like,, Cybrary, Businessinsider,, TechinAsia, Coindesk, and Cointelegraph. I am a frequent speaker and panelist at tech and blockchain conferences around the globe. I serve as a start-up mentor at Axel Springer Accelerator, NY Edtech Accelerator, Seedstars, and Learnlaunch Accelerator. I love hackathons and often serve as a technical judge on hackathon panels.