Knockout

A collaborative student project - we were tasked with designing and building a game, as well as making a simple game engine for it (C++, OpenGL, Nvidia PhysX). We delivered a bumper car game where the player has to knock all AI opponents off the map that is continually shrinking.

screenshot.png

Role

  • C++ Engine & Gameplay Programmer, and Game Designer

Contribution

  • Designed and implemented a simple renderer to support our game using C++ and OpenGL

  • Assisted with PhysX integration

  • Integrated an obj importer & set up mesh handling for the engine

  • Set up and integrated a control scheme for the game

  • Set up a rudimentary AI state machine for the opponents

  • Tweaked systems and variables to achieve a more satisfying gameplay

  • Helped integrate other people's code into the codebase and maintained the engine throughout the course of the project

  • Applied basics of 3D math to build game systems

  • Learned new concepts and skills (OpenGL, game systems) in parallel with ongoing work

  • Co-designed game mechanics and co-wrote a design document for the game

Takeaways

  • Gaining foundational understanding of how game engines work

  • Gaining familiarity with OpenGL's rendering pipeline

  • Significantly strenghtening my C++ skills

  • Basics of Nvidia PhysX integration

  • Getting game design experience in practice