Project Red - Illumination

Project Red - Illumination

37M Downloads

IC builder

makkarpov opened this issue ยท 11 comments

commented

IC blueprint is a good way to store logic circuit, and it can also be used not only for producing IC's, but also for producing something bigger. Can you add some 'replicator' block that, once placed and got IC blueprint inserted, builds this circuit in a world. This block should have a feature to build in vertical planes - for example, you can place it on a wall and it will build a vertical representation of circuit, or you can place it upside down and it will build circuit on a ceiling.

commented

Can't do that. Most circuits in an IC wouldn't work if placed in the real world. Also, I plan on having gates in an IC not available as actual blocks.

commented

Remove gates?.. And then need a diamond (contained in IC recipe) every time when you just want to do primitive AND on a couple of wires?..

commented

I think that he said about some group of gates that will be exclusive for ICs. Simple gates will not be removed.

commented

I agree that the IC recipe is too expensive for many use cases. I'd suggest the cost being proportional to size and complexity in some form would be better (consistent from a design perspective because better printing techniques and materials are needed for more compact and complex circuits).

Consider the popular use case of someone who wants their own logic gate, that just contains 4 or 5 gates in the IC, the cost shouldn't be too high, perhaps just a bar of iron.

The circuit gui isn't as fun to use as building circuits in world, so I'd be likely to only use it for small parts of my in world circuits containing common elements.

The current cost is fitting for 64x64 circuits, especially when recursive embedding is added, but for most use cases is just too high.

Perhaps putting some of the cost into the blueprint, so that having multiple circuit designs is the costly thing, and mass producing them far less so (from a design perspective, molds are more expensive and complex than the items they produce).

commented

when recursive embedding is added

Will it be added? I think that it is too unrealistic.

commented

The high cpu usage of ICs was the main reason for expensive recipes. Will not be the case for long..

commented

The main point of the post was potential lack of separate logic gates rather than cost... IRL we have discrete simple logic along with complex ICs, and would be nice to have both IC and discrete logic options in the game. I agree that complex things like randomizer/timer/bus gates/etc can appear only inside IC, but primitive boolean gates is very handy as discrete items. Are they cpu-intensive too?
Is it possible to analyze the IC scheme and compile it in runtime into bytecode? So all the emulation would be as simple as synthesized function call
Liked the idea with more costly blueprint and cheaper mass production :)

commented

Yes, I am currently investing a fair amount of time into reanalysing the existing mechanics to retain as much as possible (there are some fun quirks with RS latches and the fact they work in 2 ticks)

There will be an option for instant logic which will find portions of the circuit for which gate delays can be reduced but it is my intention that without that option, an IC will mimic the circuit in the world as closely as possible.

For fun: http://puu.sh/j5Ogs/308eb5320c.jpg http://puu.sh/j68D1/116872662a.png http://puu.sh/j6bF2/fbcf1c370b.jpg

commented

At which point, something like an in-world if builder might be feasible.

commented

I did note in my post that I prefer building with separate logic gates.
I latched on to cost as the prohibitive factor and it's good to see that will soon be addressed.
Primitive boolean gates will not be disappearing (as you probably know)
I am currently working on a feature to compile an IC into bytecode to have maximum performance, far faster than building the circuit in world.

I am aware that your original post was asking for something to replicate circuits in world. The creation of such a thing is left to the discretion of MrTJP. I think you'll just have to get accustomed to replicating small circuits in world by hand.

commented

I am currently working on a feature to compile an IC into bytecode to have maximum performance

It's great, but will it leave operation delays unchanged? Changing them would just break many existing circuits that depends on timing.