// Logic system refactor

Here I ask your opinion and feedback on specific aspect of the game, or feature I am working on.
User avatar
ZachZent
Corporate Mogul
Posts: 76
Has thanked: 3 times
Been thanked: 25 times

Sun Jun 03, 2018 12:00 pm

Hello again

I have been talking on Discord and quite a few people prefer the old models. Though larger, it was much easier to see what was actually doing. Now I'm not suggesting change it back to the old models (minus the removal of some gate) as there are those who like the smaller model as well. For both crowds, I'd suggest put the models of the old one in a submenu of the new. Like the delay gate model for the new timer command in the submenu. For the gates, use the old and-or-not-XOR gate model (though with only one red button.) Perhaps the center color would change based on the one picked. Give it to the players and I am certain we would be able to model it without wasting your time.

You will find that people will have gripes about the new models especially from those who go into advanced logic and prefer seeing their work WITHOUT needing to see all the links. Let us model it for you if you want. No effort required

(Beware, real gripes are coming from actual logicteers :D )
Image

User avatar
Talrey
Entrepreneur
Posts: 91
Location: Garden of the Sun
Has thanked: 8 times
Been thanked: 55 times

Sun Jun 03, 2018 6:00 pm

To be honest, Zach, I'm liking the new models so far. They're much less ambiguous because they don't depend on using a certain color to indicate gate function - they just show letters or a picture. While I won't be able to do as much with shape-based flow as I did in the old system, I should have to rely on circuit shape less with the new visualization method.

I'm going to play around with it a bit to develop my opinion more, of course, but the "gripes" I had with the new system were mostly for the loss of fuzzy logic - and it may end up cutting down the number of redundant questions I get about logic! :lol:

User avatar
Talrey
Entrepreneur
Posts: 91
Location: Garden of the Sun
Has thanked: 8 times
Been thanked: 55 times

Mon Jun 04, 2018 6:30 am

Alright, I've had a bit more time to test out the "new" system - it's not really that much different, which was expected but good to confirm.

However, there's one long-standing issue that we were able to handle with the old system that, for now, the new one has no answer to: clock loops. What I mean by a clock loop is any design intended to produce output pulses at a constant rate by feeding a Delay back into itself. Since we don't need Dual Links any more, such loops are a lot more compact than before, but we can't stop them. The only way to stop such a clock in the old system was with a Kill-Switch. Using an AND gate would just make the clock emit low pulses (value of 0) rather than high pulses. With the new system, the only way to stop this is to break the loop!

"Why is this a problem?", you might wonder, because weapons (the most likely use of a clock loop) only fire on a high signal. The issue is that the clock is still technically active, sending packets around and around until the logic is destroyed or the game is exited. It's still taking up time in the game's processing.

I acknowledge that the Kill-Switch doesn't really fit into the new logic design as we have it currently, because the two inputs behave differently and there's no way to show which input we're linking to on the one-stud bricks we have now. The Router gate has the same issue, and seems to have gained popularity as well despite being possible to (mostly) replace or imitate with the new system. I edited a screenshot into concept art for a revived Kill-Switch (top has in/out for signal, bottom is the control input), but I won't be hurt if you think it looks terrible and do something completely different :D

The alternative solution would be to adjust the behavior of the existing Logic Commands so that they output nothing if a change in their input would result in the same output state. I'm not sure how difficult this would be - I was able to take advantage of "input state memory" in the old system, but I don't know if the new system can do it too - but it would be helpful to newbies expecting nothing to happen when an AND gate has one low input and one toggling input.

Either way, I've written a wall of text so I should probably stop there. Hopefully I've made my case :lol:

User avatar
tsunamayo
Game developer
Posts: 201
Been thanked: 27 times

Mon Jun 04, 2018 7:22 am

ZachZent wrote:
Sun Jun 03, 2018 12:00 pm
Hello again

I have been talking on Discord and quite a few people prefer the old models. Though larger, it was much easier to see what was actually doing. Now I'm not suggesting change it back to the old models (minus the removal of some gate) as there are those who like the smaller model as well. For both crowds, I'd suggest put the models of the old one in a submenu of the new. Like the delay gate model for the new timer command in the submenu. For the gates, use the old and-or-not-XOR gate model (though with only one red button.) Perhaps the center color would change based on the one picked. Give it to the players and I am certain we would be able to model it without wasting your time.

You will find that people will have gripes about the new models especially from those who go into advanced logic and prefer seeing their work WITHOUT needing to see all the links. Let us model it for you if you want. No effort required

(Beware, real gripes are coming from actual logicteers :D )
There will always be people that prefer the old one, I am a bit like that myself so I can relate. I am a bit nostalgic of the old look as it was in the DNA of the game since the start, but frankly new gates are looking much better and are much better to visualize their use. Also no I cant/dont want to keep the old ones, we have to move forward.

User avatar
tsunamayo
Game developer
Posts: 201
Been thanked: 27 times

Mon Jun 04, 2018 7:25 am

Talrey wrote:
Mon Jun 04, 2018 6:30 am
Alright, I've had a bit more time to test out the "new" system - it's not really that much different, which was expected but good to confirm.

However, there's one long-standing issue that we were able to handle with the old system that, for now, the new one has no answer to: clock loops. What I mean by a clock loop is any design intended to produce output pulses at a constant rate by feeding a Delay back into itself. Since we don't need Dual Links any more, such loops are a lot more compact than before, but we can't stop them. The only way to stop such a clock in the old system was with a Kill-Switch. Using an AND gate would just make the clock emit low pulses (value of 0) rather than high pulses. With the new system, the only way to stop this is to break the loop!

"Why is this a problem?", you might wonder, because weapons (the most likely use of a clock loop) only fire on a high signal. The issue is that the clock is still technically active, sending packets around and around until the logic is destroyed or the game is exited. It's still taking up time in the game's processing.

I acknowledge that the Kill-Switch doesn't really fit into the new logic design as we have it currently, because the two inputs behave differently and there's no way to show which input we're linking to on the one-stud bricks we have now. The Router gate has the same issue, and seems to have gained popularity as well despite being possible to (mostly) replace or imitate with the new system. I edited a screenshot into concept art for a revived Kill-Switch (top has in/out for signal, bottom is the control input), but I won't be hurt if you think it looks terrible and do something completely different :D

The alternative solution would be to adjust the behavior of the existing Logic Commands so that they output nothing if a change in their input would result in the same output state. I'm not sure how difficult this would be - I was able to take advantage of "input state memory" in the old system, but I don't know if the new system can do it too - but it would be helpful to newbies expecting nothing to happen when an AND gate has one low input and one toggling input.

Either way, I've written a wall of text so I should probably stop there. Hopefully I've made my case :lol:
Yes so I will totally go to your alternative solution that was one of the reason I wanted binary, it makes execution simpler, no need for weird stuff like kill switch and so on. Just as of now as the old system is still there I cant really migrate to it fully, that is why I really need to unplug the legacy to finish the job (this is not the only thing left to do)

Doehg
Explorer
Posts: 4
Location: 'murica
Has thanked: 2 times
Been thanked: 1 time

Fri Jun 08, 2018 5:39 am

I bet someone has already said something about this, but idk I still will
logic systems are logic systems, but compressed logic systems are even better.
what I'd like is a block that allows you to take multiple inputs and give multiple outputs, using custom, contained logic taking up only one brick space. The ability to save these custom integrated circuits would be great, so if you need to do this one thing, like 20 times, and its pretty complex, you can do it just once, save the integrated circuit, then plop it down wherever you need it, plug in the needed inputs and outputs, and save a lot of space & time.
- Doehg, The Archivist

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests