Page 1 of 1

Chemicompiler in /tg/

Posted: Mon Dec 19, 2016 11:15 pm
by Finianb1
After many long hours of tedious chemistry shifts, making the same medicines over and over again, I tried to find a way to automate the tasks of mixing, heating, and bottling my chemicals. After a long while, I ave finally found the answer. The GoonStation ChemiCompiler is a device that can be programmed to automate the simple and trivial tasks of mixing, heating, and bottling chemicals. Now, I know what your thinking. However, it is not as straightforward as it may seem. The GoonStation ChemiCompiler is programmed in a highly esoteric and difficult language, BrainFuck. (The ChemiCompiler variant is called ChemFuck.) Using only symbols, pointers, incrementation, and decrementation, BrainFuck ensures that the ChemiCompiler will not make chemists' jobs easier. More often than not it will be more difficult to write a ChemFuck program for a medicine or chemical than it would be to just make it manually. The real value is that it allows you to mass produce chemicals more easily, in the long run. However, the ChemFuck implementation will come with a few caveats. It absolutely must ignore all non instruction characters (This includes tabs and spaces). This will allow for code commenting, making the process of debugging or changing your code much easier. The full explanation and tutorial on the ChemiCompiler can be found here: http://wiki.ss13.co/ChemiCompiler. For cross-compatibility, it must also follow the same rules and syntax as the GoonStation ChemiCompiler, making it possible to copy and paste code between both codebases, as long as the recipes are the same. Thanks for reading, please comment with your feedback or suggestions below.

Re: Chemicompiler in /tg/

Posted: Mon Dec 19, 2016 11:25 pm
by Saegrimr
So it's the "Copy & paste recipe list from pastebin to do your job for you"?

Re: Chemicompiler in /tg/

Posted: Mon Dec 19, 2016 11:35 pm
by kevinz000
Saegrimr wrote:So it's the "Copy & paste recipe list from pastebin to do your job for you"?

Re: Chemicompiler in /tg/

Posted: Mon Dec 19, 2016 11:39 pm
by iamgoofball
I'm not porting brainfuck, no

Re: Chemicompiler in /tg/

Posted: Tue Dec 20, 2016 1:49 am
by Alipheese
kevinz000 wrote:
Saegrimr wrote:So it's the "Copy & paste recipe list from pastebin to do your job for you"?

Re: Chemicompiler in /tg/

Posted: Tue Dec 20, 2016 2:01 am
by oranges
Yes I know saeg's comment was on point, but lets not have a giant quote train please.

Re: Chemicompiler in /tg/

Posted: Tue Dec 20, 2016 3:01 pm
by Finianb1
Saegrimr wrote:So it's the "Copy & paste recipe list from pastebin to do your job for you"?
Actually, I am an avid programmer, and ChemFuck offers a very interesting challenge. I would definitely be willing to do the work to code for my own recipes that I use often, such as my mannitol and cryoxadone mix, or, for traitor, my cyanide smoke grenade and my fluorosulphuric foam grenade. I would even be willing to program in Befunge-98 for the ChemiCompiler, if the opportunity was presented.

Re: Chemicompiler in /tg/

Posted: Tue Dec 20, 2016 3:49 pm
by karlnp
i don't think it's a good idea. automating IRL chemistry has lots of benefits! i don't see them with the SS13 role on tg - if you're bored with mixing your recipes, give the role up and play something else, let new people have a chance.

Re: Chemicompiler in /tg/

Posted: Tue Dec 20, 2016 10:16 pm
by Remie Richards
iamgoofball wrote:I'm not porting brainfuck, no
You don't have to bby

Image
(If you can't tell, that's a brainfuck program from wikipedia, for outputting "Hello World!\n", you can't see the \n though cos they're invisible)

Re: Chemicompiler in /tg/

Posted: Tue Dec 20, 2016 10:20 pm
by iamgoofball
Jesus Christ

Re: Chemicompiler in /tg/

Posted: Tue Dec 20, 2016 10:55 pm
by Bob Dobbington
Brainfuck would probably be a mistake but a DSL for chemist would go a long way in terms of increasing depth in the job. Ideally you'd want something that could control the various chem machines and transfer between them. This doesn't need to be a roundstart thing, this is something that we can gate behind R&D, and that means we don't have to dick around with deliberately obtuse things like esolangs.

Re: Chemicompiler in /tg/

Posted: Tue Dec 20, 2016 11:00 pm
by Remie Richards
esolangs are fun though.

Re: Chemicompiler in /tg/

Posted: Wed Dec 21, 2016 7:20 am
by DemonFiren
>automate a job to make it less tedious, but more boring in the long run due to everyone copypasting instead of being original
>gate it behind r&d to make science even more autisticially powerfull

