#NOT Gate Logic

85 messages · Page 1 of 1 (latest)

vital relic
#

When a NOT Gate has no connection on its origin is the input not a logical 0. Its undefined and this also produces an undefined signal.
Since NULL is not 0 in the Game is the right solution:
0 ≠ NULL

¬ 0 = 1
¬ 1 = 0
¬ NULL = NULL

calm island
#

null is considered as false for logic gates like described in the help texts, I don't think that's a bug

vital relic
# calm island null is considered as false for logic gates like described in the help texts, I ...

Right and this is the right behavior of a NOT Gate. You cant take a NOT Gate connect the output and think you will get a logical 1. You will get "undefined" which is in this context the same as "NULL". This is how it works in reality.
Same problem on the transistors. When a P-Transistor is closed will you not get a logical 0 or 1. You will get a "undefined". In reality did you need a pull-resistor which pulls the signal to a logical 0 as long as the signal is undefined.

I dont want bothering or something. Its just about correctness, because this game can be easily used to teach young people about electronics, but just when everything about the logics is correct.

calm island
#

the goal of the game isn't to provide realistic wires and teach people about electronics, the game is about building shapes and wires were just added to make the end game more interesting by allowing for automation

vital relic
# calm island the goal of the game isn't to provide realistic wires and teach people about ele...

It has nothing to do with realistics. It has to do with correctnes in a scientifical field. You show young people a wrong usage of electronics this is my case more problematic as not to want that this is software is used for educational purposes. When you make a game about Math and its suitable for minors and there are many mathematical wrong concepts did you teach people a lot of fails which they claim are true. This is called Media Competencies.

Also can this statement that the electronics is about the late game not be true or is a misconception because you can purchase the electronics then too early.

ruby narwhal
#

You can maybe write a mod to make it more realistic? ^^

vital relic
# ruby narwhal You can maybe write a mod to make it more realistic? ^^

Wow .... seriously? I modded so many games. Im sick about to correct fails which are included in software, because the developer is not able to change a single line in code to make the stuff working like it is intended.

The Game has:
0 = 0
1 = 1
NULL = Undefined
Conflict = False

So we got everything to make that correct.

calm island
#

again, why is the behavior you're suggesting supposed to be correct ? the game doesn't aim to be realistic, it can work however it wants

vital relic
#

Thats a shame for a game which was payed from my earned money and taxes. So the discussion is ended and the bug stays a bug. Good Job!

wheat sail
#

coming from S1, that logic seems weird - conflict input returns null on all gates (different from S2), but null input is indistinguishable from false

#

doubly problematic since buttons output 1/null rather than 1/0

calm island
#

yeah null is considered as false for all logic gates, to me it's just a different way of working, and the fact that a lot of people have been using wires since they were added and that that point is rarely brought up also comforts the idea that it's just a set of rules you have to get used to and that change depending in which context they're used

vital relic
#

Null is considered as false? ... wow ... Im speechless. An why the behavior I suggest is supposed to be correct is this: https://en.wikipedia.org/wiki/Logic_gate & this: https://en.wikipedia.org/wiki/Logic_level

Its not an idea from me. Its how stuff like this works and it does not work like it is shown in the game. A current needs a defined value or the circuit cant work or break. This is not something which is interesting, but how logic levels work is interesting. When you define a logical 0 at -3V and a logical 1 at +3V and you send fo example +0.6V to a logic gate will you get "undefined", because the logic gate has defined levels on other currents. False did you just get when 2 different bits in a wire colides together.

frank beacon
#

The NOT gate has a pulldown resistor on its input. Just make up whatever head canon you need to make the current behavior feel "realistic"...

#

And we aren't dealing with true and false here. There are all 32 bit signed integers other than 0 and 1 too.

#

What voltage level are shape signals?

vital relic
#

Choose one. Normal working voltage is in most cases like your computer. +9V & -9V.

#

The current dont play a tube in this scenario, because an engineer can decide which voltage currents he wants to use to define the logical levels.

#

But, the behavior of the logic gates and underlaying logic must be correct. Also how the signals are getten used. NULL cant be false. Its completely wrong defined.

vital relic
frank beacon
#

Why are you complaining about voltage levels when the signals are way more complex than binary? Again make up whatever you want to make null behave like false. Perhaps there is a "sense" pin in addition to the countless data pins needed to carry shape signals.

#

FWIW, I think the game would be much worse if null would be propagated in logic gates

vital relic
# frank beacon Why are you complaining about voltage levels when the signals are way more compl...

