There's an app for that (programming rules?)

By SavageBob, in Star Wars: Edge of the Empire RPG

Let's say you have a character who wants to create a new program for datapads that, say, gives +1 success on Lore checks. According to the gadget-creation rules on Special Modifications p. 84, that would a "Specialist Tool," and would require an Average (PP) Mechanics check to make, resulting in a device with Encumbrance 8! I guess with a stellar roll, you could reduce the Encumbrance down to 1, but it seems counterintuitive that you'd need to build the datapad from scratch for what amounts to a computer program.

So I wonder if there's a way to approach this as a programming problem rather than a gadget-construction problem. Are there rules for programming anywhere? The closest I've been able to find is the ruleset for programming a droid's directives from Special Modifications (pp. 82–83). Am I overlooking other rules somewhere? If not, how would you handle programming a new application?

Edited by SavageBob

Not yet. Personally I've concentrated on making items that give -2 setback, as they are much easier to get down to Encumbrance 1. Can sometimes get enough for +1 adv too.

I suppose you could take the gadget crafting rules as a baseline, calling for a Computers check instead of a Mechanics check. The "simple tool," "specialist tool," and "precision instrument" categories become "simple program, "specialist program," and "precision program" instead.

But what would be a suitable substitute for Encumbrance on these three hypothetical program templates? Maybe halve the gadget Encumbrance ratings (rounding up) and say that's the minimum size of the computer you'd need to run the program? That way, a simple program could run on a bulky, Encumbrance-2 datapad by default, while a specialist program would require a full "desktop" computer of Encumbrance 4 by default?

Edited by SavageBob

Time. Time in research is a huge factor. A sloooooow program might not be very useful, but it can be used if you have a week of travel time. A fast program with instant responses would be way better.

28 minutes ago, MonCal said:

Time. Time in research is a huge factor. A sloooooow program might not be very useful, but it can be used if you have a week of travel time. A fast program with instant responses would be way better.

I thought about that, too. But I'm not sure how you'd represent this in structured time. By default, you turn on your program and it crunches along for X rounds, but you can shorten that with Advantages on the roll?

Maybe you could choose to either use the program on a larger, more powerful machine (for 1 round of time taken), or choose to run it on a simple datapad, but it takes longer to perform a single function. That would give the programmer some flexibility to either go for portability or quickness. And with enough Advantage rolled, you could knock down both.

Encumberances = time in hours, or minutes/rounds?

Maybe halve the time stepping up to a larger machine each time?

So a complex specialist program would take 8 on a simple datapad, 4 on a larger datapad / small computer and 2 on a dedicated computer or astromech?

Or maybe devide the time by the encumberance of the machine it's running on?

I'd go with "encumbrance rounds" and encumbrance 8 program would take 8 rounds on a encumbrance 1 device, 4 rounds on an encumbrance 2 data pad, 2 rounds on an encumbrance 4 desktop, ... maybe if you can get the program to one encumbrance round then on a encumbrance 2 data pad you could perform it as a maneuver to grant yourself bonus to a different (e.g. social) check in the same round?

Edited by EliasWindrider
12 hours ago, EliasWindrider said:

I'd go with "encumbrance rounds" and encumbrance 8 program would take 8 rounds on a encumbrance 1 device, 4 rounds on an encumbrance 2 data pad, 2 rounds on an encumbrance 2 desktop, ... maybe if you can get the program to one encumbrance round then on a encumbrance 2 data pad you could perform it as a maneuver to grant yourself bonus to a different (e.g. social) check in the same round?

Ah, I like that. It's elegant and fairly intuitive. Advantages on the Computers roll to program the application could be used to reduce the number of Encumbrance rounds at a 1/1 ratio, but then the player could decide whether to prioritize portability or speed in implementing them.

8 hours ago, SavageBob said:

Ah, I like that. It's elegant and fairly intuitive. Advantages on the Computers roll to program the application could be used to reduce the number of Encumbrance rounds at a 1/1 ratio, but then the player could decide whether to prioritize portability or speed in implementing them.

Glad you liked it.

From a real life perspective, the less computationally expensive something is, the more portable it is, if you're clever you can find elegant slightly obscure ways to reduce the computational complexity with partial analytical solutions or by exploiting special knowledge about a problem so that you don't have to "brute force solve it" programs rarely just get faster, instead someone figures out how to still get the desired numbers while having the computer do less work. Basically you just move the complexity... code complexity increases so that computational complexity/cost can decrease.

The other side of the coin is a quote from Einstein (about mathematical models of physics), "any intelligent fool can make things more complicated, more complex. It takes real genius to make things as simple as possible but no simpler." Basically sometimes there's a "that was (in hindsight) obvious, why didn't I think of that?" solution that reduces both coding and computational complexity, but it generally uses an "intuitive leap" that isn'the apparent/obvious until someone else tells it to you.

At MIT, I had a brilliant aerodynamics professor, Mark Drella, that would "casually" drop hard won (hard won for anyone else, but Drella makes it seem easy and maybe for him it is, Drella is the smartest person I ever met coming from me that's saying a lot) "secrets of the universe" on his students in class, and I believe that because of how he taught them, people didn't appreciate at the time just how impressive it was. Taking what he taught for granted, not recognizing it's value. I actually had a lot of "I see what you did there" moments in his class.

But back to the point.

The point is that less expensive programs (that get you the same answers) tend to be more portable, and they're faster than the alternatives whether they're executed on big or small computers.