Re: Chemicompiler in /tg/

Posted: Wed Dec 21, 2016 6:06 pm
by CPTANT
Mixing IS tedious though.

I think having a somewhat large buffer in the chem dispenser might go a very long way to solve the problem.

Re: Chemicompiler in /tg/

Posted: Thu Dec 22, 2016 6:07 pm
by Finianb1
Bob Dobbington wrote:Brainfuck would probably be a mistake but a DSL for chemist would go a long way in terms of increasing depth in the job. Ideally you'd want something that could control the various chem machines and transfer between them. This doesn't need to be a roundstart thing, this is something that we can gate behind R&D, and that means we don't have to dick around with deliberately obtuse things like esolangs.
I was thinking about some sort of DSL last night. It would be really useful to be able to automatically pipe created pills and patches to smart chem storage, or even beakers from a chem dispenser to chem heaters or the chemmaster 3000.
Remie Richards wrote:esolangs are fun though.
I totally agree, this would make it more difficult than just C++, Python, or another language that is relatively common. Using brainfuck makes it more of a challenge, and increases the skill cap of chemist. I know I'd certainly use it for my healing foam grenades, and many other recipes that are longer snd more complicated, such as Epinephrine.

Re: Chemicompiler in /tg/

Posted: Thu Dec 22, 2016 6:52 pm
by John_Oxford
You could just make it where the chem machines have a 1000 unit cylinder for mixed chemicals to go into.

The beaker you put into this empties from this cylinder

Chemicals can react in it, you can upgrade it in RnD to prevent this.

in order to prevent le ebin goonports

Re: Chemicompiler in /tg/

Posted: Thu Dec 22, 2016 10:56 pm
by Drynwyn
Finianb1 wrote:
Bob Dobbington wrote:Brainfuck would probably be a mistake but a DSL for chemist would go a long way in terms of increasing depth in the job. Ideally you'd want something that could control the various chem machines and transfer between them. This doesn't need to be a roundstart thing, this is something that we can gate behind R&D, and that means we don't have to dick around with deliberately obtuse things like esolangs.
I was thinking about some sort of DSL last night. It would be really useful to be able to automatically pipe created pills and patches to smart chem storage, or even beakers from a chem dispenser to chem heaters or the chemmaster 3000.
Remie Richards wrote:esolangs are fun though.
I totally agree, this would make it more difficult than just C++, Python, or another language that is relatively common. Using brainfuck makes it more of a challenge, and increases the skill cap of chemist. I know I'd certainly use it for my healing foam grenades, and many other recipes that are longer snd more complicated, such as Epinephrine.
Isolangs would be fun in theory, but in practice just means copy-pasting and reliance on out-of-game resources, which is bad.

Re: Chemicompiler in /tg/

Posted: Thu Dec 22, 2016 10:59 pm
by iamgoofball
Then why doesn't that happen at goon?

Re: Chemicompiler in /tg/

Posted: Fri Dec 23, 2016 2:13 am
by Drynwyn
iamgoofball wrote:Then why doesn't that happen at goon?
Two main reasons.

-Server culture that values MUH SIKRITS

-Moderation of the wiki/official forums to remove SIKRITS that are posted

People looking to post/looking to find secrets or copy paste scripts don't have any clear place to look. Even with that in place, there's stuff on Pastebin, but it's much harder to find. Here, unless we were willing to put rules against it in place (we shouldn't), the scripts would quickly make their way to the forums and wiki where they can be easily accessed.

Re: Chemicompiler in /tg/

Posted: Fri Dec 23, 2016 2:31 am
by Saegrimr
Drynwyn wrote:-Moderation of the wiki/official forums to remove SIKRITS that are posted
Don't forget actively going and changing the code when they are found and spread around to make that method no longer work.

Re: Chemicompiler in /tg/

Posted: Fri Dec 23, 2016 2:42 am
by iamgoofball
They only care about solarium secrets or recipes for the secret chems.

Re: Chemicompiler in /tg/

Posted: Sat Dec 24, 2016 9:55 am
by callanrockslol
iamgoofball wrote:I'm not porting brainfuck, no
Make /tg/code brainfuck compliant 2017.

Re: Chemicompiler in /tg/

Posted: Wed Jan 04, 2017 4:07 pm
by Shadowlight213
>Obscure ingame language that everyone just copies and pastes.

This sounds a lot like NTSL

Re: Chemicompiler in /tg/

Posted: Wed Jan 04, 2017 5:18 pm
by ShadowDimentio
Porting the chemicompiler would be a huge waste of time but Goon has a slightly different thing that people actually used. You'd type out the name of the chems you wanted dispensed separated by a ; and it would spit it all out at once. Made chemistry tacticool if you went through the trouble of making a script for initro or something.

