Programming
Up

Programming is a good way to be more effective with your computer and potentially make a profit. Some people program exclusively for themselves, hording away their precious code for their own advantage. Others share the creative process in a group, allowing for easier progress and maintenance. Others yet sell the finished program but keep the process to themselves, securing an income.

To program requires time. That's it. If you have a computer, all you need is to drink coffee and work long enough and, assuming you know what you're doing, you'll eventually produce something. Compared to other research tasks, programming is one of the less expensive. Of course, if you want your program to be more than functional, you may end up paying other people to spice it up. For example, games are not built in code alone, unless it's a text game, and we all know how boring those are.

horizontal rule

There are two main factors to figuring out how long and how hard it will be to program something.

Scope

bulletThe scope of a program is how much it encompasses. The more specific the program, the less time it takes to get the same result.
bullet
Scope: Example Effect on time and difficulty
Extremely Specific: A program that defeats password protected ICE -1 difficulty and base time.
Specific: A program that defeats ICE. +0 Difficulty, base time
Broad: A program that takes over a target computer, circumventing ICE along the way. +2 difficulty, double time.
Suite: A complete hacking solution. +3 difficulty, quadruple time.

 

Power

bulletHow much effect does the program have? The more useful the program, the more difficult and lengthy it is to program.
bullet
Power: Example Effect on time and difficulty
Small: +5 to a roll OR a psuedo skill of 10. -1 difficulty and base time
Mediocre: +10 to a roll OR a psuedo skill of 20 +0 difficulty and base time
Large: +15 to a roll, +1 success to a roll, OR a psuedo skill of 30 +2 difficulty, double time
Huge: +25 to a roll, +2 succs to a roll, OR, a psuedo skill of 40 +4 difficulty, quadruple time
God Code: +35 to a roll, +3 succs to a roll, OR, a psuedo skill of 50 +6 difficulty, sextuple(6) time

ICE

bulletICE runs on a different scale for programming than general code. The difficulty modifier for ICE is +1 per rating of the ICE and the time multiplier depends on the grade. Yellow is double, Brown is triple, and black is quadruple.
bulletOn top of this, the judge overseeing the creation is free to apply any modifier for intricate or complicated ICE or make extremely simple ICE easier to code.
bulletSee the ICE page for many examples of ICE and how they work.
bulletIt bares noting that ICE programs can NOT fight for you. Their construction is designed against intrusion. If it works against things outside your system, then it's not ICE.

horizontal rule

Once you have the scope and power of the program laid out, it's time to roll! You get a roll once every OOC day times the time multiplier. You want to get twenty successes. Once you reach 20, the program is ready to go. If you botch a roll, you lose half your progress and get another +1 difficulty. You can abandon a program at any time, but if you do so, you can't take it up again for one full IC month.

The actual roll is an average Computer/Programming + The skill that fits the purpose of the program. A hacking program would be Computer/Intrusion. Photo editing programs would use Artistry/Image Editting or something similiar. As can plainly be seen, knowing how to program is only half the story. You need to know the subject.

In the event that the programmer wants to work with reference texts instead of skill, they can double the time and expend 50 eGil to secure the information needed to equal their programming skill. The residing judge is free to raise this cost for obscure or weighty subjects.

Size

bulletPrograms can and many times are larger than the minimum size, but no program will be smaller than this.
bulletA program must be at least 0.1 times the difficulty modifier large.
bulletEvery step above extremely specific adds 0.1 to the minimum size.
bulletA program gains 0.1 size per roll made to code it past the first.
bulletA program loses 0.1 size per roll made after the program that adds another 10 succs
(You can keep working to build up succs to reduce and tighten the code, botch rule applies to ALL the succs, not just weight reduction.)
bulletStaff discretion. Some programs need a lot of information besides the code to function and will just be larger for it.

horizontal rule

Examples:

 

bulletJoe, who works for Daravon, wants to make a program that'd reside in the computer of a turret and auto-fire on anyone not wearing a special identification badge. We'll assume all the hardware is taken care of, and all it needs is the right software. This is a very specific program. It'll only use one weapon in one position and always from the same user. Can't get much more specific than that, eh? Now, a turret has no skill in using guns, so Joe will have to give it skill, psuedo skill. He wants it to be a passable shot and aims for a skill of 30.
bulletSince this is a very specific program, -1 difficulty.
bulletIt'll produce a large effect at a 30 firing skill, +2 difficulty and double time.
bulletThe total difficulty is 8(7 - 1 + 2).
bulletThe large effect doubles the time, meaning Joe gets a roll every two days.
bulletFiring this particular gun is Ranged/Miniguns, so that's the skill that will help him. Now, Joe is a geek, he's never fired a minigun. He spends fifty bucks and accesses a database of firearms for useful information on the topic. This unfortunately doubles the time again to four days.
bulletHe has Computer/Programming of 30, and an effective Ranged/Miniguns of 30(thanks to the 50 bucks he spent for reference materials).
bulletJoe, now prepared, sits down and starts to code. After four days, he does a +check Intelligence:30 vs 8. 6 succs. He's made progress! These succs are written down and Joe waits. After four more days, 6 more succs. Now he's up to 12 succs. Next time he does well, 8! The program is ready to go. Since his boss is yelling at him to get it in, he doesn't worry about shrinking the program down any.
bulletThe minimum size of the program is 0.2 due to the large effect. He took three rolls to complete the program, which adds 0.2. In total, the program's size is 0.4, which is still nice and small.
bulletAnd there you have it, a program that will let the turret fire at 30 +check with a size of 0.4. Even if it's a primitive computer it'll have room for more. Nice job Joe!

 

bulletJoe gets his new assignment. He's to design a skillsoft. A skillsoft is a program that runs in a brain-com and helps the user perform a particular task. In this case, it's a racing program. Now Joe's given a lot of time to work with, so he has some choices. He could make the program specific to one car. He could make it specific to a sort of car(racing cars!), or he could make it good for racing anything on wheels. Joe decides he'll go for the latter, his program will have racing information for all stripes of ground vehicles. For the power, he wants it to add to the user's inherent ability, and aims for +1 success.
bulletThis is a broad program, since it covers racing in all ground vehicles of all kinds. +2 diff and double time.
bulletThis is a large program, since it gves +1 succ. Another +2 diff and double the time again.
bulletAs it turns out, Joe has some driving ability. The skill this program will use is just plain Drive, and he has that at 40, what luck! The average of his 30 programming and 40 drive is 35, huzzah!
bulletThe total difficulty will be 11(7 + 2 + 2), and 20 succs are needed, as usual.
bulletJoe buckles in, orders several cartons of coffee and gets to work. He rolls Intelligence:35 vs 11 and gets 3 successes. This is going to take a while.. Every four days he rolls. 2, 4, 1, -1. Oh no! He had built up 10 succs before disaster struck. He loses half(5) and is now back to five. What a set back. Not about to give up, Joe gets back to work and finishes the program with a day to spare and no further botching.
bulletThe size of this program is 0.4 for its difficulty plus 0.8 for all the rolls he had to make plus 0.2 for its broadness. This makes it 1.2 sized. Three times larger than that last program. You can't run this on a low end computer.
bulletAnd there you go, a 1.2 sized program that'll give the user +1 success to all racing related rolls in ground vehicles.