XKnight wrote:And again, how can simplicity be measured?
What is simple and what is not?
Is placing down blueprint from the book simple or not?
Simplicity can be measured by the amount of information that is required to reproduce the system.
If you need 1000 bits to encode a system it's more complex (= less simple) than if you only need 10 bits.
Placing down the blueprint is simple, but the placement of the blueprint has the same complexity for any blueprint that you place. So this makes no sense when thinking about the simplicity of the solution.
I am 1000% sure that every @siggboy's requirement can be done without breaking the others, but for me it is just a question of joy or necessity. To be honestly, I've listed all things which is not important for me in my own build... I feel like I've tricked you, I apologize.
No, you haven't tricked me. I don't care for what reason you listed those requirements, and also after all I've answered "not important" to most of them, so we seem to agree on most principles anyway
.
Some things are also simply a matter of taste (much like what editor to use or what indentation style or how you name your variables). I personally don't like the liberal use of constant arrays and integer magic in order to solve problems (in Factorio). Even though that makes some amazing stuff happen, it simply breaks the spirit of the game and the low-fi nature of the combinators. A.k.a. it's not "supposed" to be possible...
Of course, many things are simply impossible if you don't use these kinds of tricks.
As I've said above already, for me the most important thing is that the solution is practical -- and that includes that it's easy enough to understand, as well as it does solve a real problem.
Best possible example for this: The Smart Loader (Madzuri's version, that only requires 1 combinator). This is the textbook example for an elegant solution that is simple and solves a very real problem. It could not be any better than this.
Some designs are completely impractical and/or don't solve a problem, but they're still beautiful and nice to look at. However, I don't really care about those because it's not Factorio.
Example for this: Tetris. You made an awesome Tetris, but the interesting thing is not that it's Tetris, but what principles you used to implement it (for example how you store the game state by spreading the bit-field over a number of symbols in a register).
For me, the real and interesting challenge would be to learn how to apply some of these principles with combinators -- what I really don't find appealing at all is to actually build these things with combinators. Because building them is not interesting anymore as soon as you know how to apply these very advanced techniques in principle.
If the problem becomes complex and interesting enough itself, I'd rather solve it with a programming language that I actually enjoy using, and not with combinators in Factorio.
Or I build an actual real life circuit with an Arduino board, because that would be something that I impress my friends with, who couldn't give a fuck about Factorio,
After you've built Tetris or Conway's Game of Life you know that anything is possible and that you could, in principle, do it. That part of the game is over, then. Quest chain has ended.