Did you read the wiki article? Guess not, because the answer to your question is written down there. I dont complain about the voltage level. It shows how signals gets engineerd defined and how they get interpreted. Also why they get used like it is and why NULL cant be FALSE.
There arent more complex as binary. Guy, what are you talking about? You dont need countless data pins ... I can decode you a 64-Bit Integer in a single Signal in this game.

wheat sail
vital relic
wheat sail
#

maybe i misunderstood then, but null → null doesn't make sense in the context of the game, even if it doesn't align with reality

#

gates need to be able to handle weird values like shapes & colors, not just voltage values

#

it's more like programming in that sense (S1 gates were literally just javascript operators as buildings)

frank beacon
#

Null is the representation for an empty shape here, and it only makes sense to treat an empty shape as false.

vital relic
# frank beacon Null is the representation for an empty shape here, and it only makes sense to t...

Where makes this sense? When the input is empty is this called 0 for a good reason and not NULL. NULL means in the most programming languages an empty UNDEFINED variable, because NULL has no datatype since it dont need memory to get processed. So an empty Shape is then a logical 0 and nothing else, because when you make yourself the work to decode every possible shape in binary will you see why this is correct.

wheat sail
#

does this make gameplay better if it were correct?

vital relic
wheat sail
#

it does, though

frank beacon
#

It would break any MAM that uses a null to zero converter

wheat sail
#

how do you invert the output of a button?

vital relic
vital relic
wheat sail
#

buttons output null, not 0

vital relic
#

this is wrong. And I can say you why. Your case is just right when the button itself is not connected to a current like our scenario with the NOT Gate.

frank beacon
#

NULL in shapez is not "undefined", it is defined as no signal.

vital relic
#

Also when the button outputs NULL instead of 0 did you need a comperator which is not really hard to built. It just need 2 transistors and 2 signal generators to solve it.

#

Right!

#

Undefined and no signal is the same in logics.

#

So when a NOT gate has no Input then is this an undefined signal and this also what the NOT Gate would generate on the output.

wheat sail
#

in logic, what is CuCuRuCu?

vital relic
#

0010

wheat sail
#

as 1 signal?

vital relic
#

yop

wheat sail
#

what's that && color-g then?

vital relic
#

whait. 🙂

frank beacon
wheat sail
#

this isn't pure boolean logic, it's a type unsafe language

vital relic
#

CgCgRgCg = 0010.0000.0000

#

Its not

#

You had just no idea how things like this works.

wheat sail
#

you have your domain, i have mine

vital relic
#

But I can proof mine

#

Thats the difference.

wheat sail
#

as can i

#

S2 inherits most of its logic from S1, which in turn inherits from javascript

vital relic
#

Haha, a signed 0 XDDDDDDDD

#

Never seen such a garbage.

wheat sail
#

!false === !0 === !null === !undefined

vital relic
#

Javascript is a interpreter language for a machine which doesnt exist. Its just a fantasy language for a fantasy machine which was never build and will never be.

#

Try Assembly instead.

wheat sail
#

you're moving the goalposts

vital relic
#

No, you do

#

You try to derive your idea from a computer language for a CPU which was never build and will never be. So some concepts there may work here, but this doesnt reflect the reality.

calm island
#

and the game doesn't have to reflect reality either, like said before

wheat sail
#

bug report - in reality launchers shouldn't work because there isn't enough gravity in space

vital relic
calm island
#

yeah, it's not because a game derives from reality that it has to copy it fully

vital relic
wheat sail
#

this should have probably been stated before, but you're more than welcome to post a suggestion regarding this to receive feedback and a chance to change gate behavior

vital relic
#

And I explained a lot why

wheat sail
#

intended behavior is not a bug, whether you agree with it or not

calm island
#

a bug is when the behavior doesn't match how the game says it's supposed to work

vital relic
calm island
#

the intended behavior is dictated by the game, not real life or other external sources

vital relic
#

You can this talking nicely nicely as you want, but its a bug from any engineering viewpoint. When you not want to adress this as bug then is this your problem. I see forward when this topic get revived by others which complain about the same bug.

nova matrix
#

Thanks for the report! This behavior is working as intended.

Everything else is fantasy.
Exactly! 🙂

Shapez 2 is a game, not an electric circuit simulator (ECS), so we are not necessarily striving for any sort of objectively realistic "correctness"; just what we (and the community) find fun. Wherever possible, staying consistent from one version to another is also important.