Re: Chemicompiler in /tg/

Posted: Thu Jan 05, 2017 5:36 pm
by tacolizard
i like the idea but brainfuck is just dumb. if at all it should be some sort of weird assembly language.

Re: Chemicompiler in /tg/

Posted: Thu Jan 05, 2017 5:43 pm
by iamgoofball
tacolizard wrote:i like the idea but brainfuck is just dumb. if at all it should be some sort of weird assembly language.
ShadowDimentio wrote:Porting the chemicompiler would be a huge waste of time but Goon has a slightly different thing that people actually used. You'd type out the name of the chems you wanted dispensed separated by a ; and it would spit it all out at once. Made chemistry tacticool if you went through the trouble of making a script for initro or something.
"I don't like X! I really think we should add *description of X* though!"

Re: Chemicompiler in /tg/

Posted: Thu Jan 05, 2017 5:46 pm
by ShadowDimentio
Why yes, Goof, I would say that there's a difference between the chemicompiler and the chem dispenser code thing in the same way a unicycle and bike are different. Sure they both get you somewhere but one is a pain in the ass to use.

Re: Chemicompiler in /tg/

Posted: Fri Jan 06, 2017 9:52 pm
by Saegrimr
Let's use brainfuck, but this instead. https://esolangs.org/wiki/Ook

Re: Chemicompiler in /tg/

Posted: Fri Jan 06, 2017 10:07 pm
by DemonFiren
Saegrimr wrote:Let's use brainfuck, but this instead. https://esolangs.org/wiki/Ook
Maybe if we get a genetics equivalent.

Re: Chemicompiler in /tg/

Posted: Fri Jan 20, 2017 10:48 pm
by Finianb1
I like the idea of assembly, but it would use the same concepts as BF, such as 1024 8 bit registers and simplicity, but would extend it with addition, subtraction, multiplication, and simple conditional execution, as well as possibly even IO. I can write up a language spec tonight.

Re: Chemicompiler in /tg/

Posted: Fri Jan 20, 2017 11:03 pm
by cedarbridge
We already have a thread for this. https://tgstation13.org/phpBB/viewtopic.php?f=9&t=32

Re: Chemicompiler in /tg/

Posted: Mon Jan 23, 2017 9:02 pm
by Hikurac
ShadowDimentio wrote:Porting the chemicompiler would be a huge waste of time but Goon has a slightly different thing that people actually used. You'd type out the name of the chems you wanted dispensed separated by a ; and it would spit it all out at once. Made chemistry tacticool if you went through the trouble of making a script for initro or something.
This. I main scientist on goon quite a bit, and it's a fantastic feature. Made a related QoL suggestion post about it on their forum a while back and they made it more functional by allowing you to implement the specific amount of each chem to be dispensed. The only thing is I'm not sure if it's sequenced or not.

I.e. "oxygen=10;water=10;oxygen=10" might dispense 20u of oxygen at once, rather than 10u of oxygen, 10u of water, then 10u of oxygen again.

Re: Chemicompiler in /tg/

Posted: Mon Jan 23, 2017 11:13 pm
by cedarbridge
Hikurac wrote:
ShadowDimentio wrote:Porting the chemicompiler would be a huge waste of time but Goon has a slightly different thing that people actually used. You'd type out the name of the chems you wanted dispensed separated by a ; and it would spit it all out at once. Made chemistry tacticool if you went through the trouble of making a script for initro or something.
This. I main scientist on goon quite a bit, and it's a fantastic feature. Made a related QoL suggestion post about it on their forum a while back and they made it more functional by allowing you to implement the specific amount of each chem to be dispensed. The only thing is I'm not sure if it's sequenced or not.

I.e. "oxygen=10;water=10;oxygen=10" might dispense 20u of oxygen at once, rather than 10u of oxygen, 10u of water, then 10u of oxygen again.
This just takes us back to the issue of scripting or pastebining chem. At that rate you might as well take the powercreep the final step and replace the base chems with buttons that dispense the final products and turn the chem dispenser into a vending machine.

Re: Chemicompiler in /tg/

Posted: Tue Jan 24, 2017 12:06 am
by Hikurac
cedarbridge wrote:
Hikurac wrote:
ShadowDimentio wrote:Porting the chemicompiler would be a huge waste of time but Goon has a slightly different thing that people actually used. You'd type out the name of the chems you wanted dispensed separated by a ; and it would spit it all out at once. Made chemistry tacticool if you went through the trouble of making a script for initro or something.
This. I main scientist on goon quite a bit, and it's a fantastic feature. Made a related QoL suggestion post about it on their forum a while back and they made it more functional by allowing you to implement the specific amount of each chem to be dispensed. The only thing is I'm not sure if it's sequenced or not.

