Portfolio | Taxi Missions

Taxi Missions

A modification for GTA4 ( video-game )

Role: Lead Programmer
Responsibilities: Write the program using a script hook library. Work with partner, direct and aid them into obtaining locations in the game world for mission destinations.
Employer: Self.
Duration: First quarter of 2009.


Grand Theft Auto 4 is an action adventure set in a modern city. It is developed by Rockstar North and Rockstar Toronto. The videogame allows the user to drive any vehicle type including taxis, ambulances, fire trucks. In the previous versions of the game, the player could initiate missions from these sorts of vehicles, but this feature was lacking in this version of the game.

I coded the taxi mission functionality on top of the game’s scripting engine by using an unofficial third party modification which allowed people to write scripts for the game using C++.

The game modification allows the users to activate the missions by the press of a button after entering a taxi. When the missions are activated, the taxi light of the vehicle is switched on and random pedestrians start calling out for a taxi. When the player stops near one of the selected pedestrians, he or she enters the vehicle. The destination is displayed as text on the player’s screen. A tip bar appears on the screen, to show potential tip to be earned. The total tip amount depends on the distance travelled and is affected when the player crashes into other vehicles or pedestrians.

The mod has a few cosmetic features. These features are not necessary for the functionality of the mod, however it adds a lot to the atmosphere of the game:

  • Taxi light toggles on and off depending on mission status
  • The passenger says hello in their language after entering the vehicle
  • If the car is damaged, a waypoint is displayed to the nearest repair shop
  • When the car jumps off a ramp, the passenger shouts in amazement
  • When the car crashes, the tip bar decreases and the passenger starts cursing

Screenshot of the User Interface:


Over 7000 downloads from multiple websites, youtube videos accumulated over 50000 views. Example videos:


Source code:

You can find the source code here.