This repository contains the prototype code for a 3D remake of the classic game "Space Taxi", using the Squirrel programming language and the GameStart 3D engine. The game relies a bit on physics (powered by Bullet Physics).
The game revolves around controlling a helicopter (the player), landing on different platforms ("pads"), and moving between towers (only one tower actually exists).
The code is divided into several script files, each serving a different purpose:
This script handles the main gameplay logic. It primarily deals with finding and managing pads and the player's helicopter.
FindPads(scene)
: This function locates all the pads in the current scene.FindPlayer(scene)
: This function finds the player's helicopter in the scene.CyclePads()
: This function is called every 5 seconds to select a new active pad from the list of all pads. The new pad is different from the current one.OnUpdate(scene)
: This function is called in each frame to update the game state. It triggers theCyclePads()
function if the player's client is not loaded.
The Tower Scene Script is similar to the Main Scene Script and is meant to run specific events related to the tower.
This script handles player inputs from either a game controller or the keyboard. The game controller's Axis Z is used for throttle control (acceleration), and Axis X is used for directional control.
The Beacon script is a helper for the game camera. It makes the camera follow the player's helicopter in the scene, with a smooth trailing effect.
This script handles the room transition logic in a level. It maintains a room_connection
structure that defines how the rooms in a level are connected and where the spawn points in each room are.
This is a legacy codebase that was developed using an older version of the GameStart 3D engine. It is presented here for posterity and to possibly serve as inspiration for similar projects.