Welcome! These forums will be deactivated by the end of this year. The conversation continues in a new morph over on Discord! Please join us there for a more active conversation and the occasional opportunity to ask developers questions directly! Go to the PS+ Discord Server.

Programming examples?

7 posts / 0 new
Last post
Malakh Malakh's picture
Programming examples?
Aside from the rules on programming a nanofabricator, are there any other rules on how to use the Programming skill? For example, how does one go about programming an AI from scratch? What would be the timeframe per cost level of the AI? What are the minimum/maximum skills and skill values per cost level?
Yerameyahu Yerameyahu's picture
Re: Programming examples?
AFAIK, there aren't really rules for it. There was recently another thread asking about using Programming to write non-AI software; while it's still unclear, I suggested that you could use the Patching rules (Core book, sidebar p246). The GM will still need to fudge things, possibly starting the new program at -30, or just altering the Timeframe. For AI-class software, I personally think it should be significantly harder to write from scratch (and maybe even for patching/upgrading). Perhaps an appropriate knowledge skill is required. Again, this is all just opinion, because there's no explicit rules that I'm aware of for writing software (AI or otherwise) from scratch.
Arenamontanus Arenamontanus's picture
Re: Programming examples?
Writing an AI from scratch is probably a bit harder than designing a spaceship or nanoassembler from scratch - that is, tens of thousands of man-years of work or more. This is of course why nobody in their right mind does it: people use finished modules and adapt them instead of building everything from scratch. So you get a standard AGI core, a bunch of open-source cortex emulators containing standard language, perception and motor action networks, and then spend most of your effort getting the interface software to link them and then running training and testing to finetune the motivation systems.
Extropian
Yerameyahu Yerameyahu's picture
Re: Programming examples?
Well, AI or AGI? It's a vast world of difference. Presumably, AGI are as much harder to program than AI's are harder to program than normal software. :) I agree: for any software, the simplest (and only option clearly in the rules) is to buy (or acquire as open-source) the base, and modify it.
Malakh Malakh's picture
Re: Programming examples?
When I say "programming from scratch" I don't literally mean making every single line of code literally from nothing. I have enough programming knowledge and experience to know any programmer worthy of the name has a personal library of modules. I have the same thing for web pages. What I do mean is making an AI that cannot currently be bought "off the shelf" (i.e., not in the Gear Section). While I agree about the man-years required to code an AGI, I was talking more about AIs. Programming AGIs should be treated like Spaceships, they're more a background thing. It [i]would[/i] be easier to buy and modify one, but why waste the cred or rep if you have the time and can make one?
Yerameyahu Yerameyahu's picture
Re: Programming examples?
See, and when I say 'from scratch', I too mean utilizing libraries. Basically, starting without a functional version of the program (i.e. buying it). :) I still think the best bet is to consider that collection of non-functional materials to be something like the -30 level of program quality, and require the player to 'patch' it up to be functional (maybe al the way to +0 before it 'starts working'?). The exact numbers and timeframes can be fiddled with by the GM as appropriate.
Arenamontanus Arenamontanus's picture
Re: Programming examples?
The possibility of making things "from scratch" depends on the domain. AIs are very complex systems, so using libraries is necessary and also constrains you to some extent - easy to make variations of standard AIs with standard ways of functioning, but if you want to base its thinking on the Bashewitz-Goe theory of operads there are no libraries for it, and you better start research project to make one. So my rule sketch would be that normal difficulties is about slotting together modules and libraries. This produces things similar to what you find in the gear list, possibly with chimeric functions (an AI that is *also* a simspace? sure). Doing something more odd - new kinds of functions (an AI with a taste cortex for nanomachines), obscure abilities or with tricky integration (needs to function in nearly any gun model) will be harder (increased difficulty and/or time). And then you have the research project scale when you realize there is not a single library that does what you need.
Extropian