String Theory


Do you like puzzles? Then try solving this one. Adds an alternate way to create science packs.

4 years ago
0.17
5

i On making suggestions

4 years ago

I got carried away and made a bunch of changes to your mod, but I don't want to steal your mod or ruin your fun. Don't know what to do. Also don't want to sound like I'm telling you how to do it.

4 years ago

well currently i have no further plans for this mod (beyond bugfixing, if some are reported); i viewed it simply as a challenge that some people may find interesting to solve. (and that was interesting to me). But due to it being script heavy, and too complicated for general use, i think it doesn't fit into a big environment.
currently i am already working on some other mod ideas, which are maybe more long term.
i see some options:
- if you like the idea and would like to create something big out of it, my suggestion would be to create another mod and take parts of this mod as a basis (the license i am using allows you to do pretty much everything you would like)
- if it is more about refactoring of the code, to achieve the same in a more elegant way, i would differentiate. if it improves the performance, stability or interoperability i could hand the mod over to you; if it is more a matter of code style however i would probably leave it as everyone is implementing a bit differently and has different preferences (and there is no need for others to re-download the mod if there are no functional changes).

so to summarize, i think it depends on whether you have a vision or not :)

4 years ago

It was mostly just a streamlining in certain behaviors, nothing terribly different per-se:

The rocket silo is needed because of the inventories, but there's no reason to fire a rocket. You can call the string validator directly from the on_tick function, or disregard it entirely and embed it in on_tick. (I believe the validator building can be made inoperable too, which would prevent the player from clicking launch, but also prevents them from directly inserting letters).

Thanks for responding.

p.s. I wanted to see how you did it, so I grabbed the latest version before posting. If someone's validator was destroyed by an enemy the mod would immediately error the game :P (no validation in on_tick, and no removal of the offending entity).

Neat mod btw. I might play a more vanilla game with it, cause I have a feeling I'd need a more complicated circuit than I currently have. (taking away the rocket launch means the string can instantly validate... and some other things like miniloaders and trash cans).

I'm going to check out your old cave mod, I like caves. I have some of my own mods, too.

4 years ago

yeah, the usage of a rocket silo in hindsight is probably not great.
i originally wanted to use a rocket silo, in order to only get a lua callback only once the string is collected; without any on_tick calls. but there were two problems with it:
- if the auto launch option is used, the silo fires the rocket as soon as one item is in the rocket (even if it has 20 slots).
- i noticed i need a way to validate smaller strings, so a full rocket wouldn't help either
therefore i settled for this mixed approach. i still don't know if the phases where item insertion is not possible (when the silo prepares the rocket, and post launch) is a good or bad thing for the mod.

ah yes i forgot to handle the destruction of the entity. i will probably address that soon, but am out of town today.

yes, staying with vanilla is the intent. both loaders and trash cans provide very simple answers that otherwise need careful engineering. i spent an afternoon on designing a solution for excess-letters trash; i came pretty close but haven't solved it fully either due to a lack of circuit logic knowledge. my current workaround solution is100% reliably, but is not nearly as compact or efficient as it could be.

4 years ago
(updated 4 years ago)

Thanks for the response. I had been fussing with the silo a bit because I was still inserting letters while 'preparing'. I had a reasonable way to get letters in, but then it would grab one extra at least, throwing the whole thing off. Also, inserters prefer to grab from the middle of belts first, so if you have letters on belt, I don't know if there's a way to enforce which letters it'll grab in a sensible order.

I thought the only way to get rid of the extra letters was just firing them off randomly. Not elegant, but there's nothing else to do with them that I could see.

P.s. I've had a flu and was a bit disoriented for some days. Don't expect me to have played much.

New response