Programming and Netrunning 101
Interface: The ability to apply programs towards the desired goal: to get them running properly, to operate them so that the desired function is performed and to get multiple programs interacting correctly.
Netwise: Internet streetsmarts: where to get things, who to talk to and how, what is important, what is not important, what is the expected return on investment in the e-mails these Nigerian princes keep sending you.
Programming: The ability to create new programs and to modify existing ones either to perform different functions or to alter their fingerprint. Knowledge of the various programming languages and the best practises of coding.
VR Graphics: The ability to create icons with impressive visuals. These can awe those who do not have actual knowledge of the way the net functions, but even those who know that the icon has little to do with the actual capabilities of a program usually like pleasing visuals.
The most common representation of a virtual space is some variant of the DataStreet viewer. Each area of the local system is a room, separated from other rooms by security controls represented by doors. Althrough the application of the VR Graphics can give the DataStreet any look desired, the (usually) tree-like structure of rooms which lead to other rooms is not commonly altered.
A typical system has one entry point from the Internet with a room containing the publicly available parts of the system, for example the public site of a corporation which is hosted on the system. One (or more) doors lead from this entry room to other rooms that contain data and access to programs that are not publicly available. In order for the user to move from one room to the next they need to pass through the security control, the door, that separates the rooms: for example they need to input a valid user name and password. Or they might apply illegal methods and circumvent the security controls.
Most systems give each room two levels of access: user and root. Those users with user level access are able to interact with the programs and files in the room but can not give access rights to the room or run certain programs. Those with root access do not have these limitations, and might install back doors, alter the programs of the room or even the look of the room itself.
Intelligence vs Expert System
The difference between a true Artificial Intelligence and a mere Expert System is the ability to think. A true AI has this ability, an Expert System does not.
When an Artificial Intelligence encounters something that is outside its programmed parameters while at first usually disoriented it is able to react after working out what it considers the proper response. This gives them the ability to initiate spontaneous action similar to natural intelligences. Intelligences, whether artificial or natural, roll their Intelligence+Interface+Bonuses for Interface.
When an Expert System encounters something outside its programmed parameters it does not respond. This is because it lacks the ability to think: it merely follows a list of conditions that trigger responses. These conditions and responses can be made incredibly complex, making it sometimes difficult to tell apart a complex Expert System from a true Artificial Intelligence. Ultimately even such complex Expert Systems have their limits: they can not transced beyond that which their creators have given them. Expert Systems lack the ability to initiate spontaneous action, although they can be made to react to events if the original creator anticipated the event. Expert Systems roll the program’s Interface Bonus X System Rank for Interface.
The anatomy of a program
A program consists of three parts: it has an icon, an interface, and any number of various functions.
When a new program is created its Functions are determined: their number determines the base difficulty level of writing the program. In addition to Functions a program also consists of Interface Elements intended to make the program easier to use and more likely to play nice with other programs and Graphical Elements intended to give the program’s icon more Oomph!. The number of Functions, Interface Elements and Graphical Elements is added together: this is how much processing power is needed to run the program.
If the programming roll is succesful the ”left over” success is added to the program’s Interface Elements and the Interface Rating table is consulted to determine the Interface Bonus of the program. Finally an icon is created for the program with a VR Graphics roll, to which the Graphical Elements of the program are added and the Graphics Quality table is consulted.
So what do Functions do then? Pretty much anything you could conceivably make a program do. Players and GM:s are encouraged to come up with their own functions using the following list as a guideline.
The anatomy of a system
Computers come in any number of sizes and shapes, with capabilities ranging from simple singing birthday cards to supercomputers capable of simulating multiple nuclear detonations simultaneously. All systems are defined by their total processing power, their program size and their interfaces.
The total processing power is simple to understand: this is the maximum processing power the system is capable of giving to all of its programs combined. The sum of processing power needed by the programs run by a system can not ever exceed the system’s total processing power.
The program size describes how much processing power the system can provide to a single program. All but the most simple modern systems employ a multi-core architechture which means that while multiple programs can be run side by side there is a limit to the amount of processing power that can be dedicated to each program. While a system can run any number of programs up to its total processing power, each program can use processing power up to the program size. A system can host rooms up to its Program Size.
Interfaces define the interactions a system is capable of having with the physical world. For example the targeting computer of a smartgun operates the gun through an Interface. Usually the basic interfaces that let a computer to be operated at all (mouse, keyboard, screens in an old fashioned computer, VR goggles or cybernetic links in a modern computer) are bundled up with the computer’s operating system forming the most important interface of the system: the Operating System. Each interface of the system is located in a room, where programs are able to interact with it.
*This is only the number of programs with maximum Program Size that can be run. Any number of programs can be run as long as the Total Processing Power is not exceeded.
At the beginning of each run the netrunner rolls Intelligence+Netwise+possible equipment bonus: this is their total Trace Length. The Trace Length determines how precisely the runner’s location can be determined by a system attempting to track them down.
If the Trace Length goes down during a run it might be a good idea to start running: most corporate Internet Security packages include mercenary rapid response teams whose task is to hunt down and apprehend hackers.
A runner with a keyboard, VR goggles or other such means of interacting with a computer can activate one program per turn. A runner with a cybermodem can activate any number of programs per turn. Any program with the function Reaction [Trigger] activates when its trigger condition is fulfilled. A program can interact with any number of other programs per turn, although only once with each.
When a program attempts to interfere with the function of another program both roll Interface. If the interfering program won the roll the other program is affected. Example: A hacker attempts to Gain User Access on a small corporate network and a firewall program attempts to Stop [Gain User Access]. The hacker has an Intelligence of 8, Interface skill of 4 and the program has a +2 Interface Bonus, for a total of 14. The firewall is well written and has an Interface Bonus of +4 which is multiplied by the system rank, in this case 3, for a total of 12. The hacker rolls a 2 and the firewall rolls a 6, for totals of 16 (hacker) and 18 (firewall). The firewall has a higher total and the hacker is unable to gain access.
If programs interfere with each other multiple times only the interfering program rolls: it must defeat the previous roll of the other program. Example: remembering his punk buster buster program the hacker activates the Stop [Stop [Gain User Access]] function of his attack program. Since the firewall has already rolled in the previous example it does not roll again: the earlier result of 18 is used. The hacker’s program has a Interface Bonus of +2, so the hacker has a pool of 12, needing a total of 19 or more to win. The hacker rolls a 9, for a total of 21, gaining access.