nithinp7 / Drifty-Cars

Top-down Car Game

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Drifty-Cars

Disclaimer: I built this in high-school (Spring 2017)

A top-down, procedural, car-chase game. Drifty Cars was built in Java using the following libraries:

  • Processing - A wrapper around JOGL (which itself is a Java binding of OpenGL).
  • Beads - For sounds.
  • Box2D - For physics.

Some notable hand-built features:

  • PID-based AI for both road traffic as well as police.
    • AI can follow roads, avoid obstacles, anticipate the motion of other vehicles, and even reverse out when stuck.
    • The AI path-finding is robust due to PID controls and can recover quickly when crashed into.
    • The police AI effectively avoid hitting each other or traffic, while attempting to ram the player.
  • A simple procedural system to place roads and buildings. The procedural roads auto-generate target paths for the road traffic AI. The world center has to seamlessly keep moving to keep the player near the center. A seamless "conveyor-belt" system was implemented successfully to do this.
  • Many visual features (mostly naively implemented)
    • Particle system for police siren lights, kicked up dust, and explosions.
    • A render-target to track tire marks on dirt, that works with the procedural "conveyor-belt" movement.
    • Simple directional shadow mapping for the buildings.
    • Extremely simple, arcade-style UI.

YouTube videos of the project:

About

Top-down Car Game


Languages

Language:Java 98.3%Language:GLSL 1.7%