top of page

Car Soccer

Introduction

Described as "soccer, but with rocket-powered cars", Rocket League has up to four players assigned to each of the two teams, using rocket-powered vehicles to hit a ball into their opponent's goal and score points over the course of a match. The game includes single-player and multiplayer modes that can be played both locally and online, including cross-platform play between all versions. Later updates for the game enabled the ability to modify core rules and added new game modes, including ones based on ice hockey and basketball. (Wikipedia: Rocket League)

Purpose

To render compelling 3D computer graphics and games in real-time, all graphics data has to be sent to the GPU using a graphics API such as OpenGL or DirectX. This project is used to understand the physical model in interactive games by computing the positions, velocities, and other quantities needed to make a simple 3D interactive game based on the 2015 game Rocket League.

The implemented gameplay is simply relative to what it could be: having the computer put the ball into play, kicking off the ball from the center of the pitch whenever the space bar pressed; programming support for hitting the ball with the car whenever the two come into contact; detecting when the ball hits the goals on either side of the pitch.

Design

The graphic interface and the interactive button is not a big deal with the help of given toolbox. The problematic part of the project is the physical collision model. Although I was trying to use the vector to simplify the calculation, the model still "fragile" because the smallest error would cause huge differences to the result; moreover, fraction and gravity equations were also considered during the calculation. Thus, I printed the result for each step and re-calculated the results manually to make sure each step is correct.

bottom of page