1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Protoblocks (will add other electricity aspects later).

Discussion in 'Feature Suggestions' started by tetryds, Aug 17, 2014.

  1. tetryds

    tetryds cus tet, that's it

    • Member
    First of all, Protoblocks are not the only thing I will suggest over electricity, just the first and the most interesting.
    It is interesting because it is not like anything that you see on minecraft mods or anywhere else, so I guess I should start from it and update the other concepts with time.
    This also helps against tl;dr'ing, because when everything is here it will end up being a wonderwall of text.
    It is very important to mention where in tech the protoblocks lay, and on the full idea what I will suggest regarding tech is:

    testblocks -> gateblocks -> memoryblocks -> PROTOBLOCKS -> mega-protoblocks (if possible) -> hyperblocks -> computers -> supercomputers.

    As you see, protoblocks are right on the middle of the tech, and talking about it I instantly sort of explain all the others.
    Earlier tech is simpler and do less, but also consume less.
    Later tech gets more complex, consume more and require more resources.
    The stages "memoryblocks" and "hyperblocks" are slight variations of the ones which come before them, for instance hyperblocks can operate with clocks and allow memory cells.
    Computers don't work using gates but a programming language, I will talk about them later.

    Definition of protoblock:
    Well, basically a protoblock is a magic box, which works based on logic gates.
    On it, you have input nodes, the gate spots, and the output nodes.
    How much freedom you will have connecting those nodes will be up to what is feasible.
    That is simply because if you don't have feedback inside the protoblock you can just simulate all inputs and get the respective output super efficiently without even worying about how big is the line of logic gates going in there (you could just add delay to signal which pass thru several gates).

    To make it more simple to understand here is a layout of what you would see inside a protoblock:

    GND stands for ground, or "-", its the 0 volts reference.​

    The protoblocks will consume a constant ammount of energy, which depends only on the model not on what is inside.
    You can power the protoblock through the interface, so you can connect rows of blocks and only the first to a power supply and it will power all of them!
    So you don't need to bother with micromanaging cables for power, you just need to do it at the first one, but remember that it is only useful for very low power consumption devices, you can't connect interfaces to high demanding stuff (it would fry if you were able to do that, so better not).

    Also, this is just the begin, there is MUCH more to come ;)
    Last edited: Aug 17, 2014
    tetryds, Aug 17, 2014
    Last edited by tetryds; at Aug 17, 2014
    NeonSturm, jaxfrank and SpaceHippie like this.
  2. SpaceHippie

    SpaceHippie Reinvented The Wheel

    • Member
    So I can understand the tech progression.

    testblocks would be what? simple things like buttons and switches.
    gateblocks would be the most basic of logic gates. AND gates, OR, NOR, that kinda of stuff?
    memoryblocks would store a sequence I assume. But in what way?
    protoblocks basically work out into microprocessors right?
    hyperblocks are? Just more powerful protoblocks? A lot more options?
    computers are self explanatory. May I suggest LUA as a programming language. It's powerful, relatively simple, and the devs are going to use it modding in game. So it's available and the people inclined to write programs are more likely to know it or willing to learn it.

    All and all I like this idea. It's still a little rough but there is a lot of potential for players building immense and impressive creations. Keeping right in line with the sandbox nature of the game.
    Last edited: Aug 18, 2014
    SpaceHippie, Aug 18, 2014
    Last edited by SpaceHippie; at Aug 18, 2014
  3. Danarkivus-2

    Danarkivus-2 Back Into Space

    • Member
    that seams like a good idea.
  4. ThatOneGuy

    ThatOneGuy Reinvented The Wheel

    • Member
    I like the idea.
  5. SpaceHippie

    SpaceHippie Reinvented The Wheel

    • Member
    Oh and for clarification. Is that the intended, or at least roughly, GUI for the protoblock?

    I assume the blue squares are where different logic gates can be placed. Nothing hardwired.

    And why the NOT gate that seems to be hard wired?

    In your example it does not show the +5V connected to any outputs or the GND. Could you show us an example of a properly wired protoblock and walk us through a simple procedure. It doesn't even have to use all the slots.
  6. tetryds

    tetryds cus tet, that's it

    • Member
    You got most of the blocks right, only the memory block is a latch (of several kinds).

    That would be roughly like the GUI you will see when messing with the protoblock, yes.
    You don't need to connect anything to +5V or GND because they are just power lines.
    "Behind" that, all the gates are connected to the power through the switch, and properly grounded, I don't think it's important to add that because it would be just a bunch of wires.
    That is one example of the infinite kinds of protoblocks you can have, and it has hardwired NOT gates because its the + variation.
    The normal variation won't have the NOT, and only one output per gate.

    A procedure to wire is:
    -Drag and drop the gates on the blue spots.
    -Click one spot.
    -Click other spot.
    -Wire created, repeat.
    -Turn it on.

    I still didn't mention how you input or output stuff on them, will talk about that later.

    It would be possible to make it prone to mistakes like if you leave it on and remove or place the gate allowing it to burn.
    But that is not up to me, I just like the fact that you can turn it off to prevent issues or test it correctly.
  7. SpaceHippie

    SpaceHippie Reinvented The Wheel

    • Member
    Okay, cool. That makes sense.

    May I suggest that instead of the visual wires from the inputs and outputs to there varius connection that the dots next to the blue squares be numbered instead. It feels like the green lines could get 'messy'.
  8. Benjamin

    Benjamin Lead Developer

    • Dev Leader
    I like this idea, it allows for complex functionality to be added without masses of transistor and wire blocks, and it allows us to simulate a group of logic gates in a single step since we can cache the outputs of the block.
  9. tetryds

    tetryds cus tet, that's it

    • Member
    Like get rid of the wires?
    No, but adding the input number to the input could work.
    The thing is that if you make it messy its your fault, so wiring management is a thing, and it's not that complicated, really.

    Thus, I can also suggest being able to move the gates around but keep the wiring, so you could move them and fit in a way it's better, but that is not super necessary.

    Thanks Ben, then it's even simpler than I thought.
    Now I just need to figure out how feedbacks could work without requiring something specific for memory cells (which is ok, but freedom is nice).
    tetryds, Aug 18, 2014
    Last edited by tetryds; at Aug 18, 2014
  10. SpaceHippie

    SpaceHippie Reinvented The Wheel

    • Member
    No, I meant the numbering thing. We want wires. I just meant the visual on the GUI be numbered instead of the green lines from the inputs and outputs to the gates.

    Edit: will the individual gates by placeable as well? Like at first you just have the gates, then as your tech evolves to the next level you 'figure out' how to make the protoblocks. So you don't use the individual gates anymore.
    SpaceHippie, Aug 18, 2014
    Last edited by SpaceHippie; at Aug 18, 2014
  11. tetryds

    tetryds cus tet, that's it

    • Member
    Ah, like adding the number on the pin respective to what it is connected to?
    The green lines are wires and I like them a lot, lol.
    tetryds, Aug 18, 2014
    Last edited by tetryds; at Aug 18, 2014
  12. SpaceHippie

    SpaceHippie Reinvented The Wheel

    • Member
    It's your idea:D
  13. tetryds

    tetryds cus tet, that's it

    • Member
    No, really, it would be unfeasible without the wires.
    I made the first row only because I don't even know how to make the second.
    I was going to number again, but the fact that 5 is connected to 5 screwed it up.
    Using your brain you can tell its not that complicated.
    But look again at the wired one and its infinitelly easier.
    Even though I used the colors on the numbers, removing the wiring is a really bad idea.
    We could have colored wires though, but I don't think its super necessary.
    Here is what happens
  14. PsychoticLeprechaun

    PsychoticLeprechaun Designer & Web Developer

    • Dev Member
    I really like the idea of this! I love playing with logic gates, and bringing them in to a single block would make life so so much easier for the player. Great work @tetryds!
  15. tetryds

    tetryds cus tet, that's it

    • Member
    Hit the frkin like button :p
    Joke (not lie though, go hit it now), good that everyone likes it, I will bring more stuff about other electricity aspects soon.
    If you think that a pair of gates on a block is cool you seen nothing.
  16. SpaceHippie

    SpaceHippie Reinvented The Wheel

    • Member
    @tetryds You're right when I look at it. If it's numbered then you have to have a number and a designation for input or output. And that would get messy. So the lines work.;)
  17. jessenic

    jessenic Web Developer

    • Dev Member
    • Lead Moderator
    • Moderator
    Hmm, I like the idea, but creating a simple FBD (Function Block Diagram) drawing surface (Or even Ladder, I hate ladder though) like the Crouzet Millenium 3 software or Siemens LOGO!Soft Comfort software do might be more flexible for the player and allows creating so much more. The block could be even called a PLC (Programmable logic controller) block. Also I dislike the US ANSI symbols for logic gates and prefer the IEC symbols used in most parts of the world. May be because that's what I've been taught at school, but still... :D

    Also, do we want to have separate positive and negative wires? Or do it the Minecraft-way with no ground at all. No ground would be enough for digital electronics if you ask me.
    jessenic, Aug 23, 2014
    Last edited by jessenic; at Aug 23, 2014
  18. tetryds

    tetryds cus tet, that's it

    • Member
    If you use "no ground" you are not dealing with electricity.
    In fact, you don't transmit power through gates, you use relays or buffers when you use gates to deal with anything power related.
    So you need the signal, a power suply and the reference.
    And it's as simple as that the signal 1 represents 5v and 0 represents 0v.
    What I mean is that it's already internally referenced.
    I know that several interfaces don't work like that, but we don't need more than that, we don't even have noise.

    Yes, those diagrams would be more flexible, and it would be somewhat what hyperblocks are supposed to do.
    But on real life you don't have infinite room to place the gates anywhere you wish, if you want it modular you pick a protoboard.
    But even with protoboards it doesn't work like that, you have integrated circuits for the gates, and wiring them can be a hell if you are not used to it.
    Mega-protoblocks are protoblocks in more than one row, for example having 3 or 4 protoblocks in sequence.
    Hyperblocks would be modular, it would be like having one or more spots, and each of the spots is a mega-protoblock.
    You then would be able to wire them at will, connecting output of one internal m-proto to the input of another.
    And you also have the option to add an internal clock to them, to coordinate.

    About FBDs, I don't think that we need to deal with analogic signal simulations, that's way too much.
    If you talking about with dealing with pure digital systems using FDB, we could have something past hyperblocks like that, but it looks like it will be very complicated to implement.
    And it would makes things too easy to deal with, making all previous ones useless when you get it.

    But minecraft way is bad and shameful.
    It distorts how these systems work in real life really hard, so much that it gets to a harmful point for kids.
    It's also buggy, glitchy, laggy and extremelly limited.
    SoA can do much better than that.

    About the graphics, it's not up to me, that is up to you devs :)
    It would be fine to have both, and perfect if switchable.
    tetryds, Aug 23, 2014
    Last edited by tetryds; at Aug 23, 2014
  19. Arctic

    Arctic Giant Robot Advocate

    • Tester
    The whole thing or at least a superior version could be replaced by a programmable truth table. No computing effort needed, and as efficient as it gets. Might be a tad hard to program though.

    That id, for the player. For Ben this is literally as easy as it gets.
    Arctic, Aug 23, 2014
    Last edited by Arctic; at Aug 23, 2014

Share This Page