I.e. "oxygen=10;water=10;oxygen=10" might dispense 20u of oxygen at once, rather than 10u of oxygen, 10u of water, then 10u of oxygen again.
This just takes us back to the issue of scripting or pastebining chem. At that rate you might as well take the powercreep the final step and replace the base chems with buttons that dispense the final products and turn the chem dispenser into a vending machine.
Dunno about how it would work out on tg, but it's not an issue on goon. Very few people bother to use it, because it is limited to the size of a beaker, and more importantly, it requires effort. Complex sequences require that you write out the sequence by using arithmetic, which is something most spessmen don't care to do. As for pastebining, I don't think people would share their more complex sequences, simply because they want to be "the only one who knows." That's human nature. But it only takes one asshole to ruin it, so I see your point.

Re: Chemicompiler in /tg/

Posted: Tue Jan 24, 2017 5:13 am
by Cobby
Shadowlight213 wrote:>Obscure ingame language that everyone just copies and pastes.

This sounds a lot like NTSL
Is this server-crash friendly as well?

Re: Chemicompiler in /tg/

Posted: Tue Jan 24, 2017 5:33 am
by iamgoofball
i think that if the goons can handle it we can

Re: Chemicompiler in /tg/

Posted: Tue Aug 15, 2017 10:22 pm
by Finianb1
I agree, I really want to see this in the game.

Re: Chemicompiler in /tg/

Posted: Wed Aug 23, 2017 3:10 pm
by naltronix
this would actually be quite cool, but we should have a selection of languages to choose from
dont like brainfuck?
how about befunge?
or deadfish?
hell, maybe we could reuse that fucking tcomms language in this but modify it for chemistry
to discourage infinite loops, we should make the machine explode if it gets into one

Re: Chemicompiler in /tg/

Posted: Wed Aug 23, 2017 6:33 pm
by Remie Richards
We removed the tcomms language (NTSL, Nanotrasen Telecoms Scripting Language) because it was garbage and nobody used it (copy pasting scripts is not 'using' it, nor is it gameplay)

Re: Chemicompiler in /tg/

Posted: Thu Aug 24, 2017 9:42 pm
by naltronix
its still fun for the people who like to fuck with people

Re: Chemicompiler in /tg/

Posted: Thu Aug 24, 2017 9:52 pm
by oranges
Hikurac wrote:
cedarbridge wrote:
Hikurac wrote:
ShadowDimentio wrote:Porting the chemicompiler would be a huge waste of time but Goon has a slightly different thing that people actually used. You'd type out the name of the chems you wanted dispensed separated by a ; and it would spit it all out at once. Made chemistry tacticool if you went through the trouble of making a script for initro or something.
This. I main scientist on goon quite a bit, and it's a fantastic feature. Made a related QoL suggestion post about it on their forum a while back and they made it more functional by allowing you to implement the specific amount of each chem to be dispensed. The only thing is I'm not sure if it's sequenced or not.

I.e. "oxygen=10;water=10;oxygen=10" might dispense 20u of oxygen at once, rather than 10u of oxygen, 10u of water, then 10u of oxygen again.
This just takes us back to the issue of scripting or pastebining chem. At that rate you might as well take the powercreep the final step and replace the base chems with buttons that dispense the final products and turn the chem dispenser into a vending machine.
Dunno about how it would work out on tg, but it's not an issue on goon. Very few people bother to use it, because it is limited to the size of a beaker, and more importantly, it requires effort. Complex sequences require that you write out the sequence by using arithmetic, which is something most spessmen don't care to do. As for pastebining, I don't think people would share their more complex sequences, simply because they want to be "the only one who knows." That's human nature. But it only takes one asshole to ruin it, so I see your point.
This community is literally built around sharing complex effort

Re: Chemicompiler in /tg/

Posted: Thu Aug 24, 2017 11:46 pm
by MisterPerson
naltronix wrote:its still fun for the people who like to fuck with people
Actually oranges I think the community is built around fucking with people.

Re: Chemicompiler in /tg/

Posted: Fri Aug 25, 2017 12:41 am
by Tokiko2
To be fair, current chem mixing is also just having flowcharts of what to click to make a certain chem. I even put a book in the library that listed all pre goofchem recipes flowcharts to make chemicals with the least amounts of clicks(ie correct ratios so they fit in a beaker or leave no extra chems and are immediatly use/mixable, if possible). I don't think that's very different than just copypasting code into a machine and making it do the work for you.