#NOT Gate Logic
85 messages · Page 1 of 1 (latest)
null is considered as false for logic gates like described in the help texts, I don't think that's a bug
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.
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
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.
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.
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
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!
does the null output rule apply to other logic gates too?
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
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
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.
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?
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.
We does and we are also able to stack data in a wire which then represents your 32bit ... (signed or unsigned is here also something which doesnt matter). What are you talking about? Every bit in your signed or unsigned 32-Bit chain represents a True or False to another data vector.
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
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.
I think you misunderstand then, correct behavior would be null → 1, not null → null as described
NULL = undefined
undefined NOT = undefined
Thats how it works. Everything else is fantasy.
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)
Null is the representation for an empty shape here, and it only makes sense to treat an empty shape as false.
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.
does this make gameplay better if it were correct?
It will change nothing to the gameplay, but it will improve the possibilities beside it has also then educational value to play the game.
it does, though
It would break any MAM that uses a null to zero converter
how do you invert the output of a button?
Then is this a bad misconception, because when a machine like this is correct concepted does a change like this not break the machine.
NOT, because a Switch has everytimes a logical 0 or 1 when it doesnt has this then you need to build a comparator with P-Transistors where you derive the logical 0 and 1 from.
buttons output null, not 0
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.
NULL in shapez is not "undefined", it is defined as no signal.
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.
in logic, what is CuCuRuCu?
0010
as 1 signal?
yop
what's that && color-g then?
whait. 🙂
what is the integer 2 then?
this isn't pure boolean logic, it's a type unsafe language
CgCgRgCg = 0010.0000.0000
Its not
You had just no idea how things like this works.
you have your domain, i have mine
as can i
S2 inherits most of its logic from S1, which in turn inherits from javascript
!false === !0 === !null === !undefined
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.
you're moving the goalposts
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.
and the game doesn't have to reflect reality either, like said before
bug report - in reality launchers shouldn't work because there isn't enough gravity in space
But stick to scientifical proofed stuff were the game mechanic is derived from is wrong?
F = m * a
yeah, it's not because a game derives from reality that it has to copy it fully
Do what ever you like, but I understand now why a lot of german gamingstudios get concurse, because they dont understand the potential of there own products. I expected to find a person which thinks similar and has a similar education, but yeah ... I guess my exceptions here are was like so often too high. I guess, Im done here.
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
A wrote a suggestion. This here is not a suggestion its a bug from my viewpoint.
And I explained a lot why
intended behavior is not a bug, whether you agree with it or not
a bug is when the behavior doesn't match how the game says it's supposed to work
The intended behavior is about how logic gates work and this is wrong.
the intended behavior is dictated by the game, not real life or other external sources
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.
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.