Ein wichtiges Element in Onbroga ist das Hacken. Damit dies nicht zu zeitraubender Schwerstarbeit wird, schickt der Hacker ein Programm, welches alles für ihn erledigt. Diese Programme werden
.
Abgesehen von Angriffen können die Programme auch zum Schutz des eigenen Gateways oder zum Einleiten eines Transfers von Systemressourcen eingesetzt werden. Zu diesem Zweck sind die Programme nochmals in genauere Spezialisierungen eingeteilt.
So sind die Scanner-Typen besonders gut zum Erkennen von anderen, möglicherweise feindlichen, Programmen. In Verbindung mit den Verteidigungs-Typen, bilden sie eine kaum überwindbare Firewall.
Der Gegenpart hierzu wären die Tarn- und Angriffs-Typen. Sie haben einen besonders guten Tarn-Faktor, damit sie beim Angriff nicht so schnell entdeckt werden, welches bei den normalen Angriffs-Typen der Fall ist.
Für den Datentransfer sind die Transporttypen vorgesehen. Sie können Unmengen von Daten und Ressourcen transferieren, was sie auch als Angriffsunterstützung gut aussehen lässt.
Schließlich ist da noch der Allround-Typ. Dieser vereint von allen Typen einen Teil in sich, was ihn multifunktional einsetzbar macht.
Jedes Programm besitzt definierte Eigenschaften. Es wird unterschieden zwischen allgemeinen Informationen und dem aktuellen Status des Programms.
Name
Der Name wird von dem Erbauer vor dem
Entwicklungsstart eines neuen Programms festgelegt, und muss im gesamten Spiel einzigartig sein.
Typ
Der Typ eines Programms bestimmt seine sogenannten Grundwerte. Ein Programm kann, wie oben beschrieben, also zum Beispiel besonders gut Ressourcen transportieren oder zum Beispiel angreifen.
Entwicklung
In der Entwicklung wird beschrieben, wann und von wem das angezeigte Programm
erstellt wurde.
Größe
Jedes Programm verbraucht Speicherplatz. Die Größe bestimmt wie viel Speicherplatz benötigt wird, um dieses Programm in einem Gateway zu speichern.
Systemzustand
Der Systemzustand beschreibt den Zustand des ungeschützten Programmkerns. Sobald die
Schutzhülle durchbrochen ist, nimmt das Programm vitalen Schaden. Dieser Schaden kann auf die eingesetzte
Steuerungs-KI durchschlagen. Durch die kognitive Bindung der
Steuerungs-KI an das Programm, brechen bei einem Programm automatisch die Systeme zusammen, sobald die
Steuerungs-KI zerstört wurde. Sobald der Systemzustand auf 0 sinkt, ist das Programm zerstört und nicht mehr reparabel. Es bleibt als Datenmüll auf der Festplatte zurück, welcher entfernt werden kann.
Schutzhüllenzustand
Die Schutzhülle umgibt ein Programm vollständig und macht es resistent gegen Angriffe von feindlich gesinnten Programmen. Die Schutzhülle muss vollständig zerstört werden, bevor das Programm
Systemschaden nimmt.
Tarnung
Die Tarnung bestimmt wie gut ein Programm sich unauffällig im Netzwerk bewegen kann. Je höher dieser Wert, desto schwieriger wird es, das Programm zu entdecken. Bei einem Angriff kann so der Überraschungsmoment maßgeblich von dieser Eigenschaft abhängen. Die Funktionsweise der Tarnung wird in dem Artikel
Firewall/Missionen beschrieben.
Detektorstärke
Die Detektorstärke ist das Gegenstück zur
Tarnung. Je besser dieser Wert, desto leichter fällt es einem Programm, getarnte Programme zu identifizieren. Im Falle eines Angriffs kann also der Aggressor frühzeitig entlarvt und Gegenmaßnahmen ergriffen werden. Die Funktionsweise der Detektorstärke wird in dem Artikel
Firewall/Missionen beschrieben.
Angriff
Die Angriffseigenschaft bestimmt wie gut sich ein Programm
als Aggressor gegen seine Gegner durchsetzen kann.
- Der Wert definiert sowohl die Offensiv- als auch die Defensiveigenschaften des Programms.
- Dieser Wert wird während eines Gefechts durch die Taktik einer Steuerungs-KI beeinflusst.
Verteidigung
Der Verteidigungswert bestimmt wie gut sich ein Programm
gegen einen Aggressor zur Wehr setzen kann.
- Der Wert definiert sowohl die Offensiv- als auch die Defensiveigenschaften des Programms.
- Dieser Wert wird während eines Gefechts durch die Taktik einer Steuerungs-KI beeinflusst.
Zerstörungskraft
Nach einem erfolgreichen Angriff muss der Schaden ermittelt werden, welcher dem gegnerischen Programm abgezogen wird. Die Zerstörungskraft bestimmt diesen Wert.
Transportkapazität
Jedes Programm kann eine bestimmte Menge an Ressourcen transportieren. Beispielsweise kann nach einem erfolgreichen
Angriff das Programm die erbeuteten Ressourcen zurück zu dem Auftraggeber transportieren. Zu beachten ist, dass die Transportkapazität im
Netzwerk durch die Anzahl der Ressourcenpakete eingeschränkt wird.
Schneller Rückzug
In einem
Kampf ist es entscheidend sich zurückzuziehen, sobald dieser nicht mehr zu gewinnen ist. Um unnötige Verluste zu vermeiden sind die Eigenschaften
schneller Rückzug des Programms und die
Aggressivität der Steuerungs-KI ausschlaggebend. Sobald sich die
Steuerungs-KI aus dem Kampf zurückziehen möchte ist ein sofortiges Beenden nicht immer umgehend möglich. Die Wahrscheinlichkeit einen sofortigen Rückzug zu starten, wird direkt durch die Eigenschaft
schneller Rückzug bestimmt. Schlägt der Rückzugsversuch fehl, kann das Beenden um maximal eine Runde verzögert werden. Der zweite Versuch das Programm zu beenden ist also immer erfolgreich.
Es ist nicht möglich die Wahrscheinlichkeit des Rückzugs aus der ersten Kampfrunde zu beeinflussen, da in dieser Runde die
Programme durch ihre eigene Initialisierung nicht in der Lage sind einen Rückzug durchzuführen.
Techlevel
Die Komplexität eines Programms wird durch das sogenannte Techlevel beschrieben. Umso größer das Techlevel ist, desto komplizierter ist das Programm gestrickt. Anzumerken ist, dass ein kompliziertes Programm nicht unbedingt effizient arbeiten muss. Damit ein Programm arbeiten kann, benötigt es eine
Steuerungs-KI. Damit die Steuerungs-KI die Kontrolle über das Programm übernehmen kann, muss sie in der Lage sein, sich an die Programmlogik anzupassen. Nur wenn die Steuerungs-KI mindestens dasselbe
Techlevel besitzt wie das Programm, kann dieser Vorgang gelingen.
Module
Jedes Programm kann mit einer bestimmten Anzahl von sogenannten
Modulen erweitert werden. Jedes Programm besitzt, abhängig von seinem Typ, eine unterschiedliche Anzahl von Modulplätzen. Ist das
Techlevel eines Moduls größer als das Techlevel des Programms, so erhöht sich das Techlevel des Programms auf das Techlevel des Moduls. Somit ist sichergestellt, dass eine eingesetzte Steuerungs-KI
in der Lage ist das verbesserte Programm zu kontrollieren und keine technischen Probleme auftreten. Damit eine Steuerungs-KI ein Programm erfolgreich kontrollieren kann, ist jedoch auch die Anzahl der Module ein wichtiger Faktor. Nur wenn die Steuerungs-KI mindestens die gleiche Anzahl an
Modulschnittstellen besitzt, wie in das Programm integrierte Module, kann die Steuerungs-KI das Programm steuern.