== TABLE OF CONTENTS ==
== CHAPTER 1: Basics of Operation ==
This section will attempt to answer the question of how the Skywanderers logic system operates, as well as provide the groundwork for later exploration of the system's capabilities. I will use the term "circuit" to describe an arrangement of logic components due to the many parallels with real-life electronics, but there is no transmission of power and thus no need for a complete electrical "circuit" as such.
The shortest way to describe Skywanderers' logic system is that it is a "packet-based binary system with instantaneous transmission between tightly-coupled components," but what does that mean? Let's break it down:
- "packet-based": Each time a logic component wants to update, for example when a switch is flipped, the component decides what the new output value should be and sends a message to the logic network with that value. This is in stark contrast to the kind of system seen in real life and Minecraft, where the output value is a continous emission. However, the system will remember what the last input was, so there's no need to continuously repeat the signal - in effect, the system emulates real-life continuous signals without needing to continuously take up game processing time.
- "binary system": The system only supports two values, zero and one. I will sometimes refer to zero as a "low" or "off" signal and one as a "high" or "on" signal, a convention taken from the study of electronics in real life.
- "instantaneous transmission": Every time a packet is sent (that is, a component updates), any connected logic will receive and process that new data within the same game "tick" to update the entire circuit faster than the blink of an eye. This means it can be very difficult to predict which component will activate first when an output is connected to multiple inputs at once. It's easy to deal with this and create predictable ordering with delays, which we'll cover in the next chapter.
- "tightly-coupled components": In general, a component will only accept one input connection. A Button can flip two Switches, but two Buttons can't flip one Switch. There's a simple way around this, and the next chapter will discuss it at length.
There's one last critical step before the system will work, and that's to link it all up. Skywanderers has a dedicated "Link Tool" that looks like a white chevron (>>>) in the menu. This tool is quite handy: not only does it allow us to make and break links between components, but it visualizes all input and output links on a component by clicking on it. To create a link, click on the input component and drag your mouse. A holographic arc will appear and the game will produce a humming sound. The color of the arc, and the pitch of the hum, will change when you drag the mouse to a linkable component. Release the mouse to complete the link - the arc will disappear and you'll hear a chirp to confirm the link. If the link was unsuccessful, you'll hear a buzz instead. To confirm that the link is set, you can click on either component. To delete a link, simply drag from the input component to the output component again as if you were linking it a second time.
In the next chapter, we'll examine each brick component in the system and discuss their operation.
01JUN2019 - original post