Programming

The game features an in-depth programming language that allows you to write and execute software that can manage and manipulate the state of other objects in-game. The name of this programming language is called Pilot.lua, which is a reference to rbx.lua.

The main parts of programming are
 * Microcontroller - An object that stores and runs code when triggered by polysilicon and powered.
 * Port - Allows the microcontroller to interact with other objects, trigger and configure, etc.
 * Screen - A programmable object that can display user interface objects such as TextLabel, ImageLabel, etc.
 * Disk - Stores values in a directory-like format.

The code below is code for a smart turret that takes chat commands and targets players accordingly, with the command "target playername" There are many functions in Pilot.lua that allow you to interact with other objects. These are the following default functions listed.
 * GetPort(ID) - Returns a port instance that can be used in other functions.
 * GetPartFromPort(ID or Port Instance, ClassName) Returns a part if found directly attached to a port. An example would be GetPartFromPort(2, "Screen")
 * TriggerPort(ID or Port Instance)

All objects will contain certain programmable properties and functions. However, all instances will contain the following properties: Certain parts however will have their own special properties. Alternatively, a wiki exclusive to Pilot.lua can be found here: https://github.com/iimurpyh/pilot.lua/wiki. You can also visit https://wos.mawesome4ever.com for a list of all the parts, a brief description and their programmable properties/events which are all pulled using a script so there might be a few kinks.
 * Configurable properties, for example an ionrocket's thrust speed property
 * ClassName, which is simply the name of the object
 * Object:Trigger, which simply triggers the object
 * Object:Configure({Property=NewValue}), which configures the part to the given dictionary/table
 * Object:ConnectToEvent, which is similar to roblox connections (part.Touched:Connect). An example includes TouchTrigger:ConnectToEvent("Touched", function end)
 * Screen
 * Screen:CreateElement(GUIClassName, Properties), an example includes Screen:CreateElement("TextLabel", {Text = "Hello World!"; TextScaled = true});
 * Screen:ClearElements, which clears all elements in a gui